В 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
(т. е. доступны для записи пользователем).