删除 linux 中具有写入权限的文件
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
输出的文件名不是单个标记,它将中断。)
我想创建一个 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
输出的文件名不是单个标记,它将中断。)