命令行大全

tail

rose1 发表于 2020-07-09 15:18浏览次数:

在类似Unix的操作系统上,tail命令读取一个文件,然后输出文件的最后一部分(“ tail”)。 该尾命令也可以监控数据流和打开的文件,因为它显示新的信息写入。例如,它的监测系统中的最新事件的有效方式记录在实时。 本文档介绍了tail的GNU / Linux版本。

查看英文版

目录:

1 tail 运行系统环境

2 tail 说明

3 tail 语法

4 tail 例子

tail 运行系统环境

Linux

tail 说明

默认情况下,tail将每个文件的最后10行打印到标准输出。如果指定多个文件,则每组输出均以显示文件名的标题作为前缀。

如果未指定文件,或者文件是破折号(“ - ”),则从标准输入中读取。

By default, tail prints the last 10 lines of each file to standard output. If you specify more than one file, each set of output is prefixed with a header showing the file name.

If no file is specified, or if file is a dash ("-"), tail reads from standard input.

查看英文版

查看中文版

tail 语法

tail [{-c |--bytes=}num] [-f] [--follow[={name|descriptor}]] [-F] [{-n |--lines=}num] [--max-unchanged-stats[=num]] 
     [--pid=pid] [{-p|--quiet|--silent}] [--retry] 
     [{-s |--sleep-interval=}num] [{-v|--verbose}] [file ...]
tail --help
tail --version

选件

描述
-c [+]num,
--bytes=[+]num
输出每个文件的最后num 个字节。

您还可以在num之前使用加号来输出从num字节开始的所有内容。 例如, -c +1将打印所有内容。

A multiplier suffix can be used after num to specify units: b (512), kB (1000), K (1024), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and so on for T (terabyte), P (petabyte), E (exabyte), Z (zettabyte), Y (yottabyte).
-f,
--follow[={名称|描述符}]
此选项将导致tail永远循环,检查文件末尾的新数据。当出现新数据时,它将被打印。

如果跟随多个文件,将打印标题,以指示正在打印哪个文件的数据。

如果文件缩小而不是增长,tail将通过一条消息通知您。

如果指定name,那么将使用具有该名称的文件,而不管其文件描述符是什么。
如果指定描述符,则即使重命名了文件,也会遵循相同的文件。这是默认行为。
-F “跟随并重试”。与使用--follow = name --retry相同。
-n num,
--lines=num
输出最后的num行,而不是默认的(10)行。

如果在num之前加一个加号,tail将输出以该行开头的所有行。例如,-n +1将打印每一行。
--max-unchanged-stats=数值 如果使用-f--follow = name跟踪文件,tail会连续检查文件以查看其大小是否已更改。如果大小已更改,它将重新打开文件并寻找要打印的新数据。该--max-不变,统计选项重新打开文件时,即使其尺寸没有改变,每一个后NUM检查。

如果文件可能自发地取消链接或重命名(例如,当日志文件自动旋转时),则此选项很有用。
--pid=pid 当跟随-f--follow时,进程ID pid消失后终止操作。
-q,
--quiet,
--silent
从不输出标题。
--retry 继续尝试打开一个文件,即使该文件暂时无法访问;与--follow = name选项一起使用。
-s num,
--sleep-interval=num
当跟随-f--follow时,两次文件检查之间睡眠大约num秒。使用--pid = pid,每num秒至少检查一次进程pid。
-v,
--verbose
始终打印标题。
--help 显示帮助消息,然后退出。
--version 显示版本信息,然后退出。
tail [{-c |--bytes=}num] [-f] [--follow[={name|descriptor}]] 
     [-F] [{-n |--lines=}num] [--max-unchanged-stats[=num]] 
     [--pid=pid] [{-p|--quiet|--silent}] [--retry] 
     [{-s |--sleep-interval=}num] [{-v|--verbose}] [file ...]
tail --help
tail --version

Options

Option Description
-c [+]num,
--bytes=[+]num
Output the last num bytes of each file.

You can also use a plus sign before num to output everything starting at byte num. For instance, -c +1 will print everything.

A multiplier suffix can be used after num to specify units: b (512), kB (1000), K (1024), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and so on for T (terabyte), P (petabyte), E (exabyte), Z (zettabyte), Y (yottabyte).
-f,
--follow[={name|descriptor}]
This option will cause tail will loop forever, checking for new data at the end of the file(s). When new data appears, it will be printed.

If you follow more than one file, a header will be printed to indicate which file's data is being printed.

If the file shrinks instead of grows, tail will let you know with a message.

If you specify name, the file with that name is followed, regardless of its file descriptor.

If you specify descriptor, the same file is followed, even if it is renamed. This is the default behavior.
-F "Follow and retry". Same as using --follow=name --retry.
-n num,
--lines=num
Output the last num lines, instead of the default (10).

If you put a plus sign before num, tail will output all lines beginning with that line. For example, -n +1 will print every line.
--max-unchanged-stats=num If you are following a file with -f or --follow=nametail continuously checks the file to see if its size has changed. If the size has changed, it reopens the file and looks for new data to print. The --max-unchanged-stats option reopens a file, even if its size has not changed, after every num checks.

This option is useful if the file might be spontaneously unlinked or renamed, such as when log files are automatically rotated.
--pid=pid When following with -f or --follow, terminate operation after process ID pid dies.
-q,
--quiet,
--silent
Never output headers.
--retry Keep trying to open a file even if it is temporarily inaccessible; useful with the --follow=name option.
-s num,
--sleep-interval=num
When following with -f or --followsleep for approximately num seconds between file checks. With --pid=pid, check process pid at least once every num seconds.
-v,
--verbose
Always print headers.
--help Display a help message, and exit.
--version Display version information, and exit.

查看英文版

查看中文版

tail 例子

tail myfile.txt

输出文件myfile.txt的最后10行。

tail -n 100 myfile.txt

输出文件myfile.txt的最后100行。

tail -f myfile.txt

输出myfile.txt的最后10行,并监视myfile.txt的更新;tail然后继续输出添加到myfile.txt中的所有新行。

提示:tail将永远跟随文件。要停止它,按下CTRL + C ^。

tail -f access.log | grep 24.10.160.10

这是使用tailgrep实时选择性监视日志文件的有用示例。

在此命令中,tail监视文件access.log。它管 的access.log的最后十行,并添加任何新的生产线,到grep的 实用工具。greptail读取输出,并仅输出包含IP地址 24.10.160.10的行。

tail myfile.txt

Outputs the last 10 lines of the file myfile.txt.

tail -n 100 myfile.txt

Outputs the last 100 lines of the file myfile.txt.

tail -f myfile.txt

Outputs the last 10 lines of myfile.txt, and monitors myfile.txt for updates; tail then continues to output any new lines that are added to myfile.txt.

Tip: tail will follow the file forever. To stop it, press CTRL + C.

tail -f access.log | grep 24.10.160.10

This is a useful example of using tail and grep to selectively monitor a log file in real time.

In this command, tail monitors the file access.log. It pipes access.log's final ten lines, and any new lines added, to the grep utility. grep reads the output from tail, and outputs only those lines which contain the IP address 24.10.160.10.

查看英文版

查看中文版