Как просмотреть права на файл или папку в цифровом виде FreeBSD
Необходимо получить информацию о правах папки или файла в числовом формате в FreeBSD. Например 644 вместо -rw-r--r-- для файла /etc/resolv.conf
Мы используем команду stat для получения информации о файле
Синтаксис
1 2 |
stat file stat [options] file |
Например
1 |
stat /etc/resolv.conf |
Результат
1 |
1314290432 258051 -rw-r--r-- 1 root wheel 4294967295 57 "Jan 24 01:02:44 2016" "Oct 12 16:30:41 2015" "Nov 12 17:30:41 2015" "Nov 12 17:30:41 2015" 4096 1 0x800 /etc/resolv.conf |
Используя опцию -x можно получить информацию о правах в числовом формате
stat -x /etc/resolv.conf
Сделаем вывод только числового значения прав на файл, используем опцию -f формат указывая необходимый формат вывода
1 2 3 4 |
stat -f "%OLp" /path/to/file stat -f "%OLp" /etc/resolv.conf perm=$(stat -f "%OLp" /etc/resolv.conf) echo "$perm" |
Результат
- -f "формат" — применение формата вывода.
- % — формат записи после % следует вывод информации.
- O — задает значения слева
- L — выбор битов разрешения файлов
- p — режим отображение файла (численное значение для разрешения файловой как в Ls -lTd).
Для получения не обработанного числового значение для файла, выполните следующую команду:
1 |
stat -r /etc/resolv.conf | awk '{ print $3}' |
Результат
1 |
0100644 |
Что бы вывести только последние 4ре символа можно выполнить следующую команду:
1 2 |
x=$(stat -r /etc/resolv.conf | awk '{ print $3}') cut -c 4-8 <<<"$x" |
Результат
1 |
0644 |
Подобная команда для Linux
1 2 3 4 |
## Linux stat syntax ## stat -c '%a' /etc/resolv.conf или find /etc/ -name resolv.conf -printf "%m\n" |
Результат
1 |
644 |
Мы предоставляем услуги поддержки серверов