linux - tail

系统运维中,查看日志时,最经常使用的就是 grep、cat 和 tail 三个命令。

head 与 tail 是两个成对的命令,语法基本一致,head 用于看文件开头,tail 用于看文件结尾。

区别:使用 -n 命令是,含义可能与理解的不同;head 无法持续跟踪文件内容,也就是没有说 -f 命令。

# 查看文件的最后 10 行内容
tail test.txt

# 从第 20 行开始,读取后面所有内容
tail -n +20 test.txt

# 读取文件最后 20 行的内容
tail -n -20 test.txt

# 输出文件的最后 100 个字节内容
tail -c 100 test.txt

# 持续查看文件的最新内容
tail -f test.txt

# 持续查看文件的最新内容,并且只看带 'Exception' 的行
tail -f test.txt|grep 'Exception'

管道符

# 持续查看文件的最新内容,并且将内容另存到新的文件
tail -f test.txt | tee tmp.log

-n 的含义

# 倒数第 20 行开始,tail 读后面的,head 读前面的
tail -n -20 test.txt

# 正数第 20 行开始,tail 读后面的,head 读前面的
tail -n +20 test.txt


# 命令简写,挺让人费解的,记不住就不管它,用多了就习惯了

# 读取后 20 行,等价于:tail -n -20 test.txt
tail -20 test.txt/tail -n 20 test.txt

# 读取前 20 行,等价于:head -n +20 test.txt
head -20 test.txt/head -n 20 test.txt

命令组合

业务场景:文件太大了,只读取一部分内容

# 一般配合 grep 使用,先收索关键字所在的行号,然后查看附近几行的数据
grep -n keyword test.txt

# 从文件 20 行开始,读取前 10 行内容
tail -n +20 test.txt|head -n +10

posted on 2024-06-20 09:29  疯狂的妞妞  阅读(7)  评论(0编辑  收藏  举报

导航