前言
Linux 有八个罕用的文本操作命令:cat
、head
、tail
、nl
、grep
、sed
、more
、less
。本文介绍它们的区别和简略用法。
cat 命令
显示文本的最根本命令。
cat file
cat /usr/share/metasploit-framework/data/wordlists/passwd.lst
cat
命令不是最不便的命令,但却非常快捷。
head 命令
该命令将显示文件的前 10 行(默认状况下)。
head filename
如果你想显示指定的行数,请在 head
命令后应用 -
来指定。
head -20 passwd.lst
tail 命令
该命令与 head
命令相同,将显示文件的最初 10 行(默认状况下)。
tail filename
如果你想显示指定的行数,请在 tail
命令后应用 -
来指定。
tail -20 passwd.lst
nl 命令
显示带有行号的文件。
nl file
如果你用管道输入到它,它使参考变得更容易。
head -35 passwd.lst | nl
grep 命令
可能是应用最宽泛的文本处理命令。对于这个命令,有好几本书。
cat file | grep keyword
它能够让你过滤显示文件的内容。
cat passwd.list | grep output
联合后面的命令,让咱们查看 passwd.lst 第 20 至 50 行中所有含有 23 的字词。
head -50 passwd.lst | tail -30 | grep 23 | nl
head -50 passwd.lst
示意咱们想要显示前 50 行。tail -30
示意想要从head
命令失去的前 50 行里的最初 30 行,也就是 20-50 行。grep 23
将只显示蕴含 23 的行。nl
将显示行数。
sed 命令
这个命令能够让你搜寻呈现的单词或测试模式,而后对它执行一些操作。相似于 Windows 中的查找和替换。sed
中的命令以单个字母结尾。
s
是替换命令:
echo "gwyn" | sed 's/gwyn/gps'
让咱们应用 sed
在snort.conf
文件中找到 mysl
的所有实例,并将其替换为MySQL
,并将该文件保留为当前目录中的snorttest.conf
。
sed s/searchterm/replacementterm/occurence
这里的 g
代表全局,意味着替换产生的所有实例。
sed s/mysql/MySQL/g /etc/snort/snort.conf > snorttest.conf
你能够通过在开端应用 /1
、/2
等来指定你要替换的行的哪一次呈现。
咱们假如咱们有一个 textfile.txt
文件:
gwyn gps
gwyn gps gps
gwyn gps gps gps
咱们如何能力在每一行中只将第二次呈现的 gps
替换为gwyneth
?
sed s/gps/gwyneth/2 textfile.txt > sample.txt
当初,如果咱们想只在第三行中替换第二个呈现的内容,该怎么办?咱们能够在 s
命令的后面加上一个数字来示意。
sed 3s/gps/gwyneth/2 textfile.txt > sample2.txt
让咱们看看在 snort.conf
中,mysql
每次呈现的中央:
并将第二行中呈现的每一个 mysql
替换为dogs
,并将其保留到sample2.txt
。
more 命令
每次显示文件的一页,并容许分页。
more file
more snort.conf
less 命令
与 more
命令相似,只不过更加实用。毕竟少即是多。
less file
如果你按下 /
键,less
将容许你在文件中搜寻术语。
less snort.conf
在这里,我按下 /
键,并键入选项:
less
带我到第一个产生的中央,按 n
键是下一个。
总结
就这样吧,我终于开始了解把这些命令连在一起的弱小力量了。