Squ*_*dly 30 coreutils symlink ln
> cd /tmp
> ln -s foo
> ls -alhF /tmp
lrwxrwxrwx 1 user user 3 Jul 29 14:00 foo -> foo
Run Code Online (Sandbox Code Playgroud)
这是一个错误ln
还是有一个将文件符号链接到自身的用例?
这是与coreutils 8.21-1ubuntu5.1
.
Cel*_*ada 47
这不是一个错误。用例是当您要将文件链接到相同的基本名称但位于不同的目录中时:
cd /tmp
ln -s /etc/passwd
ls -l passwd
lrwxrwxrwx 1 xxx xxx 11 Jul 29 09:10 passwd -> /etc/passwd
Run Code Online (Sandbox Code Playgroud)
确实,当您使用同一目录中的文件名执行此操作时,它会创建一个指向自身的链接,这并没有什么好处!
无论您使用符号链接还是硬链接,这都有效。
当然,找出答案的最简单方法是尝试并查看。当没有给出第二个参数时,ln
将在当前目录中创建一个与原始目录同名的链接:
$ ln -s /etc
$ ls -l
lrwxrwxrwx 1 terdon terdon 4 Jul 29 16:09 etc -> /etc
Run Code Online (Sandbox Code Playgroud)
这也在man ln
:
在第二种形式中,在当前目录中创建一个指向 TARGET 的链接。
“第二种形式”是指:
ln [选项]... 目标(第二种形式)