你可能有時需要在 Linux 上建立或者刪除符號連結。如果有,你知道該怎樣做嗎?之前你做過嗎?你踩坑沒有?如果你踩過坑,那沒什麼問題。如果還沒有,別擔心,我們將在這裡幫助你。
使用 rm
和 unlink
命令就能完成移除(刪除)符號連結的操作。
符號連結(symlink)又稱軟連結,它是一種特殊的檔案型別,在 Linux 中該檔案指向另一個檔案或者目錄。它類似於 Windows 中的快捷方式。它能在相同或者不同的檔案系統或分割區中指向一個檔案或著目錄。
符號連結通常用來連結庫檔案。它也可用於連結紀錄檔檔案和掛載的 NFS(網路檔案系統)上的資料夾。
rm 命令 被用來移除檔案和目錄。它非常危險,你每次使用 rm
命令的時候要非常小心。
unlink
命令被用來移除特殊的檔案。它被作為 GNU Gorutils 的一部分安裝了。
rm
命令是在 Linux 中使用最頻繁的命令,它允許我們像下列描述那樣去移除符號連結。
# rm symlinkfile
始終將 rm
命令與 -i
一起使用以了解正在執行的操作。
# rm -i symlinkfile1rm: remove symbolic link ‘symlinkfile1’? y
它允許我們一次移除多個符號連結:
# rm -i symlinkfile2 symlinkfile3rm: remove symbolic link ‘symlinkfile2’? yrm: remove symbolic link ‘symlinkfile3’? y
這像移除符號連結檔案那樣。使用下列命令移除符號連結目錄。
# rm -i symlinkdirrm: remove symbolic link ‘symlinkdir’? y
使用下列命令移除多個符號連結目錄。
# rm -i symlinkdir1 symlinkdir2rm: remove symbolic link ‘symlinkdir1’? yrm: remove symbolic link ‘symlinkdir2’? y
如果你在結尾增加 /
,這個符號連結目錄將不會被刪除。如果你加了,你將得到一個錯誤。
# rm -i symlinkdir/rm: cannot remove ‘symlinkdir/’: Is a directory
你可以增加 -r
去處理上述問題。但如果你增加這個引數,它將會刪除目標目錄下的內容,並且它不會刪除這個符號連結檔案。(LCTT 譯註:這可能不是你的原意。)
# rm -ri symlinkdir/rm: descend into directory ‘symlinkdir/’? yrm: remove regular file ‘symlinkdir/file4.txt’? yrm: remove directory ‘symlinkdir/’? yrm: cannot remove ‘symlinkdir/’: Not a directory
unlink
命令刪除指定檔案。它一次僅接受一個檔案。
刪除符號連結檔案:
# unlink symlinkfile
刪除符號連結目錄:
# unlink symlinkdir2
如果你在結尾增加 /
,你不能使用 unlink
命令刪除符號連結目錄。
# unlink symlinkdir3/unlink: cannot unlink ‘symlinkdir3/’: Not a directory