Рабочие каталоги процессов известны другим процессам во многих операционных системах. Их можно запрашивать из ядра в BSD и Linux, используя sysctl()
и procfs
соответственно. Однако ни команда Linux ps
из procps, ни команды ps
в BSD не получают и не сообщают эту информацию.
Для получения текущего каталога процесса на BSD используется команда fstat
, которая сообщает файловую систему и номер узла i -.
% fstat -p $$|awk '{ if ("wd" == $4 || 1 == NR) print; }' USER CMD PID FD MOUNT INUM MODE SZ|DV R/W JdeBP zsh 71512 wd /usr/home/JdeBP 4 drwxr-xr-x 127 r %
Обратите внимание, что, конечно, рабочие каталоги могут быть доступны по нескольким именам, и эти имена могут меняться по мере переименования вещей и создания/удаления ссылок. Стабильная их часть — это файловый объект, vnode, а не записи каталога для доступа к нему.
Таким образом, механизм Linux, сообщающий об одном имени в /proc/pid/cwd
, не обязательно надежен.
Наконец, :обратите внимание, что текущий каталог процесса не обязательно является рабочим каталогом, который был у него при порождении процесса, а это все, что на самом деле выполняет оболочка управления заданиями знать.
Наконец-то я обнаружил, что это в основном зависит от файловой системы и тома
идентификационный шестнадцатеричный код присутствует/должен присутствовать в документации файловой системы
как показано ниже для NTFS и EXT4
Conclusion: There is not specific command or tool only for listing partitions hex code besides the function of cgdisk, gdisk, cfdisk, fdisk, etc while creating the partition.
gdisk - list partition hex code previous to creation
cgdisk, cfdisk and fdisk - list partition hex code during creation only
Раздел NTFS $VOLUME _ИНФОРМАЦИЯ 0x70 Атрибут
http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf
Раздел EXT4 Идентификатор MBR (правый столбец)
https://en.wikipedia.org/wiki/Ext4
Этот пост также частично отвечает на вопрос
Почему при создании раздела parted требуется указать тип файловой системы и чем его действие отличается от действия такой утилиты, как mkfs.ext4?
"A partition can have a type. The partition type is a hint as in "this partition is designated to serve a certain function". Many partition types are associated with certain file-systems, though the association is not always strict or unambiguous. You can expect a partition of type 0x07 to have a Microsoft compatible file-system (e.g. FAT, NTFS or exFAT) and 0x83 to have a native Linux file-system (e.g. ext2/3/4)."
Таким образом, очевидно, что код не всегда строго связан, как показано в предыдущем ответе.
Например, EXT4 83h Любая родная файловая система Linux (см. 93h , соответствует 43h)
https://en.wikipedia.org/wiki/Partition_type#PID_83h
Или Solaris ZFS , например, как показано в разделах BFh и 82h
https://en.wikipedia.org/wiki/Partition_type#PID_BFh
https://en.wikipedia.org/wiki/Partition_type#PID_82h
Дополнительные примеры информация, собранная в ходе исследования
ZFS Атрибуты BF01 BF07 EF02
BF01 специальный шестнадцатеричный код Раздел Solaris
BF07 специальный шестнадцатеричный код типа Solaris Зарезервировано 1
EF02 специальный шестнадцатеричный код Загрузочный раздел BIOS
https://www.it-swarm-es.tech/es/gdisk/codigos-hex-de-gdisk/961390299/