接下来,来看几个跟文本文档有关的命令。
打开 Xshell ,登录。
前面用到过 cat 命令,是用来查看文件内容的。 cat /etc/passwd,见下图,
cat 这个命令很简单,没什么特殊的用法,就是查看文件内容。还有一个命令 tac 与 cat 对应,可以倒序查看文件内容,注意查看上图中两个×××框框部分,是一样的。
那么,cat 还有其他用法吗?我们用命令 man cat ,查看一下,
现在用 cat -A 查看一下,可以发现每一行内容后面都有“$”这个符号,表示这一行的行文件结束符。
现在用 cat -n 来查看,可以看到每一行开头都有一个序号,仅此而已,cat 命令非常简单,不多说了。
现在来看 more 命令,见下图,
命令 more 也是用来查看文件内容的,但是它不会像 cat 那样全部显示出来,而是一屏一屏地显示,按下空格键就会接着显示下面的内容。现在换个内容长一点的文件来做个对比,先按照下图内容做实验,
上图中,wc -l 这个命令是用来查看行数的,说明 anaconda-ks.cfg.1 这个文件有51行。现在我们要手动的给 anaconda-ks.cfg.1 这个文件增加行数,其中 anaconda-ks.cfg.1 是用来自动装系统的文件,如果我们平常用不到装系统这样的需求的话,就不用管它。而命令 cat /etc/passwd >> anaconda-ks.cfg.1 是用来追加内容的,就是把 /etc/passwd 的内容增加到 anaconda-ks.cfg.1 中,>> 这个符号就是追加的意思,后面还会讲到。我们可以看到每执行一次这个追加的命令,anaconda-ks.cfg.1 的行数就增加一次,执行两次就增加两次行数。
这个时候再用 more 看,输入命令 more anaconda-ks.cfg.1 ,见下图,
上图中,最后一行,有提示现在的内容是 16% ,按一下空格键,再看一下,
可以看到,按了空格键之后,换了一屏,显示的内容增加到 32% 。继续按空格,直到所有的内容显示完毕。见下图,
上面说的是往下看,按空格键。那如果往上看呢,可以使用 Ctrl+B ,就往上翻一屏。继续按空格键,直到内容显示完全,就可以退回到主页面了。
现在来看 less 命令,输入命令 less anaconda-ks.cfg.1 ,回车,见下图,
显示的页面和命令 more 差不多,也是用空格键一屏一屏的往下看,但是这个命令还可以支持上下方向键查看,也可以用 Ctrl+B 往上一屏查看,Ctrl+F 往后一屏查看。
到最后一屏的时候,会出现 END 这个单词,不会自动退出,这时候需要按字母“q”,才能退出。
重新输入命令 less anaconda-ks.cfg.1 ,回车,见下图,
这时候可以直接输入 / ,就可以查找内容,比如我们现在输入 /cdrom ,回车,就会出现下图,
接着往下查找,按字母“n”,
会出现上图红色框框的内容,说明 cdrom 只有这个内容,往下就没有了。我们再查找一下 root ,输入命令 /root ,回车,
进入下图,
可以看到上图中,找到了五个 root ,按字母“n”往下查找,还会看到更多的 root ,
既然按字母“n”,可以往下查找,肯定也有往上查找的键,是 shfit+n ,回车 ,就可以往上查找。其实就是,n 往下看,N 往上看。按字母“q”,回车,可以退出。
/ 命令是从前往后搜,? 命令是从后往前搜,功能都是一样的,差别在查询的方向上。输入 ?root ,见下图,
还有一个比较快捷的查看方式,字母“g”,可以回到行首,shfit+g 会定位到行尾,这样就不用按空格键一屏一屏地回到行尾。
总结:
less 的功能:① g-行首,G-行尾;② / 和 ? 用于搜索,/ 从前往后搜索,?从后往前搜索;③ n 和 N ,用 / 搜索中的 n 往后看,N 往前看,用 ? 搜索中的 n 是往上看;④ 空格键,是一屏一屏往后显示,Ctrl + b 是一屏一屏往前显示,Ctrl + f 是一屏一屏往后显示,同时也支持方向键一行一行上下查看;⑤ 按字母“q”退出查看。
其实,less 包含了 more 的所有功能,所以一般是不会用到 more 的。
head 命令,用于查看文件的头十行,tail 命令,用于查看文件的末尾十行,见下图,
head 和 tail 命令,都可以指定数字,例如我们只看前两行的话,输入命令 head -n 2 anaconda-ks.cfg.1 ,回车查看,见下图,
可以查看前两行,输入命令 tail -n 2 anaconda-ks.cfg.1 ,回车,可以查看末尾两行。
关于 tail ,还可以用来查看动态的文件,动态文件即不断在写入内容、增加内容的文件。输入命令 tail -f anaconda-ks.cfg.1 ,回车,见下图,
默认的话,这个文件内容不变,就直接查看文件末尾的十行,而且查看完成也不会退出这个命令,所以想输入其他命令的话也是不行的,但是可以按回车键,留白几行。
现在来演示一下,重新打开一个同样的 Xshell 窗口,输入命令 cat /etc/passwd >> anaconda-ks.cfg.1 ,回车,在文件 anaconda-ks.cfg.1 上追加内容进去。
现在回到原来的 Xshell 页面,我们可以看到,在刚才留白几行的下面又增加了一些内容上去,
为了确认一下,这回多留白几行,然后去另一个 Xshell 窗口上,输入命令 head -n 2 /etc/passwd >> anaconda-ks.cfg.1 ,回车,为方便查看,就追加两行内容上去,
再回到原来的 Xshell 窗口,可以看到,留白的几行下面又增加了两行内容上去。
去另一个 Xshell 窗口上,再次输入命令 tail -n 2 /etc/passwd >> anaconda-ks.cfg.1 ,回车,
再回到原来的 Xshell 窗口,可以看到,下面又增加了两行不同的内容上去。
由此可见,tail 这个命令就是动态的显示文件内容。想要退出 tail -f ,用 Ctrl + c 就可以终止这个命令,退出来。