Linux 中查看文件是很常见的操作,根据需求不同可以有几个不同的查看方式。
首先点击下载一个 demo 文件: https://raw.githubusercontent.com/wxnacy/file/master/common/nums.txt
cat
1 | $ cat nums.txt |
cat
可以将文本全部打印到屏幕中,但是只适合短小的文件,像这个 600 行的文件,翻看起来会很麻烦,如果你刚好是看最后几行的内容还好,如果想看头几行的内容那就惨了。
其他参数
1 | $ cat -e nums.txt # 每行最后添加 $ 符号 |
head
1 | $ head nums.txt |
head
可以查看前十行的内容,另外可以传参查看前 n 行的数据,或者前 n 个字节的数据。
其他参数
1 | $ head -n 15 nums.txt # 前 15 行 |
tail
1 | $ tail nums.txt |
tail
查看末尾 10 行的数据,经常查看日志的同学肯定对它很熟悉,tail -f file
可以等待文件追加并且到屏幕中,动态查看新增日志非常常用。
其他参数
1 | tail -n 15 nums.txt # 末尾 15 行的数据 |
less
最后是重头戏,less
是 Linux 的正统查看文件的方式,相似的还有 more
命令,虽然都说它不如 less
,但是我觉得两者相差无几。
less
可以分页显示文档,翻页的方式与 vim
几乎一致,如果你不了解 vim
的翻页机制,可以看这里 光标移动
它还可以搜索文件,方式也与 vim
一样,输入 /
后输入匹配字符,使用 n
向后查找,使用 N
向前查找
查看多个文件时,使用 :e filename
切换查看文件,或者使用 :n
和 :p
向后或向前查找
既然它跟 vim
有这么多的相似点,那切换到 vim
模式也是很方便的,按下 v
即可
使用 F
则可以达到 tail -f file
的效果,等待文件的输入,<CTRL-C>
退出。
最后按下 q
即可退出 less
模式。
less
命令模式非常常见,帮助命令 man
就是完全依照此模式来使用的,使用 man less
查看更多的使用方式。
其他参数
1 | $ less -N nums.txt # 显示行号 |
其它的命令搭配 less
管道输入模式可以起到很好的效果。
分页显示当前所有进程
1 | $ ps aux | less |
分页显示历史命令
1 | $ history | less |