uutils/coreutils

tail --follow=name accepts symlink replacements

Open

#10328 opened on Jan 18, 2026

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Rust (23,246 stars) (1,852 forks)batch import
U - tailgood first issuereported-canonical

Description

Component

tail

Description

When using --follow=name, uutils tail accepts a file that has been replaced with a symlink and continues tailing the symlink target. GNU tail refuses to follow a path that becomes a symlink, printing "has been replaced with an untailable symbolic link".

Test / Reproduction Steps

cd /tmp && rm -rf tail_test && mkdir tail_test && cd tail_test
echo "original" > testfile

# GNU tail
timeout 2 tail --follow=name testfile &
sleep 0.3
rm testfile && ln -s /etc/passwd testfile
sleep 0.3
# Output: "has been replaced with an untailable symbolic link"

# uutils tail
rm -f testfile && echo "original" > testfile
timeout 2 tail --follow=name testfile &
sleep 0.3
rm testfile && ln -s /etc/passwd testfile
sleep 0.3
# Output: "'testfile' has appeared;  following new file" + contents of /etc/passwd

Contributor guide