tail
tail 命令可用于查看文件的内容,它有一个常用的参数 -f 常用于查看正在改变的日志文件。
- 命令格式
tail [参数] [文件名]
- 无参:显示尾部 10 行内容
tail console.log
- 循环读取日志文件,显示文件尾部 10 行内容并一直加载新的内容(Ctrl+C组合件结束加载)
tail -f console.log
- 读取日志文件尾部 20 行内容
tail -n 20 console.log
- 读取日志文件尾部 10 个字节内容
tail -c 10 console.log
注意
1. 以上命令,不设置具体值,默认尾部 10 行
2. 数字前可以使用 - 符号,默认 - 从文件尾部开始往上 n 行/字节
3. 相反,数字前也可以使用 + 符号,+ 表示除去文件头部 n 行、字节之外到文件尾部的文件内容显示
less
less 命令可随意查看整个文件内容,主要用于大文件查找。以一页(屏幕范围)一页的显示方便使用者逐页阅读,而且 less 在查看之前不会加载整个文件。
- 命令格式
less [参数] 文件名
- 查看文件,文件头部开始展示一屏幕范围内容
less console.log
- 显示行号查看文件,文件头部开始展示一屏幕范围内容
less -N console.log
- 查看文件,搜索指令时忽略大小写
less -i console.log
- 搜索指令,向下搜索“字符串”,n 查看下一个,N 查看上一个
/字符串
- 搜索指令,向上搜索“字符串”,n 查看下一个,N 查看上一个
?字符串
- 搜索指令,仅显示匹配“字符串”的行
&字符串
- 滚动指令,向上一行
键盘上键:⬆️
- 滚动指令,向下一行
键盘下键:⬇️
- 滚动指令,向下滚动一屏幕
键盘空格键
- 滚动命令,向上滚动一屏幕
b
- 滚动命令,滚动到头部
g
- 滚动命令,滚动到尾部
G
- 退出less模式
q
cat + grep 组合
cat + grep 组合可以根据条件检索出符合条件的行并把它们打印的另一个文件中,便于查看。
- 命令格式
# 1. 将检索结果在屏幕上显示
cat [源文件名] | grep [参数] [参数] "条件"
# ======================================
# 2. 将检索结果打印到目标文件中
cat [源文件名] | grep [参数] [参数] "条件" > [目标文件名]
- 示例
# 检索 /logs/console-20190426.log 文件中包含字符串"ERROR"的行,并把这些行打印的20190426-error.log文件中。
cat /logs/console-20190426.log | grep -A 0 "ERROR" > 20190426-error.log
- 显示包括字符串的行及下面的 1 行记录
# 1. 将检索结果在屏幕上显示
cat [源文件名] | grep -A 1 "条件"
# ======================================
# 2. 将检索多个“或”检索条件结果在屏幕上显示
cat [源文件名] | grep -E "条件1|条件2"
# ======================================
# 3. 将检索结果打印到目标文件中
cat [源文件名] | grep -A 1 "条件" > [目标文件名]
- 显示包括字符串的行及上面的 5 行记录
# 1. 将检索结果在屏幕上显示
cat [源文件名] | grep -B 5 "条件"
# ======================================
# 2. 将检索结果打印到目标文件中
cat [源文件名] | grep -B 5 "条件" > [目标文件名]
- 显示包括字符串的行及上面的 10 行和下面 10 行
# 1. 将检索结果在屏幕上显示
cat [源文件名] | grep -C 10 "条件"
# ======================================
# 2. 将检索结果打印到目标文件中
cat [源文件名] | grep -C 10 "条件" > [目标文件名]