一、回顾前面常用命令
1.目录管理:
ls,cd,pwd,mkdir,rmdir,tree,mv
2.文件管理: touch,vi,nano,rm,mv,cp,file,stat 3.时间管理: date,clock,hwclock,cal
二、查看文件内容常用命令
cat,tac,more,less,head,tail
建立测试文件test.txt,内容如下:
123
123
232
999
56
098
999
1.cat用法:
cat test.txt会打印如下内容:
cat -n test.txt打印内容并且显示行号,如:
cat -E test.txt显示每一行的结尾符号$(linux的每一行都会有两个特殊字符 $ 和 ^,$每行的结尾符,^ 每行的开头符),如:
tac命令是cat命令倒着写的命令,显示的内容也是倒着显示
2.more用法:
more是分屏显示文件的内容,如果一个文件太多,整屏显示不下来,就会分屏显示,使用 空格键 跳到下一屏内容,enter建显示下一行内容,不能回看,q建退出
more test.txt
3.less也是分屏显示内容,空格键 跳到下一屏,b建上一屏,enter显示下一行,k上一行
4.head用法,用来显示前几行数据:
head -n 2 test.txt显示test.txt文档前两行数据,不加-n参数显示前十条数据。
5.tail用法:
用来显示文件末尾内容,tail -n 2 test.txt,显示最后两行数据,不加参数显示最后十行数据。
tail -f test.txt显示文档最后十行,并且不退出,等待新的内容添加,一般用来监控日志文件。
三、文档处理常用命令
cut,sort,uniq,tr,sed,awk(gawk) cp /etc/passwd /tmp/passwd用来做实验。
1.cut用法,用来切分字符串
-d和-f参数:cut -d: -f 1 passwd,-d表示将passwd文件内容的每一行,按照:切割成一小段,-f 1表示取每一行的第一小段部分,显示内容如下:
cut -d: -f 1,3,表示取第一段和第三段的内容,如:
cut -d: -f 1-3,表示取1到三段内容,如:
cut默认是以空格做分隔符
2.sort文本排序,-n,-t,-k,-u,-n,-r:
sort test.txt:按照ASCII码排序,首先比较第一个字符,第一个字符相同,比较第二个,以此类推,升序排列,显示内容如下:
sort -n test.txt,按照数字从小到大排序,内容如下:
(需要注意的是:如果某行是纯非数字字符,第一个字符非数字,那么非数字排在纯数字前面,第一个字符是数字,后面非数字,那么将第一个数字和后面数字比较排序。非数字之间再按照ASCII排序)
sort -r test.txt,降序排列,内容如下:
sort -t: -k3 -n paswd,-t: 表示以:做分隔符,-k3 使第三个分割段作为关键字排序,应为第三个分割段是数字所以加 -n,显示的内容如下:
如果不加-t,-k,-n参数就会按ASCII排序。
sort -u test.txt,-u(unique)表示排序后重复行知显示一次(按ASCII排序),如图:
3.uniq:
-c:显示文件中重复行的个数(主要:只有相邻的行才被算作为重复行),uniq -c test.txt,如图:
-d:只显示重复行,uniq -d test.txt,如图:
那如果要把所有的重复行都显示,不管是不是相邻行了?这需要和sort一起用,如图:
( | 这个是管道,表示把左边处理完的数据交给右边处理,示例中先排序,那么相同的数据肯定会相邻了,再交给uniq处理,即可统计所有相邻行的个数)
4.wc命令
wc -l test.txt,统计test.txt文档有多少行,如:
wc -w test.txt,统计文档内有多少个单词,如:
wc -c test.txt,统计文档有多少个字符,如:
wc -L test.txt,统计文档最长行有多少个字符,wc test.txt,统计文档的 “行数 单词个数 字符数”。
四、字符处理命令tr
tr转换或删除字符,tr [OPTION]... SET1 [SET2] 1.转换
tr ad AB 命令将后续输入内容中的ad转换为AB,如:
tr ab AB < passwd将文档passwd中内容含有a,b的字符转为A,B字符,不改变源passwd的文件内容 2.删除
tr -d b < passwd,删除passwd中b字符(不会真的删除,只是显示删除后的内容),如:
五、总结
更多用法使用 man 命令查看。 sed,grep命令用法稍后学习。