디렉터리(하위 디렉터리 포함)의 모든 숨겨진 파일을 삭제할 수 있는 명령이 있습니까?
일반 파일이 아닌 숨겨진 파일만 삭제하려면 필요합니다.
답변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 명령을 시작하지 마십시오. :)