删除所有隐藏文件

删除所有隐藏文件

是否有一个命令可以删除目录(包括其子目录)中的所有隐藏文件?

我需要它只删除隐藏文件,而不是常规文件。

答案1

find yourstartingpath/ -name ".*" -type f -exec rm {} \; -print

-仅当您需要列出它们时才打印

例子 :

francois@zaphod:~/tmp/test$ touch {a,b,c,a/1,a/2,b/2}/.hid
francois@zaphod:~/tmp/test$ touch {a,b,c,a/1,a/2,b/2}/nothid
francois@zaphod:~/tmp/test$ tree
.
├── a
│   ├── 1
│   │   └── nothid
│   ├── 2
│   │   └── nothid
│   └── nothid
├── b
│   ├── 2
│   │   └── nothid
│   └── nothid
└── c
    └── nothid

6 directories, 6 files
francois@zaphod:~/tmp/test$ find . -name ".*" -type f -exec rm {} \; -print
./b/.hid
./b/2/.hid
./a/1/.hid
./a/.hid
./a/2/.hid
./c/.hid
francois@zaphod:~/tmp/test$ tree
.
├── a
│   ├── 1
│   │   └── nothid
│   ├── 2
│   │   └── nothid
│   └── nothid
├── b
│   ├── 2
│   │   └── nothid
│   └── nothid
└── c
    └── nothid

6 directories, 6 files
francois@zaphod:~/tmp/test$

所有 nothid(den) 文件均保持完整

请:在没有先备份数据的情况下,切勿启动 for 循环或 find ... exec rm 命令:)

相关内容