我想删除文件夹 /home/user 中的所有文件和文件夹,我正在使用命令
rm -rf /home/user/*
没有成功,接下来我尝试:
cd /home/user;rm -rf *
输出结果如下
rm: cannot lstat `*': No such file or directory
我该如何解决?如果我逐个删除文件,它可以工作,但使用“*”则不行。
答案1
您的用户是否对要删除的文件具有读取权限?文件名是什么样的?如果文件名以.
开头可能不会被捡到*
。
要删除当前目录中以 开头的文件.
,可以使用find
管道到 的老技巧xargs
:
find . -name '.*' -maxdepth 1 -type f | xargs rm
首先尝试不使用| xargs rm
来看看返回的文件是否与find
你的预期相符,然后使用管道再次运行它。
如果您还想递归查找文件,只需-maxdepth 1
从命令中取出即可。
答案2
关于什么:
find /home/user -delete
但要小心 - 首先阅读 find 的手册页!或者在特定目录中进行一些训练。
答案3
我只是用rm -rf /home/user
。