我希望能够跟踪服务器日志文件的输出,该文件包含以下消息:
INFO
SEVERE
Run Code Online (Sandbox Code Playgroud)
等,如果是SEVERE,则以红色显示该行;如果是INFO,则为绿色。我可以为tail帮助我执行此操作的命令设置什么样的别名?
说我有一个巨大的文本文件(> 2GB),我只是想cat行X至Y(如57890000至57890010)。
据我所知,我可以通过管道head输入tail或反之亦然来做到这一点,即
head -A /path/to/file | tail -B
Run Code Online (Sandbox Code Playgroud)
或者
tail -C /path/to/file | head -D
Run Code Online (Sandbox Code Playgroud)
其中A、B、C和D可以根据文件中的行数计算得出,X和Y。
但是这种方法有两个问题:
A,B,C和D。pipe相互发送比我感兴趣的多得多的行(例如,如果我只读取大文件中间的几行)有没有办法让 shell 只使用并输出我想要的行?(同时仅提供X和Y)?
我有,我想显示一个不断增长的日志文件,只有最后的15行。这是我知道我可以做的:
tail -n 15 -F mylogfile.txt
Run Code Online (Sandbox Code Playgroud)
当日志文件被填满时,tail将最后几行附加到显示中。
我正在寻找一种解决方案,它只显示最后 15 行,并在更新后删除最后 15 行之前的行。你有什么想法吗?
在长时间运行的系统上,我通常有一个终端
$ tail -f /var/log/kern.log
Run Code Online (Sandbox Code Playgroud)
或类似的东西打开。
但有时我必须重新启动此类命令,因为不再显示新消息。
我认为这是因为替换日志文件的日志轮换作业tail -f正在“观察”。
如何避免这种重启问题?
我可以调用tail这样它注意到旋转过程并做正确的事情吗?
(我在rsyslogd默认使用的 Ubuntu 11.04 系统上注意到了这个问题。)
如果我想要tail一个 25 GB 的文本文件,该tail命令会读取整个文件吗?
由于文件可能分散在磁盘上,我想它必须如此,但我不太了解这种内部结构。
有没有一种简单的方法可以做类似tail -f mylogfile但显示多个文件的更改(可能将文件名添加为每一行的前缀)?或者也许是一个 GUI 工具?我正在运行 Debian。
我想使用less打开一个文件,并让它自动滚动类似于tail -f.
我知道我可以做到less file,然后Shift-F永远向前冲;喜欢tail -f。
我需要,less因为它提供了--raw-control-chars标志,这是必要的,因为我的输入是丰富多彩的。
我正在跟踪我自己的应用程序和 postgres 的日志。
tail -f /tmp/myapp.log /var/log/postgresql/postgresql.main.log
Run Code Online (Sandbox Code Playgroud)
我需要包含 pgpool 的日志。它曾经是 syslog,但现在它在 journalctl 中。
有没有办法将 tail -f && journalctl -f 绑定在一起?
$ tail -f testfile
Run Code Online (Sandbox Code Playgroud)
该命令应该实时显示指定文件中的最新条目,对吗?但事实并非如此。请纠正我,如果我打算做的事情是错误的......
我创建了一个新文件“aaa”并添加了一行文本并将其关闭。然后发出这个命令(第一行):
$ tail -f aaa
xxx
xxa
axx
Run Code Online (Sandbox Code Playgroud)
最后三行是文件aaa的内容。现在命令仍在运行(因为我使用了-f),我通过 GUI 打开文件 aaa 并开始手动添加更多行。但是终端不显示文件中添加的新行。
这里有什么问题?tail -f如果新条目仅由系统写入,该命令仅显示新条目?(如日志文件等)
有没有办法head/tail一个文件并获得反向输出;因为您不知道文档中有多少行?
即我只想获取除前两行之外的所有内容foo.txt以附加到另一个文档。
tail ×10
logs ×3
command-line ×2
head ×2
monitoring ×2
alias ×1
cat ×1
colors ×1
highlighting ×1
journalctl ×1
large-files ×1
less ×1
logrotate ×1
rsyslog ×1
shell ×1
systemd ×1