2012-09-16 89 views
12

希望有人能夠幫助這一點:-maxdepth選項找到:路徑必須先表達

我試圖刪除/ tmp目錄用這個命令會話文件:

​​

但我得到了這些錯誤:

發現:警告:您指定了 非選項參數-name後-maxdepth選項,但選項不是位置(-maxdepth AFF在其之前指定的測試以及在 之後指定的測試)。請在其他參數前指定選項。

find: paths must precede expression Usage: find [-H] [-L] [-P] [path...] [expression] 

我看了在網上解決方案,但找不到任何。我用其他命令刪除了其他tmp文件,並想知道是否影響了某些卷或套接字。

預先感謝您

+0

加上'-exec'之前'$ CMD' – Drakosha

回答

22

find有三種選擇:選項是用來匹配文件(例如-name-user),指定的動作對匹配的文件(-print-exec)執行選項,控制命令總體行爲的選項(例如-maxdepth,-xdev)。第三種類型必須放在另外兩種之前。因此,它應該是:

find /tmp -maxdepth 1 -name 'sess_*' -user Username -exec $CMD {} \; 
+0

我明白了,我已經嘗試過,但錯過了-exec部分。感謝Barmar.The命令通過,但每個文件以權限被拒絕結束。我想因爲我刪除會話到我的用戶名帳戶,因爲/ tmp具有適當的權限:drwxrwxrwt 4 root root 1168384 Sep 15 17:21 – Amit

+0

沒關係!只有root用戶擁有的文件的訪問被拒絕,但其他用戶擁有的文件被默認刪除。當刪除成功時,它不迴應任何內容。謝謝你們。 – Amit

+1

如果您希望它在找到匹配文件時回顯某些內容,請使用-print選項。 – Barmar

相關問題