Удалять только файлы без разрешений (чтение, запись и выполнение)

У меня есть каталог с именем data , с несколькими файлами в нем с разными типами разрешений. Я хочу удалить только файлы, у которых нет разрешений, то есть показанные как ---------- в ls -l . Я предполагаю использовать команду find , но я не знаю, с чего начать.

Какая одна строчная команда может это сделать?

1
задан 25 October 2020 в 21:11

1 ответ

The Команда find, которую вы ищете, выглядит следующим образом:

find /path/to/data -type f -perm 000 -delete

Внимание: Сначала запустите указанную выше команду без команды -delete, чтобы убедиться, что в ней перечислены правильные файлы.

  • -тип f показывает только файлы.
  • -perm 000 перечисляет только элементы без разрешений (000 означает «нет разрешений» в восьмеричном режиме).
  • -delete удаляет найденные элементы.

Дополнительные параметры см. в man find .

4
ответ дан 23 October 2020 в 22:30

Другие вопросы по тегам:

Похожие вопросы: