Files
如何:查找符號連結的名稱
我做了一個符號連結,
ln -s /home/orca/www/* /var/
現在我需要刪除它。我需要移動我所有的網路文件/var/www
,/home
因為我/
已經滿了。 這就是我所做的。我從這裡看到我只是簡單地
rm symlink_name
但究竟是什麼名字?rm /home/orca/www/* ?
即使我讀過很多文章,我也傾向於把事情倒退,因為我天生就是非正統的。這是一個實時生產伺服器,所以我在採取行動之前要謹慎行事。少即是多。我寧願安全而不是抱歉。備份已到位。
請參閱man ln中的文件。
你使用了第三種形式
ln [OPTION]... TARGET... DIRECTORY
這將為DIRECTORY中的所有TARGET創建連結。
您的命令已為 中的所有文件和目錄(以及其他對象,如果有)創建(或嘗試創建)連結
/home/orca/www
,但如果名稱已存在於/var
. (在這種情況下,您的命令可能會列印錯誤消息。)由於
/var
通常不是空的,您不能簡單地刪除所有內容。我現在可以建議的最好方法是刪除其中存在的所有名稱
/home/orca/www
(/var
如果它是那裡的符號連結)。此循環將顯示將被刪除的內容:
for i in /home/orca/www/* do l=/var/"${i##*/}" if [ -h "$l" ] then echo rm "$l" fi done
**檢查輸出。**如果這是您想要的,請刪除
echo
以真正執行rm
命令。for i in /home/orca/www/* do l=/var/"${i##*/}" if [ -h "$l" ] then rm "$l" fi done