完美介绍linux环境变量与部分命令
linux环境变量介绍
环境变量:bashshell用一个称作“环境变量(environmentvariables)”的特性来存储有关shell会话和工作环境的信息,它允许你在内存中存储数据,以便运行在shell上的程序和脚本访问,这些数据可以用来识别用户、账户、系统、shell特性以及任何其他你需要存储的数据。
shell中的环境变量有全局环境变量和局部环境变量,通过KV(variable=value)的形式声明一个局部变量,export这个局部变量,则升级成为全局环境变量。
关于linux的设置,有很多方法,可能大家会有所混淆。例如:
1、你知道/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc的区别吗?
2、Linux中rc.local、init.d、init、rc.d等文件的作用和区别是什么?
看到这些,不免有些头大,今天就简单的整理一下!
/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行并从/etc/profile.d目录的配置文件中搜集shell的设置。 /etc/bashrc:为每一个运行bashshell的用户执行此文件.当bashshell被打开时,该文件被读取。 ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。 ~/.bashrc:该文件包含专用于你的bashshell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
区别:
/etc/profile,/etc/bashrc是系统全局环境变量设定 ~/.profile,~/.bashrc用户目录下的私有环境变量设定
读取环境变量一般有三步:
一、读入的是全局环境变量设定的文档/etc/profile,然后根据其内容读取额外的设定的文档,如/etc/profile.d和/etc/inputrc 二、根据不同使用者帐号,去其他目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系 三、最后再根据用户帐号读取~/.bashrc
~/.profile与~/.bashrc相同点:
都具有个性化定制功能 ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次 ~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shellscript的执行都会使用它一次
rc.local、init.d、init、rc.d
init文件名,指的是系统启动的第一个脚本 init.d目录名,目录内放的是各个服务的启动脚本,比如sshd、httpd等 rcX.d目录名,后面的X代表着每个运行级别。目录内有每个服务在init.d内启动脚本的链接文件,根据链接文件的名字来的启动状态。K开头表示不启动服务,S打头表示启动服务,X取值0~6(rc.d,rc,rc0.d,rc6.d等等) rc.local链接文件,指到/etc/rc.d/rc.local。是系统初始化及服务均启动完毕后,最后执行的一个脚本,一些简单的脚本可以放到其中
linux部分命令介绍
netstat
Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(InterfaceStatistics),masquerade连接,多播成员(MulticastMemberships)等等。
常见参数 -a(all)显示所有选项,默认不显示LISTEN相关 -t(tcp)仅显示tcp相关选项 -u(udp)仅显示udp相关选项 -n拒绝显示别名,能显示数字的全部转化成数字。 -l仅列出有在Listen(监听)的服務状态 -p显示建立相关链接的程序名 -r显示路由信息,路由表 -e显示扩展信息,例如uid等 -s按各个协议进行统计 -c每隔一个固定时间,执行该netstat命令。 提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到
ll命令
ll命令列出的信息更加详细,有时间,是否可读写等信息。
ll会列出该文件下的所有文件信息,包括隐藏的文件,而ls-l只列出显式文件,说明这两个命令还是不等同的!
ps命令
该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:
-A:所有的进程均显示出来 -a:不与terminal有关的所有进程 -u:有效用户的相关进程 -x:一般与a参数一起使用,可列出较完整的信息 -l:较长,较详细地将PID的信息列出
其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:
psaux#查看系统所有的进程数据 psax#查看不与terminal有关的所有进程 ps-lA#查看系统所有的进程数据 psaxjf#查看连同一部分进程树状态
kill命令
该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:
kill-signalPID
signal的常用参数如下:
注:最前面的数字为信号的代号,使用时可以用代号代替相应的信号。
1:SIGHUP,启动被终止的进程 2:SIGINT,相当于输入ctrl+c,中断一个程序的进行 9:SIGKILL,强制中断一个进程的进行 15:SIGTERM,以正常的结束进程方式来终止进程 17:SIGSTOP,相当于输入ctrl+z,暂停一个进程的进行
例如:以正常的结束进程方式来终于第一个后台工作,可用jobs命令查看后台中的第一个工作进程
kill-SIGTERM%1
重新改动进程ID为PID的进程,PID可用ps命令通过管道命令加上grep命令进行筛选获得
kill-SIGHUPPID
wget
1、使用wget下载单个文件
wgethttp://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz
2、使用wget-O下载并以不同的文件名保存
wget-Ohaorooms.ziphttp://www.haorooms.com/download.php?id=1080
3、使用wget–limit-rate限速下载当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。
wget–limit-rate=300khttp://cn.wordpress.org/wordpress-3.1-zh_CN.zip
4、使用wget-c断点续传使用wget-c重新启动下载中断的文件:
wget-chttp://www.haorooms.com/haorooms-3.1-zh_CN.zip
对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。
5、使用wget-b后台下载对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。
wget-bhttp://www.haorooms.com/haorooms-3.1-zh_CN.zip Continuinginbackground,pid1840. Outputwillbewrittento`wget-log'.
你可以使用以下命令来察看下载进度
tail-fwget-log
tail命令
tail命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail-ffilename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
1.命令格式;
tail[必要参数][选择参数][文件]
2.命令功能:
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
3.命令参数:
-f循环读取 -q不显示处理信息 -v显示详细的处理信息 -c<数目>显示的字节数 -n<行数>显示行数 --pid=PID与-f合用,表示在进程ID,PID死掉之后结束. -q,--quiet,--silent从不输出给出文件名的首部 -s,--sleep-interval=S与-f合用,表示在每次反复的间隔休眠S秒
下面的命令是显示文件末尾5行
tail-n5log2014.log
curl命令
可以查看网站,也可以下载文件!
在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。
语法:
curl[option][url]
常见参数:
-A/--user-agent<string>设置用户代理发送给服务器 -b/--cookie<name=string/file>cookie字符串或文件读取位置 -c/--cookie-jar<file>操作结束后把cookie写入到这个文件中 -C/--continue-at<offset>断点续转 -D/--dump-header<file>把header信息写入到该文件中 -e/--referer来源网址 -f/--fail连接失败时不显示http错误 -o/--output把输出写到该文件中 -O/--remote-name把输出写到该文件中,保留远程文件的文件名 -r/--range<range>检索来自HTTP/1.1或FTP服务器字节范围 -s/--silent静音模式。不输出任何东西 -T/--upload-file<file>上传文件 -u/--user<user[:password]>设置服务器的用户和密码 -w/--write-out[format]什么输出完成后 -x/--proxy<host[:port]>在给定的端口上使用HTTP代理 -#/--progress-bar进度条显示当前的传送状态
小结
关于环境变量与命令就介绍到这,其实linux命令还有很多,上面的命令是我经常用到的,给有需要的朋友参考。