1

В Linux, как я могу перечислить обычные файлы в текущем каталоге, которые не доступны для записи пользователем? Я пытался с помощью команды ls -l.Но он отображал файлы владельца и группы.Есть ли команда для отображения этого?

1 ответ1

1

Вы можете сделать это используя find:

find -maxdepth 1 -type f ! -writable -ls

Параметры:

  • -maxdepth 1: find рекурсивен, это ограничивает результаты текущей папкой и ее дочерними элементами
  • -type f: возвращать только файлы (не папки или ссылки)
  • ! -writable: возвращать только те, которые не доступны для записи текущему пользователю.
  • -ls Не просто возвращать имена файлов, но имитировать вывод ls -l .

В качестве альтернативы, если вы не заботитесь о владельце, группе и текущем пользователе, просто о битах разрешения:

find -maxdepth 1 -type f ! -perm -200 -ls
  • ! -perm -200 возвращает те, которые не имеют всех установленных битов разрешений в наборе 200 (т. е. доступны для записи пользователем).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .