Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

linux环境变量和部分命令介绍 #206

Open
confidence68 opened this issue Jun 28, 2016 · 0 comments
Open

linux环境变量和部分命令介绍 #206

confidence68 opened this issue Jun 28, 2016 · 0 comments

Comments

@confidence68
Copy link
Owner

confidence68 commented Jun 28, 2016

前言

关于linux操作和命令,我之前写了一篇文章CentOS常用的文件操作命令总结,关于文件操作的,但是这些感觉还不够,今天再来补充一些,希望对大家有所帮助!

linux环境变量

window环境变量,大家应该都晓得。关于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:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。


~/.bashrc:该文件包含专用于你的bash shell的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也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

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部分命令介绍

关于文件操作命令,请看我之前的文章:

文件操作命令:http://www.haorooms.com/post/3m

netstat

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常见参数
-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只列出显式文件,说明这两个命令还是不等同的!关于ls请看之前的http://www.haorooms.com/post/3m

ps命令

该命令用于将某个时间点的进程运行情况选取下来并输出,process之意,它的常用参数如下:

-A :所有的进程均显示出来
-a :不与terminal有关的所有进程
-u :有效用户的相关进程
-x :一般与a参数一起使用,可列出较完整的信息
-l :较长,较详细地将PID的信息列出

其实我们只要记住ps一般使用的命令参数搭配即可,它们并不多,如下:

ps aux # 查看系统所有的进程数据
ps ax # 查看不与terminal有关的所有进程
ps -lA # 查看系统所有的进程数据
ps axjf # 查看连同一部分进程树状态

kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号,它通常与ps和jobs命令一起使用,它的基本语法如下:

kill -signal PID  

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 -SIGHUP PID  

wget

1、使用wget下载单个文件

wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz

2、使用wget -O下载并以不同的文件名保存

wget -O haorooms.zip  http://www.haorooms.com/download.php?id=1080 

3、使用wget –limit -rate限速下载
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 

4、使用wget -c断点续传 使用wget -c重新启动下载中断的文件:

wget -c http://www.haorooms.com/haorooms-3.1-zh_CN.zip 

对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

5、使用wget -b后台下载
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。

wget -b http://www.haorooms.com/haorooms-3.1-zh_CN.zip

Continuing in background, pid 1840. 
Output will be written to `wget-log’. 

你可以使用以下命令来察看下载进度

tail -f wget-log 

tail 命令

tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把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 -n 5 log2014.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命令还有很多。这里就不再总结了,后面有时间再完善!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant