我需要删除当前文件夹及其子文件夹中的所有隐藏文件。有没有办法用单行命令而不创建脚本?
答案 0 :(得分:7)
使用
find "$some_directory" -type f -name '.*' -delete
如果你想删除隐藏的目录,你还需要多加小心,以避免像罗纳德所提到的.
和..
。
find "$some_directory" -name '.*' ! -name '.' ! -name '..' -delete
使用任一命令,您应首先在没有-delete
主数据库的情况下运行,以验证find
返回的文件/目录列表仅包含您确实要删除的文件。
为了完整起见,我应该指出-delete
是find
的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 '{}' \;