Linux常用命令整理
本文是本人学习linux阶段对shell程序设计常用的命令进行整理。
- who:
列出当前用户的相关信息 - echo:
echo命令将命令行中的参数显示到标准输出(屏幕)上
$echo Happy new year !
Happy new year !
-
date命令
显示时间 -
clear命令
清空屏幕,指示符移到左上角 -
cat命令:
两个功能,一是显示文件的内容,依次读取由参数file指明的文件,将它们的内容输出到屏幕上;二是连接两个或多个文件。
$cat m1 //显示m1
$cat m1 m2 //显示m1 m2
$cat m1 m2>file1 //合并文件m1 m2,放到文件file1中
- grep命令
grep命令组在文件中查找指定模式的词或短语,并在标准输出设备上显示包括给定字符串模式的所有行
grep命令选项表
-i:在搜索时忽略大小写
-n:显示结果所在行号
-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数
-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行
-v:输出不带关键字的行(反向查询,反向匹配)
-w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配
-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after
-Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行,B:befor
-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行,C:context
-e:实现多个选项的匹配,逻辑or关系
-q:静默模式,不输出任何信息,当我们之关心有没有匹配到,却不关心匹配到什么内容时,我们可以使用此命令,然后,使用”echo $?“查看是否匹配到,0表示匹配到,1表示没有匹配到。
-E:使用扩展正则表达式,而不是基本正则表达式,在使用-E选项时,相当于使用egrep。
grep范例:
- 在文件/etc/passwd中查找包含mengqc的所有行
$ grep -F mengqc /etc/passwd
- 在mengqc目录和子目录下的所有文件中查找字符串print出现的次数
$grep -r 'print' mengqc
- uniq命令
uniq从排好序的文件中去除重复行
语法:uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][–help][–version][输入文件][输出文件]
选项表:
-c: 在每列旁边显示该行重复出现的次数。
-d: 仅显示重复出现的行列。
-f: 忽略比较指定的栏位。
-s: 忽略比较指定的字符。
-u: 仅显示出一次的行列。
-w: 指定要比较的字符。
-n:前n个字段和每个字段前的空白一起被忽略
+n:前n个字符被忽略
eg:
$uniq -u ex3 //显示文件ex3中不重复的行
-
sort命令
sort命令对指定文件进行排序,并将结果显示在标准输出上。
sort范例:
对more-10文件进行排序: $head mfile > more-h10 $sort more-h10
-
uniq命令
比较相邻的行去掉重复的行
$uniq -u ex3 //显示ex3中不重复的行 -
comm命令
比较两个文件,要求已经排序好
$comm -12 m1 m2(比较文件m1和m2,并且显示它们共有的行) -
diff命令
diff命令比较两个文本文件,找出不同之处
diff命令一般输出形式如下:
n1 a n3,n4
n1,n2 d n3
n1,n2 c n3,n4