Scripting

刪除所有隱藏文件

  • January 30, 2020

是否有一個命令可以刪除目錄中的所有隱藏文件,包括其子目錄?

我需要它來僅刪除隱藏文件,而不是正常文件。

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

-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 命令 :)

引用自:https://unix.stackexchange.com/questions/564990