No.2 五个Linux文件查看命令

153 阅读2分钟

前言

在Linux中,我们经常会使用vimnano文本编辑器来查看、增删文件内容,毫无疑问,这些工具是非常方便的,我也用得很多,但下面的查看命令其实我也用得很多,原因就是可以搭配管道命令(|)进行文本的增删、或者过滤,所以了解下面的命令也是很有必要的。

测试文件

为了更好地理解命令,这里准备了一份测试文件:

# 注意第二行是空白的
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命令在展示文件时不必读取整个文件,所以其展示速度会快于vivim这些编辑器。

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请求日志。

写在最后

上面的命令各有特色,如何使用其实取决于不同场景,以及每个人的使用习惯。

各位老板,创作不易,更需不断地磨练和总结,欢迎关注我,我是言淦,为你分享各种实用的编程知识与编程技巧,你们的点赞与关注是我前进和创作的最大动力!!