У меня есть каталог с именем data
, с несколькими файлами в нем с разными типами разрешений. Я хочу удалить только файлы, у которых нет разрешений, то есть показанные как ----------
в ls -l
. Я предполагаю использовать команду find
, но я не знаю, с чего начать.
Какая одна строчная команда может это сделать?
The Команда find
, которую вы ищете, выглядит следующим образом:
find /path/to/data -type f -perm 000 -delete
Внимание: Сначала запустите указанную выше команду без команды -delete
, чтобы убедиться, что в ней перечислены правильные файлы.
-тип f
показывает только файлы. -perm 000
перечисляет только элементы без разрешений (000
означает «нет разрешений» в восьмеричном режиме). -delete
удаляет найденные элементы. Дополнительные параметры см. в man find
.