文本处理工具
查看工具
cat;tac;rev;more
cat
连接文件,并打印到标准输出上。
注意:当文件比较大的时候,文本在屏幕上一闪而过,导致无法看清内容,所以对于较大的文件建议结合着more,less等命令结合来用。
使用方法:
-E: 显示行结束符$ -n: 对显示出的每一行进行编号 空行也加行号 -A:显示所有控制符 相当于-ETV -b:非空行编号 -s:压缩连续的空行成一行 -v:非打字符 显示^M等这些非打印字符 -T:显示制表符 ^I(tab键)
快捷键:
^s 停止滚屏 ^q 恢复滚屏 ^c 中断命令
示例: cat 1.log 2.log >3.log 把文件1.log和2.log合并打印到3.log并且是按文件顺序合并。 #cat合并
nl命令相当于cat -b 同样可以显示非空行的编号,有空格也不算非空行。nl是一条命令而不是别名可以用man 查看
tac 显示的效果与cat相反,是行相反,就是第一行会变为最后一行。tac也是一条命令不是别名。
rev 是倒叙显示的一种命令,我们通常来讲是翻转,他把每一行的字符反过来显示,但是行还是不变的。
more
分页查看文件
使用方法:
-c:显示前几行 more -c -5 passwd -d: 显示翻页及退出提示 more -cd -10 passwd
在加管道的情况下,centos7.3不能翻页,但是6.9可以用^b进行翻页
less
一页一页地查看文件,跟more比较相似,但是less系统默认允许向前先后翻页,该命令只对文本文件有效,或者是搜索。
pageup 向上 pagedown 向下
less命令是man命令使用的分页器
当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。
默认分页显示结束的时候也不会退出显示,需要用Q退出。
常用选项:
-e 文件内容显示结束自动关闭 -N 显示每行的行号 -s 将连续的空行压缩成一行显示
文件行列操作工具
paste 合并两个文件同行号的列到一行
一般会与diff命令一起使用来修复文件
-d 分隔符:指定分隔符,默认用TAB -s : 所有行合成一行显示 paste f1 f2 paste -s f1 f2
示例 #paste
head
显示文件前几行(默认显示是)行
-c #: 指定获取前#字节 -n #: 指定获取前#行 -#:指定行数
显示文件的前两行
并且可以显示文件的前几个字节,当文件内容是汉字的时候,一个汉字会占到三个字节。
tail 显示后几行,用法跟head一样默认也是显示后十行。
-c #: 指定获取后#字节 -n #: 指定获取后#行 -#: -f: 跟踪显示文件新追加的内容,常用日志监控 后加
tail可以跟head向结合取特定的某一行 #特定行
当tail-f用于跟踪日志的时候可以加&让监控放到后台运行,不影响其他操作,什么时候有更新会自动弹出来提醒。
cut 用来剪切某一列
-d DELIMITER: 指明分隔符,默认tab -f FILEDS: #: 第#个字段 #,#[,#]:离散的多个字段,例如1,3,6 #-#:连续的多个字段, 例如1-6 混合使用:1-3,7 -c按字符切割 --output-delimiter=STRING指定输出分隔符
通常与tail,head,tr,cat等命令配合使用查询某一个特定的数据。
比如查看磁盘的利用率
有一个文件是存随机字符串的 /dev/urandom 我们也可以从中提取出来一些字母数字做为口令用,但是文件里包含的也有特殊符号,所以要过滤一样再获取。
这是生成10位的口令
分析工具
在分析的工具中,最为普遍的就是数据统计(wc)和整理文本的(sort)。当然也少不了一些对比的工具,比如diff和patch。
wc
统计单词总数、行总数、字节总数和字符总数。
第一个代表行数,第二个代表单词数,第三个代表字符总和。
也可以特殊的选项来显示不同的统计:
使用-l来只计数行数 使用-w来只计数单词总数 使用-c来只计数字节总数 使用-m来只计数字符总数
sort 把文件按照一定的方式整理打印到标准输出上,不改变原始文件。
常用选项:
-r执行反方向(由上至下)整理 -n执行按数字大小整理 -f选项忽略(fold)字符串中的字符大小写 -u选项(独特,unique)删除输出中的重复行 -t c选项使用c做为字段界定符 -k X选项按照使用c字符分隔的X列来整理能够使用多次
一般-k -t会配合使用按照某一列来排序
以:为分割符,把第三列按数字大小排序
最后要提一下文件中使用的两个命令,patch和diff。diff命令输出常被保存做成补丁的文件
diff 比较两文件内容之间的区别
比较这里两文件之后的显示 他明确的指出来第几行,并进行比较。
通常diff与patch一起使用,为程序打补丁。
diff-ufoo.conf-brokenfoo.conf-works>foo.patch
把差异写到补丁文件中
patch-bfoo.conf-brokenfoo.patch
用补丁文件对数据恢复或更改
patch复制在其它文件中进行的改变(要谨慎使用),适用-b选项来自动备份改变了的文件。
原创文章,作者:phosphor,如若转载,请注明出处:http://www.178linux.com/77317