[英]Delete File having write permission in linux
我想創建一個 shell 腳本來刪除所有具有特定權限的文件和子目錄,例如僅對所有用戶具有寫入權限或寫入和讀取權限。
我試過這個
echo "deleting files with write permission"
for file in [find -perm -222]
do
rm $file
done
echo "FIles Deleted"
您的語法已關閉; [
不運行新命令,它只是測試它的參數是否為非空。
find
本身有一個刪除它找到的東西的選項,所以可能會使用它。
find -type f -perm -222 -print -delete
我猜您只需要常規文件( -type f
),盡管-delete
也可以處理目錄。 -print
導致文件在被刪除之前被打印。
(實際上,您的語法只是在標記[find
、 -perm
和-222]
循環; for
的參數只是字符串。如果您想在那里運行命令,語法將是for file in $(command ...)
但這也是不好的做法,因為如果command
輸出不是單個標記的文件名,它會中斷。)
試試這個代碼。 如果您遇到權限問題,請使用sudo su
。
echo "Deleting files with write permission"
for file in $(find -perm -222 -type f)
do
rm $file
done
echo "Files Deleted"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.