Symlink
為什麼 ln -s 接受單個參數
> cd /tmp > ln -s foo > ls -alhF /tmp lrwxrwxrwx 1 user user 3 Jul 29 14:00 foo -> foo
這是一個錯誤
ln
還是有將文件符號連結到自身的案例?這是與
coreutils 8.21-1ubuntu5.1
.
這不是一個錯誤。當您要將文件連結到相同的基本名稱但在不同的目錄中時,案例是:
cd /tmp ln -s /etc/passwd ls -l passwd lrwxrwxrwx 1 xxx xxx 11 Jul 29 09:10 passwd -> /etc/passwd
確實,當您使用位於同一目錄中的文件名執行此操作時,它會創建一個指向自身的連結,但這並沒有什麼好處!
無論您使用符號連結還是硬連結,這都有效。
當然,找出答案的最簡單方法是嘗試並查看。當沒有給出第二個參數時,
ln
將在目前目錄中創建一個與原始目錄同名的連結:$ ln -s /etc $ ls -l lrwxrwxrwx 1 terdon terdon 4 Jul 29 16:09 etc -> /etc
這也在
man ln
:在第二種形式中,在目前目錄中創建指向 TARGET 的連結。
“第二種形式”是指:
ln
$$ OPTION $$…目標(第二形式)