Rate this post

Необходимо получить информацию о правах папки или файла в числовом формате в FreeBSD. Например 644 вместо -rw-r--r-- для файла /etc/resolv.confnnМы используем команду stat для получения информации о файлеnnСинтаксисn

stat filenstat [options] file

Напримерn

stat /etc/resolv.conf

Результатn

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 можно получить информацию о правах в числовом форматеnnstat -x /etc/resolv.confnnfreebsd-stat-outputnnСделаем вывод только числового значения прав на файл, используем опцию -f формат указывая необходимый формат выводаn

stat -f "%OLp" /path/to/filenstat -f "%OLp" /etc/resolv.confnperm=$(stat -f "%OLp" /etc/resolv.conf)necho "$perm"

Результатnnstat-octal-outputn

    n

  1. -f "формат" — применение формата вывода.
  2. % — формат записи после % следует вывод информации.
  3. O — задает значения слева
  4. L — выбор битов разрешения файлов
  5. p — режим отображение файла (численное значение для разрешения файловой как в Ls -lTd).

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

stat -r /etc/resolv.conf | awk '{ print $3}'

Результатn

0100644

Что бы вывести только последние 4ре символа можно выполнить следующую команду:n

x=$(stat -r /etc/resolv.conf  | awk '{ print $3}')ncut -c 4-8 <<<"$x"

Результатn

0644

Подобная команда для Linuxn

## Linux stat syntax ##nstat -c '%a' /etc/resolv.confn илиnfind /etc/ -name resolv.conf -printf "%m\n"

Результатn

644

Мы предоставляем услуги поддержки серверов