linux查看文件的后几行

tail -n 2 0 log.txt 显示最后 2 0 行。
默认情况下,显示最后 1 0 行。
tail -f log.txt 实时监控。
tail -r -n 1 0 log.txt 以相反顺序显示最后 1 0 行。
tail -n +2 0 log.txt 从第 2 0 行开始显示。
如何使用它。
考虑一般参数。

Linux中tail命令详解

结论: tail -n 2 0 file.txt 显示 file.txt 的最后 2 0 行。
tail -f /var/log/syslog 实时显示syslog日志。
tail -c 1 00 file.txt 显示 file.txt 的最后 1 00 个字节。
tail -n 5 file1 .txt file2 .txt 同时显示两个文件的最后 5 行。
在不指定文件的情况下,尾部从标准输入读取。
轮换记录时,使用 --follow=name 来跟踪它们。
要查看完整选项,请使用 Man's Tail。

Linux快速删除文件末尾行的操作步骤

我对你说的有点困惑。
什么时候你会被要求使用 Linux 删除文件的尾行?我在杭州的时候,帮隔壁的一家公司建了一台服务器。
他们有一个要求,就是每天运行一个脚本来删除日志文件的最后一句话。
他们说这是不吉利的。

当时我直接用的sed就是你说的-i $d。
但我通常会先备份。
你看,cp log.txt log.txt.bak。
命令行打完之后就忘记了,只好稍后再找。
然后sed -i '$d' log.txt,点击,完成。
第二天,当他们运行脚本时,他们发现日志文件的最后一句消失了,他们相当高兴。
但有一个陷阱,就是如果文件只有一行,这样删除的话文件会直接清空,所以要小心。
我猜那一年是2 01 8 年。
不管怎样,已经过去了很长一段时间了,我仍然记得。

后来,我有一个同事,不喜欢直接改文件,怕惹麻烦,只好用head技巧,把除了最后一句以外的所有行都保存到临时文件中,然后覆盖原来的文件。
我以为会很麻烦,但他们坚持,所以我什么也没说。
我只是觉得临时文件tempfile,如果停电或者系统出现问题,临时文件就会被删除,原文件也会消失,风险比较大。
那一年是2 02 0年,在武汉,疫情期间,没有人敢乱操作。

所以我通常推荐使用 sed -i '$d',简单直接。
如果你的文件很大,内存不够,或者你只是害怕改变原来的文件,你可以使用头+临时文件,但比较复杂。
说到备份,无论使用哪个命令,都得先考虑一下。
如今,没有人能够阻止事情出错。

哦,顺便说一句,我很熟悉你提到的用于计算行数的 wc -l <​​ 文件名。
我在青岛调试程序时,找不到任何错误。
最后我发现日志文件的最后一句多了一个字符。
我使用 wc -l log.err 查看总行数,然后 head -n $(($((wc -l <​​ log.err)-1 ))) log.err > tempfile && mv tempfile log.err,这就是我识别问题陈述的方式。
但那个场景是2 01 9 年的,具体日期我不记得了。

不管怎样,你说的方法都没有问题。
这仅取决于您何时使用它们以及在什么情况下使用它们。
我不喜欢做那些复杂的事情。
我只是喜欢简单有效的方法。
你问了很多,我就简单说一下我当时遇到的坑吧。