删除文件夹和子文件夹中的所有隐藏文件

时间:2014-02-11 15:32:52

标签: bash terminal solaris

我需要删除当前文件夹及其子文件夹中的所有隐藏文件。有没有办法用单行命令而不创建脚本?

2 个答案:

答案 0 :(得分:7)

使用

find "$some_directory" -type f -name '.*' -delete

如果你想删除隐藏的目录,你还需要多加小心,以避免像罗纳德所提到的...

find "$some_directory" -name '.*' ! -name '.' ! -name '..' -delete

使用任一命令,您应首先在没有-delete主数据库的情况下运行,以验证find返回的文件/目录列表仅包含您确实要删除的文件。

为了完整起见,我应该指出-deletefind的GNU扩展名;符合POSIX的命令将是

find "$some_directory" -type f -name '.*' -exec rm '{}' \;

即,将-delete替换为-exec ... \;,将...替换为用于删除文件的命令行,但将实际文件名替换为'{}'

答案 1 :(得分:0)

对于Netgear Stora,我想删除所有隐藏的.webview .thumbnails .AppleDouble等文件和文件夹。 可以在/ home /您的用户名/文件夹中工作:

find -type f -name '.*' ! -name '.' ! -name '..'  -exec rm -fv '{}' \;

然后

find -type d -name '.*' ! -name '.' ! -name '..'  -exec rm -frdv '{}' \;