rey*_*yes 5 linux command-line ubuntu
如何删除目录和子目录中的文件而不是文件夹?
我需要能够在 Linux 命令行上执行此操作。
与rm
?
find
和 \xe2\x80\x9cmodern\xe2\x80\x9d 版本GNU find
(随 Linux 发行版一起提供的版本)和find
最近的 macOS 版本[哪些版本?]有一个delete
选项。
find . -type f -delete\n
Run Code Online (Sandbox Code Playgroud)\n这将删除当前目录和子目录中的所有查找内容。它将目录保留在原处。
\n这比下面的方法更有效,因为它不必使用rm
. 考虑文件路径时它也更安全。
GNU find 手册中有一个关于删除文件的非常广泛的部分。
\nfind
传统的find
可能没有-delete
选择。在这种情况下,您可以使用该exec
选项对匹配的文件 \xe2\x80\x93\xc2\xa0 在这种情况下rm
对它们执行某些操作。
find . -type f -exec rm {} \\;\n
Run Code Online (Sandbox Code Playgroud)\nfind
通过管道输送到xargs
您还可以使用find
输出输入xargs
,它将文件路径作为rm
命令的参数。
find . -type f -print0 | xargs -0 rm\n
Run Code Online (Sandbox Code Playgroud)\n该-print0
选项对于避免破坏文件名包含空格的内容是必要的。一般来说,如果没有这个选项,不要使用这样的东西,它非常不安全。
归档时间: |
|
查看次数: |
3300 次 |
最近记录: |