Я использую свой внешний жесткий диск для хранения музыки, и теперь я установил Linux на свой ПК.
Я хотел бы стереть все файлы desktop.ini
в тысячах вложенных папок на жестком диске, как мне это сделать, используя только bash?
Вероятно, это возможно сделать просто с помощью bash, но на самом деле вполне возможно сделать это лучше, используя find
.
Предполагая, что у вас есть разрешение на запись в указанные каталоги, это будет так просто:
find /media/external-music-store -iname desktop.ini -delete
Чтобы проверить это сначала (настоятельно рекомендуется), попробуйте что-то вроде этого:
find /media/external-music-store -iname desktop.ini -print | less
который даст вам прокручиваемый список всех файлов, которые он будет удалять. (Чтобы выйти less
, нажмите q ; для прокрутки вверх и вниз используйте клавиши со стрелками.)
Я почти уверен, что find
входит в стандартную установку с большинством дистрибутивов Linux и, конечно, с большинством настольных систем. Debian упаковывает его как findutils
который является essential
и required
пакетом.
Использование -iname
вызывает совпадение имени файла без учета регистра, совпадающее с семантикой Windows. Его аналог -name
использует чувствительный случай соответствие (который является нормальным режимом работы на Unix-подобные системы, в том числе Linux).