前言Linux有八种常用的文本操作命令:cat、head、tail、nl、grep、sed、more、less。本文介绍它们的区别和简单使用。cat命令是最基本的显示文本的命令。catfilecat/usr/share/metasploit-framework/data/wordlists/passwd.lstcat命令不是最方便的命令,但速度非常快。head命令此命令将显示文件的前10行(默认情况下)。headfilename如果要显示指定行数,请在head命令后使用-指定。head-20passwd.lsttailcommand此命令与head命令相反,将显示文件的最后10行(默认情况下)。tailfilename如果要显示指定行数,请在tail命令后使用-指定。tail-20passwd.lstnl命令显示带有行号的文件。nl文件使引用更容易,如果你将输出传递给它。头-35passwd.lst|nlgrep命令可能是使用最广泛的文本处理命令。有几本关于这个命令的书。猫文件|grep关键字它允许您过滤显示文件的内容。猫密码列表|grep输出结合前面的命令,让我们查看passwd.lst的第20到50行中所有包含23的单词。头-50passwd.lst|尾-30|grep23|nlhead-50passwd.lst表示我们要显示前50行。tail-30表示要从head命令中获取前50行的后30行,即第20-50行。grep23将只显示包含23的行。nl将显示行数。sed命令此命令允许您搜索单词或测试模式的出现,然后对其执行一些操作。类似于Windows中的查找和替换。sed中的命令以单个字母开头。s是替换命令:echo"gwyn"|sed's/gwyn/gps'让我们使用sed查找snort.conf文件中所有mysl的实例并替换为MySQL,并将该文件保存在当前目录snorttest.conf中。seds/searchterm/replacementterm/occurence这里的g代表global,意思是所有发生替换的实例。seds/mysql/MySQL/g/etc/snort/snort.conf>snorttest.conf您可以在末尾使用/1、/2等指定要替换的行的出现。假设我们有一个textfile.txt文件:gwyngpsgwyngpsgpsgwyngpsgpsgps我们如何才能在每一行中仅将第二次出现的gps替换为gwyneth?seds/gps/gwyneth/2textfile.txt>sample.txt现在,如果我们只想替换第三行中的第二次出现怎么办?我们可以在s命令前加一个数字来表示。sed3s/gps/gwyneth/2textfile.txt>sample2.txt我们看看snort.conf中每次出现mysql的地方:将第二行出现的mysql全部替换成dogs,然后保存到sample2.txt。more命令一次显示文件一页并允许分页。morefilemoresnort.confless命令与more命令类似,但更实用。毕竟少即是多。lessfile如果你按/键,less将允许你在文件中搜索一个术语。lesssnort.conf在这里,我按/键,然后键入options:less将我带到第一个出现的地方,按n是下一个。总而言之,我终于开始理解将这些命令结合在一起的力量。
