前言
在Linux中,我们经常会使用vim
,nano
等文本编辑器来查看、增删文件内容,毫无疑问,这些工具是非常方便的,我也用得很多,但下面的查看命令其实我也用得很多,原因就是可以搭配管道命令(|
)进行文本的增删、或者过滤,所以了解下面的命令也是很有必要的。
测试文件
为了更好地理解命令,这里准备了一份测试文件:
# 注意第二行是空白的
2021-05-20 00:00:00,000 | num: 1===
2021-05-20 00:00:00,000 | num: 2===
2021-05-20 00:00:00,000 | num: 3===
2021-05-20 00:00:00,000 | num: 4===
cat
cat命令,用于在终端展示文本的所有内容。所以cat命令比较适合查看小文件,大文件容易占用资源。
cat命令的常见用法有:
# 不带任何参数
$ cat cat_test.log
2021-05-20 00:00:00,000 | num: 1===
2021-05-20 00:00:00,000 | num: 2===
2021-05-20 00:00:00,000 | num: 3===
2021-05-20 00:00:00,000 | num: 4===
# -b参数:展示行号,但是会跳过空白行
$ cat -b cat_test.log
1 2021-05-20 00:00:00,000 | num: 1===
2 2021-05-20 00:00:00,000 | num: 2===
3 2021-05-20 00:00:00,000 | num: 3===
4 2021-05-20 00:00:00,000 | num: 4===
# -n参数:展示行号,但不会跳过空白行
$ cat -n cat_test.log
1 2021-05-20 00:00:00,000 | num: 1===
2
3 2021-05-20 00:00:00,000 | num: 2===
4 2021-05-20 00:00:00,000 | num: 3===
5 2021-05-20 00:00:00,000 | num: 4===
more
more命令,相比于cat命令,它并不是一次性展示所有内容,而是一页一页加载,可以避免占用太多资源。
more命令的常见用法有:
# -number 参数,用于控制每页展示的数量
$ more -3 cat_test.log
2021-05-20 00:00:00,000 | num: 1===
2021-05-20 00:00:00,000 | num: 2===
# +number 参数,用于控制从哪一页开始展示
$ more +3 cat_test.log
2021-05-20 00:00:00,000 | num: 2===
2021-05-20 00:00:00,000 | num: 3===
2021-05-20 00:00:00,000 | num: 4===
#
# 常用快捷键
- Enter键: 下一行
- 空格键:下一页
- Ctrl + F:下一页
- Ctrl + B:上一页
less
less命令,是一个和more命令差不多的命令,但是比more命令提供了更多的特性。less命令在展示文件时不必读取整个文件,所以其展示速度会快于vi
、vim
这些编辑器。
less和more命令主要有两个区别:
- 1.less命令可以使用上下键进行翻页,more命令不行
- 2.less退出后Shell不会留下刚显示的内容,而more退出后会在Shell上留下刚显示的内容
less命令的常见用法有:
- Enter键: 下一行
- Y键:上一行 # 多了这个
- 空格键:下一页
- Ctrl + F:下一页
- Ctrl + B:上一页
head
head命令,主要用于查看前面几行的文本,与more和less不同,head命令输出内容后,要想查看后面的内容,需要再次执行head命令。
head用法也很简单,主要通过 -n 控制展示的行数:
$ head --help
head: illegal option -- -
usage: head [-n lines | -c bytes] [file ...]
# 查看前3行
$ head -n 3 cat_test.log
2021-05-20 00:00:00,000 | num: 1===
2021-05-20 00:00:00,000 | num: 2===
tail
tail命令,和head命令相反,它主要是输出后面几行的文本,一般查看日志经常用到,因为日志经常要看最新的,也就是最后的。
tail命令的常见用法有:
# -n参数:显示后面多少行
$ tail -n 1 cat_test.log
2021-05-20 00:00:00,000 | num: 4===
# -f参数:让程序不退出,并持续显示文件新增的行
$ tail -n 1 -f cat_test.log
2021-05-20 00:00:00,000 | num: 4===
注:tail命令是上述命令我用得最多的,常用于观察日志,比如查看Nginx请求日志。
写在最后
上面的命令各有特色,如何使用其实取决于不同场景,以及每个人的使用习惯。
各位老板,创作不易,更需不断地磨练和总结,欢迎关注我,我是言淦,为你分享各种实用的编程知识与编程技巧,你们的点赞与关注是我前进和创作的最大动力!!