Answers:
而是删除文件夹的内容。
rm -r MYFOLDER/*
shopt -s dotglob
先设置,它就可以。
rm -R /path/to/myfolder/*
是避免过多请求批准删除每个文件和子文件夹的正确语法。注意资本R
。
您可以使用:
rm -r MYFOLDER/{.[^.],.??*}
这也会删除隐藏的文件和文件夹。如果MYFOLDER目录中的文件太多,则应改为运行:
ls MYFOLDER/{.[^.],.??*}|xargs rm -r
meta/
目录中有超过500k文件,因此我想尝试使用xargs替代方法,但是我收到以下错误消息: ls: cannot access meta/.[^.]: No such file or directory ls: cannot access meta/.??*: No such file or directory rm: missing operand
bash
外壳。外壳程序必须支持文件格式的“括号扩展”和“正则表达式”。
我认为,最简单的方法是删除整个目录(包括目录本身),然后重新创建文件夹。在某些情况下,这不是一个好的解决方案(例如无人看管的脚本或更复杂的管道),但是您没有指定为什么不想删除该文件夹。
rm -rf foldername
mkdir foldername
哎呀。您确实指定了(我重新阅读了您的帖子)。好了,仍然可以删除和重新创建。特别是如果您将命令链接在一起,例如
rm -rf foldername && mkdir foldername
要么
rm -rf foldername; mkdir foldername
尝试rm -r -f filename
使用CentOS 6.x