Разрешения на отображение файлов в числовом формате, т.е. "0755"? [дублировать]

Есть ли способ получить разрешения на файлы/каталоги в числовом формате "0777" вместо "-rw--r--r"?

29
задан 8 March 2011 в 20:10

3 ответа

Вы можете отобразить восьмеричные разрешения для файла с помощью команды stat:

stat -c %a [filename]

Или с помощью find:

find [path] -printf '%m %p\n'

Обратите внимание, что find является рекурсивным и будет печатать все файлы во всех подкаталогах. Вы можете использовать такие опции, как maxdepth или prune, чтобы остановить повторное использование.

0
ответ дан 8 March 2011 в 20:10

Вы также можете использовать этот обходной путь:

find FILENAME/DIRECROY -printf "%m:%f\n"

Пример проверки моего каталога видео:

find Videos -printf "%m:%f\n"

755:Videos

Другой метод:

Использовано перечислить все файлы каталогов с их разрешениями

ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/) \
             *2^(8-i));if(k)printf("%0o ",k);print}'
0
ответ дан 8 March 2011 в 20:10

Я знаю, что это старый пост, но я нашел его во время поиска решения и расширил его:

stat -c '%a - %n'

Это покажет права доступа к файлу и имя файла. Это позволяет вам видеть разрешения для каждого файла в папке с:

stat -c '%a - %n' *

Я также сделал еще один шаг и сделал псевдоним:

alias perms="stat -c '%a - %n'"

Таким образом, ввод perms * будет предоставьте мне разрешения для каждого файла или perms file.php даст мне разрешения только для этого одного файла.

0
ответ дан 8 March 2011 в 20:10

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

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