乐趣区

关于linux:Linux系列之文本操作命令

前言

Linux 有八个罕用的文本操作命令:catheadtailnlgrepsedmoreless。本文介绍它们的区别和简略用法。

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'

让咱们应用 sedsnort.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 键是下一个。

总结

就这样吧,我终于开始了解把这些命令连在一起的弱小力量了。

退出移动版