Поиск по сайту:

Перевести разрешения rwx в восьмеричный формат в Linux


Иногда вам может оказаться полезным отображать права доступа к файлам или каталогам в восьмеричной форме вместо rwx или, возможно, вы хотите отображать и то, и другое.

Вместо использования старой доброй команды ls -l в большинстве современных дистрибутивов Linux (если не во всех) вы найдете stat, утилиту, которая отображает состояние файла или файловой системы.

При запуске без аргументов, но с указанием имени файла, stat отобразит большой объем информации о файле или каталоге. При использовании с опцией -c stat позволяет указать формат вывода. Именно этот вариант нас особенно интересует.

Чтобы отобразить все файлы в текущем рабочем каталоге с указанием прав доступа в восьмеричной форме, введите:

stat -c '%n %a' *
Пример вывода
add_emails.sh 755
anaconda-ks.cfg 600
delete_emails.sh 755
employee-dump.sql 644
index.html 644
latest.tar.gz 644
nrpe-2.15.tar.gz 644
php7 644
playbook.retry 644

В приведенной выше команде последовательность форматирования:

  1. %n – означает имя файла
  2. %a – означает права доступа в восьмеричной форме.

Альтернативно вы можете добавить %a к %A, аргументу, передаваемому в stat, если вы хотите отобразить разрешения в rwx также формат.

В этом случае вы можете ввести:

stat -c '%n %A' *
Пример вывода
add_emails.sh -rwxr-xr-x
anaconda-ks.cfg -rw-------
delete_emails.sh -rwxr-xr-x
employee-dump.sql -rw-r--r--
index.html -rw-r--r--
latest.tar.gz -rw-r--r--
nrpe-2.15.tar.gz -rw-r--r--
php7 -rw-r--r--
playbook.retry -rw-r--r--

Чтобы просмотреть тип файла в выходных данных, вы можете добавить последовательность форматов %F.

stat -c '%c %F %a'

Вы можете указать несколько других последовательностей форматов. Дополнительную информацию можно найти на странице stat.

man stat

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

Как я уже упоминал ранее, многие современные дистрибутивы Linux теперь содержат утилиту stat. Но вы также должны помнить, что ваша оболочка может иметь собственную версию stat, поэтому обратитесь к документации вашей оболочки для получения дополнительной информации об опциях и о том, как их использовать.