首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

项目支配和维护常用的linux命令使用记录(不断更新中)

2012-07-18 
项目部署和维护常用的linux命令使用记录(不断更新中)一、cat命令cat命令用来读取短文件非常方便(如果一个文

项目部署和维护常用的linux命令使用记录(不断更新中)

一、cat命令

cat命令用来读取短文件非常方便(如果一个文件非常大的时候,用页命令如more、less、head、tail是比较方便的)

参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行

用法:(1)一次显示整个文件,用cat命令查看文件:$ cat test.log

???????? (2)$ cat -n test.log:在查看的时候加上行号

???????? (3)可以使用通配符:$ cat -n *.log,把所有的log文件都显示出来(顺序显示)
???????????????? 也可以这样:$ cat -n test.log test1.log test2.log;结果用通配符输出结果是完全一样的

?????????(4)与重定向操作符(>)一起使用,用于合并文件:$ cat test.log>> test1.log,这样就把test.log合并到

????????????????? test1.log后面去了,合并的时候注意顺序,不能搞错。

??????????????? cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
??????????????? cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)

????????????????之后将内容附加到 textfile3 里

????????? (5)从键盘创建一个文件。$ cat? >? filename 只能创建新文件,不能编辑已有文件

???????????????? 使用cat命令新建一个文件并通过键盘直接向文件中输入内容:$ cat > myfile.php

?????????????????输入完成以后使用ctrl+d来保存并退出文件

?????????? (6)cat ?/dev/null > /etc/test.txt 此为清空/etc/test.txt内容

二、more命令

?????? 显示输出的内容、分页显示、提示文件的百分比

??????? more [参数选项] [文件]

??????? 参数如下

????????+num???????? 从第num行开始显示;
????????-num????????? 定义屏幕大小,为num行;
????????-c?????????????? 从顶部清屏然后显示;
????????-d????????????? 提示Press space to continue, 'q' to quit.(按空格继续,按q键退出,禁用响铃功能);?
??????? -p??????????????通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;??
????????-s?????????????? 把连续的多个空行显示为一行;
??????? +/pattern?????? 从第一个pattern 单词前两行开始显示

?????? 参数举例:

????? more +4 /etc/profile????从profile的第4行开始显示;
????? more -4 /etc/profile?????每屏显示4行;

????? more -dc /etc/profile??? 显示提示,并从终端或控制台顶部显示

????? more +/MAIL /etc/profile????从profile中的第一个MAIL单词的前两行开始显示;

?

???? more 的动作指令

???? 退出more的动作指令是q

?????我们查看一个内容较大的文件时,ctrl+f(或空格键)是向下显示一屏,ctrl+b是返回上一屏

???? Enter键可以向下滚动显示n行,n自定义,默认为1行

???? v?????调用vi编辑器

?

?? 三、 less命令

???? less 与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页

??? 区别:

??? 1)more:以百分比的形式分页显示,提示给用户已经显示了多少内容

???????? less:没有百分比的提示

??? 2)less更加灵活,不仅可以有more的相同的翻页键,还可以通过【page down】【page up】上翻下翻页查看

??????? 已经显示出的内容,而more不具备

??? 3)对less显示出的内容中可以使用 /'字符' 输入需要查找的字符或者字符串并高亮显示,而more 不具备

?

??? less搜索

???? 当使用命令 less filename打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会

???? 被高亮显示。

??? 向前搜索

??? / - 使用一个模式进行搜索,并定位到下一个匹配的文本

??? n - 向前查找下一个匹配的文本

????N - 向后查找前一个匹配的文本

?

??? 向后搜索

??? ? - 使用模式进行搜索,并定位到前一个匹配的文本

??? n - 向后查找下一个匹配的文本

????N - 向前查找前一个匹配的文本

?

??? v - 使用配置的编辑器编辑当前文件

??? 退出less命令 按q键

?

??? 浏览多个文件

??? 方式一,传递多个参数给 less,就能浏览多个文件。less file1 file2

??? 方式二,正在浏览一个文件时,使用 :e 打开另一个文件。less file1?? :e file2

????当打开多个文件时,使用如下命令在多个文件之间切换?

??? :n - 浏览下一个文件(next下一个)

????:p - 浏览前一个文件(prev上一个)

?

??? 三、head命令和tail命令

????????? head -n? 100 ?test.log?? 显示test.log前100行,若不加参数-n就默认输出前面十行

????????? tail -n 100 test.log?? 显示test.log最后100行

???????? ?tail -f? runlog.log?? 可以实时的显示新追加到文件中的信息,常用来跟踪日志文件?

??????? (执行del、ctrl-C、ctrl-X、ctrl-\均可以退出实时显示)

?

?? 四、grep查找命令

???????? grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是?

?? Global Regular Expression Print,表示全局正则表达式版本(打印与指定模式匹配的所有行)

?? grep [options]主要参数:

?? -n:显示匹配行及行号

?? -i:不区分大小写(只适用于单字符 默认情况区分大小写)

?? - x:输出完全匹配的内容

?? pattern正则表达式

? [ ]:单个字符,如[A]即A符合要求 。
? [ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
?? .? :匹配一个字符(所有的单个字符)。
?? * :匹配0或多个字符。

?? 举例:

?????? $ grep ‘test’ d*???? 显示所有以d开头的文件中包含 test的行。
?????? $ grep ‘test’ aa bb cc??? 显示在aa,bb,cc文件中匹配test的行。

?????? $ more log.txt | grep -i 'error'? 显示在log.txt中匹配error或ERROR的行

?

?? 五、查看进程ps命令

???????? ps命令是linex下查看进程最常用的命令,用于查看和监控后台进程的工作情况

???????? 参数:

?????????-e??:显示所有的进程

?????????-a?:显示终端上所有的进程,包括其他用户的进程(all)

???????? -u : 显示有效使用者 (effective user) 相关的进程

???? -x :通常与 a 这个参数一起使用,可列出较完整信息

???????? -f??:全格式显示(full) 做一个更为完整的输出

?????????-l??:?长格式显示(long)较长、较详细的将该 PID 的的信息列出

?????最常用的参数是aux

???? 举例:

???? ps aux?

???? 显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
???? ps -ef|grep java 是用标准的格式显示含有java的进程
???? 显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD

?

? 六、中止进程kill命令

?????中止进程首先要知道进程ID(PID),用ps -ef查看一下PID,然后kill pid,这是最简单的用法

?????参数:

?????-s:指定发送的信号(signal),其中可用的信号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑,

????????? 砍掉, 结束; 详细的信号可以用 kill -l

???? kill -Signal pid

???? 经常看到kill -9 pid,用于强行中止进程(即杀死进程)

????这个-9表示什么意思呢?9是信号量,kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个进

??? 程标识号,然后内核对进程标识号指定的进程进行操作。所以kill实际上是用来发送信号量给进程。可以通过

??? man kill查看信号量列表。TERM(或数字9)表示“无条件终止”;因此 kill - 9 表示强制杀死该进程;?
??? 而单独的kill则有局限性,例如后台进程,守护进程等;

?

????停止和重启进程

??? 有时候只想简单地停止和重启进程,可以用命令:kill -HUP pid 或者kill -1(数字1) pid

??? 该命令让linux内核和缓地执行进程关闭,然后立即重新启动该进程,在配置应用程序时这个命令很方便

??? 对配置文件做修改后需要使之生效就可以使用该命令重启进程即可。

?

??? 最好在使用完kill -9命令后,再用free命令回收内存(kill -9突然中止运行的进程

????中止后不能自我清理,导致系统?资源无法释放)

??? 例:$ kill -9 XXX?

??????? $ free

??????? 其中,XXX是无用的进程标识号。然后使用下面命令:$ free 此时会发现可用内存容量增加了。
????TERM信号:给父进程发送一个TERM信号,试图杀死它和它的子进程? 如 $ kill -TERM pid

???

???

??? Linux下还提供了一个? killall命令

??? killall 杀死同一进程组内所有的进程,并且允许使用进程名而不是进程ID指定要终止的进程

??? 例如:$ killall?httpd???

?

七、who命令

???? 该命令主要用于查看当前在线上的用户情况

???? 这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。

?????who命令显示以下信息

???? ebpp???? pts/0??????? 2011-12-26 14:20 (144.131.254.134)
???? ebpp???? pts/1??????? 2011-12-26 17:06 (172.16.26.23)

????? 第一列是登录用户的帐号;

????? 第二列是登录所使用的终端;

??????第三列是登录时间;

??????第四列是用户从什么地方登录的网络地址,这里是域名。

????? 参数

???????? -m 和“who am i”的作用一样,显示运行该程序的用户名

?????????-q??? count 只显示用户的登录帐号和登录用户的数量

?

八、netstat命令

? ? ?Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连

? ? ?接情况。利用netstat命令可以得知整个Linux系统的网络情况

?

常用参数:

netstat -a ??本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
netstat -n ??显示所有已建立的有效连接。

例子:netstat

显示结果:

Proto??Local Address? ?? ?? ? Foreign Address? ?? ???State
TCP? ? Eagle:2929? ?? ?? ?? ? 219.137.227.10:4899? ? ESTABLISHED
协议(Proto):指是传输层通讯协议
本地机器名(Local??Address):Eagle,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929)? ?
远程机器名(Foreign??Address):219.137.227.10
远程端口:4899??
状态:ESTABLISHED?

?

如何只查询tomcat的连接呢?

netstat -na|grep ESTAB|grep 80|wc -l

netstat -na|grep ESTAB|grep 8080|wc -l

热点排行