TAIL(1) TAIL(1) tail - tail []... []... 10 "-" -c, --bytes=[+]NUM NUM -c +NUM NUM -f, --follow[={name|descriptor}] 'descriptor' -F --follow=name --retry -n, --lines=[+]NUM output the last NUM lines, instead of the last 10; or use -n +NUM to output starting with line NUM --max-unchanged-stats=N with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files); with inotify, this option is rarely useful --pid=PID -f PID -q, --quiet, --silent --retry -s, --sleep-interval=N -f N 1.0 inotify --pid=P N P -v, --verbose -z, --zero-terminated NUL --help --version NUM b 512kB 1000K 1024MB 1000*1000M 1024*1024, GB 1000*1000*1000G 1024*1024*1024TPEZY KiB=KMiB=M With --follow (-f), tail defaults to following the file descriptor, which means that even if a tail'ed file is renamed, tail will continue to track its end. This default behavior is not desirable when you really want to track the actual name of the file, not the file descriptor (e.g., log rotation). Use --follow=name in that case. That causes tail to track the named file in a way that accommodates renaming, removal and creation. Paul RubinDavid MacKenzie Jim Meyering GNU coreutils Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . head(1) info '(coreutils) tail invocation' man man https://github.com/man-pages-zh/manpages- zh GNU coreutils 9.1 20229 TAIL(1)