use*_*own 61
要删除隐藏文件,您必须指定:
rm -r images/* images/.*
Run Code Online (Sandbox Code Playgroud)
对于 globs 包含.and 的shell ..,这将导致类似的错误
rm: cannot remove `.' directory `images/.'
rm: cannot remove `..' directory `images/..'
Run Code Online (Sandbox Code Playgroud)
但它会删除隐藏文件。
没有错误消息的方法是使用带有 mindepth 的查找/删除。这是 gnu 查找。
find images -mindepth 1 -delete
Run Code Online (Sandbox Code Playgroud)
您的发现可能缺少-mindepthor-delete谓词,在这种情况下,您可以执行以下操作:
find images/. ! -name . -prune -exec rm -rf {} +
Run Code Online (Sandbox Code Playgroud)
zee*_*vfu 22
要删除目录中的所有文件和目录(包括隐藏的),您可以尝试以下操作:
用于ls -Ab匹配所有文件/目录
cd dir_name && rm -rf `ls -Ab`
Run Code Online (Sandbox Code Playgroud)用于find匹配所有文件/目录
find dir_name -mindepth 1 -delete
Run Code Online (Sandbox Code Playgroud)
或者,如果您find不支持-delete:
find dir_name -mindepth 1 -exec rm -rf {}
Run Code Online (Sandbox Code Playgroud)删除文件夹,然后重新创建它
rm -rf dir_name && mkdir dir_name
Run Code Online (Sandbox Code Playgroud)在 bash 中,
shopt -s dotglob
rm -rf dir_name/*
Run Code Online (Sandbox Code Playgroud)ami*_*ngh 14
要递归删除目录中的所有常规文件,此命令(假设是 GNU 或 FreeBSD find)就足够了:
find . -type f -delete
Run Code Online (Sandbox Code Playgroud)
这留下了所有非常规文件,如符号链接(无论它们是否指向常规文件)、目录、fifos、套接字、设备......
也可以看看:
find . ! -type d -delete
Run Code Online (Sandbox Code Playgroud)
删除除目录之外的任何类型的文件。