Что такое “режим без предварительной обработки в шестнадцатеричном числе” от вывода статистики?

  1. ps aux | grep java
  2. Вы ищете идентификатор Процесса (PID) процесса, который Вы хотите, и затем Вы используете, уничтожают команду (для того, как использовать, уничтожают, читает мое сообщение здесь),
  3. Также читайте: здесь и здесь и здесь

    Альтернатива: ps -fp $(pgrep -d, -x java) или Вы могли бы использовать htop или вершину и искать Java

6
31.05.2012, 09:04
1 ответ

Существует две части в дешифровке, что означает "режим без предварительной обработки в шестнадцатеричном числе"; первое - то, что это находится в шестнадцатеричном числе, но режимы доступа обычно описываются в восьмеричном:

41ed16 = 407758
81a416 = 1006448

Если необходимо было посмотреть на /tmp, который обычно имеет ограниченный флаг удаления ('липкий бит') набор:

$ ls -ld /tmp
drwxrwxrwt 17 root root 4096 2012-05-31 13:45 /tmp
$ stat --format '%f %a' /tmp
43ff 1777

и преобразование:

43ff16 = 417778

"Режим без предварительной обработки в шестнадцатеричном числе" описан в руководстве программиста для функции статистики (man 2 stat), замечание, что они - восьмеричные значения:

The following flags are defined for the st_mode field:

S_IFMT     0170000   bit mask for the file type bit fields
S_IFSOCK   0140000   socket
S_IFLNK    0120000   symbolic link
S_IFREG    0100000   regular file
S_IFBLK    0060000   block device
S_IFDIR    0040000   directory
S_IFCHR    0020000   character device
S_IFIFO    0010000   FIFO
S_ISUID    0004000   set UID bit
S_ISGID    0002000   set-group-ID bit (see below)
S_ISVTX    0001000   sticky bit (see below)
S_IRWXU    00700     mask for file owner permissions
S_IRUSR    00400     owner has read permission
S_IWUSR    00200     owner has write permission
S_IXUSR    00100     owner has execute permission
S_IRWXG    00070     mask for group permissions
S_IRGRP    00040     group has read permission
S_IWGRP    00020     group has write permission
S_IXGRP    00010     group has execute permission
S_IRWXO    00007     mask for permissions for others (not in group)
S_IROTH    00004     others have read permission
S_IWOTH    00002     others have write permission
S_IXOTH    00001     others have execute permission

(Странно, страница справочника онлайн пропускает этот раздел.)

Это - немного поля, и мы видим, что последние четыре цифры соответствуют режиму доступа; ведущая цифра (в шестнадцатеричном числе) соответствует типу файла, таким образом, шестнадцатеричный режим 81a4 соответствует "каталогу, режим 0644", и шестнадцатеричный режим 41ed соответствует "регулярному файлу, режим 0775".

9
27.01.2020, 20:25
  • 1
    Превосходный ответ! Я просто хотел отметить полезный отрывок преобразованием, это: from_raw_mode() { _tmp=$(printf '%d' "0x$1"); printf '%s' $((($_tmp >> 9) & 0x7)) $((($_tmp >> 6) & 0x7)) $((($_tmp >> 3) & 0x7)) $(($_tmp & 0x7)); } особенно удобный на ограниченных платформах, где stat единственный путь состоит в том, чтобы получить этот режим, и он только предлагает необработанную форму. Конечно, если необходимо знать особую возможность, затем лучше только протестировать тот бит непосредственно, если у Вас есть режим без предварительной обработки. –  Haravikk 02.07.2015, 18:10

Теги

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