命令行小技巧:读取文件的不同方式
作为图形操作系统,Fedora 的使用是令人愉快的。你可以轻松地点击完成任何任务。但你可能已经看到了,在底层还有一个强大的命令行。想要在 shell 下体验,只需要在 Fedora 系统中打开你的终端应用。这篇文章是向你展示常见的命令行使用方法的系列文章之一。
在这部分,你将学习如何以不同的方式读取文件,如果你在系统中打开一个终端完成一些工作,你就有可能需要读取一两个文件。
一应俱全的大餐
对命令行终端的用户来说, cat
命令众所周知。 当你 cat
一个文件,你很容易的把整个文件内容展示在你的屏幕上。而真正发生在底层的是文件一次读取一行,然后一行一行写入屏幕。
假设你有一个文件,叫做 myfile
, 这个文件每行只有一个单词。为了简单起见,每行的单词就是这行的行号,就像这样:
one two three four five
所以如果你 cat
这个文件,你就会看到如下输出:
$ cat myfile one two three four five
并没有太惊喜,不是吗? 但是有个有趣的转折,只要使用 tac
命令,你可以从后往前 cat
这个文件。(请注意, Fedora 对这种有争议的幽默不承担任何责任!)
$ tac myfile five four three two one
cat
命令允许你以不同的方式装饰输出,比如,你可以输出行号:
$ cat -n myfile 1 one 2 two 3 three 4 four 5 five
还有其他选项可以显示特殊字符和其他功能。要了解更多, 请运行 man cat
命令, 看完之后,按 q
即可退出回到 shell。
挑选你的食物
通常,文件太长会无法全部显示在屏幕上,您可能希望能够像文档一样查看它。 这种情况下,可以试试 less
命令:
$ less myfile
你可以用方向键,也可以用 PgUp
/PgDn
来查看文件, 按 q
就可以退回到 shell。
实际上,还有一个 more
命令,其基于老式的 UNIX 系统命令。如果在退回 shell 后仍想看到该文件的内容,则可能需要使用它。而 less
命令则让你回到你离开 shell 之前的样子,并且清除屏幕上你看到的所有的文件内容。
一点披萨或甜点
有时,你所需的输出只是文件的开头。 比如,有一个非常长的文件,当你使用 cat
命令时,会显示这个文件所有内容,前几行的内容很容易滚动过去,导致你看不到。head
命令会帮你获取文件的前几行:
$ head -n 2 myfile one two
同样,你会用 tail
命令来查看文件的末尾几行: