2015-12-26 30 views
0

運行OSX 10.11.2,我需要rm -rf文件,位於atom,npm和node下面的符號鏈接中指示的位置以及鏈接。我目前以用戶身份登錄,但終端處於su模式。
我嘗試了幾個命令無濟於事。我試圖去那些地方,但不知道如何。從符號鏈接OSX終端rm -rf文件

enter image description here

謝謝

+0

您可以使用'readlink'來獲取目標路徑。 –

回答

0

開始,rm本身並沒有一個合適的選項刪除該鏈接指向的文件。這會讓你在一個命令中做到這一點很麻煩。腳本幫助:

#!/bin/sh 
for name in "[email protected]" 
do 
    if [ -L "$name" ] 
    then 
     target=$(stat -f '%Y' "$name") 
     $0 "$target" 
    fi 
    [ -e "$name" ] && rm -rf "$name" 
done 

該腳本使用OSX stat命令來獲取鏈接目標,和復發到自身,以去除所述目標(可能是另一條鏈路),以及去除所述目標之後,刪除鏈接(或非鏈接,視情況而定)。

在評論中,OP澄清說,鏈接本身不應該被刪除。這可以通過更改測試來完成:

#!/bin/sh 
for name in "[email protected]" 
do 
    if [ -L "$name" ] 
    then 
     target=$(stat -f '%Y' "$name") 
     $0 "$target" 
    fi 
    [ -e "$name" ] && [ ! -L "$name" ] && rm -rf "$name" 
done 
+0

我需要單獨離開應用程序符號鏈接,而不是觸摸它,以及自我發佈後創建的其他符號鏈接。我沒有看到你的代碼中排除了這樣的例外,thx –

+0

Thomas:謝謝你更新你的答案。我的評論與在我發佈的圖片中選擇某個列表相關,例如我想忽略apm行。對不起,apm被瀏覽器拼寫更正爲應用程序,這不是我的意圖。最好是修改代碼以選擇要刪除的項目,並選擇要排除的項目。 –