Разработать число каналов inode числа?

Использование:

ps aux | awk '/ata/{print $2}'

cut команда, которую Вы используете, не дает желаемый вывод, поскольку существует больше чем одно пространство между столбцами.

7
22.03.2014, 00:32
4 ответа

Определение количества ссылок с использованием имени

Вы можете использовать команду stat , чтобы получить количество ссылок на данный файл / каталог:

$ stat lib/
  File: ‘lib/’
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: fd02h/64770d    Inode: 11666186    Links: 3
Access: (0755/drwxr-xr-x)  Uid: ( 1000/    saml)   Gid: ( 1000/    saml)
Context: unconfined_u:object_r:user_home_t:s0
Access: 2014-03-21 18:16:10.521963381 -0400
Modify: 2014-01-13 17:16:49.438408973 -0500
Change: 2014-01-14 17:57:46.636255446 -0500
 Birth: -

Взглянув на страницу руководства для ] stat :

%h     number of hard links
%i     inode number

Таким образом, вы можете получить только это значение напрямую, используя возможности вывода stat - printf или - format :

$ stat --printf="%h\n" lib/
3

$ stat --format="%h" lib/
3

$ stat -c "%h" lib/
3

Определение количества ссылок с помощью индексного дескриптора

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

$ ls -id lib
11666186 lib

$ find -inum 11666186 -exec stat -c "%h" {} +
3

Ссылки

8
27.01.2020, 20:15

Например

ls -l passwd
-rw-r--r-- 1 root root 1402 2008-03-30 17:49 passwd

Это число (1) на самом деле является счетчиком ссылок файла при ссылке на файл или количеством содержащихся в нем записей каталога при обращении к каталогу (включая записи. И .. ).

Также, например,

ls -i /etc/passwd
8654127 /etc/passwd

Это номер inode для / etc / passwd. Теперь вы можете узнать, сколько ссылок на самом деле связано с этим номером inode 8654127 с помощью:

find /etc/ -inum 8654127
/etc/passwd

В моем примере это только / etc / passwd, так что вы можете сделать для своего случая:

find / -inum 592255
2
27.01.2020, 20:15

Чтобы получить количество ссылок из inode без поиска во всей файловой системе, на ext2 / ext3 / ext4 файловую систему, вы можете использовать debugfs . Обратной стороной является то, что вам необходимо знать устройство и иметь привилегии root. Плюс, конечно, в том, что это может быть намного быстрее. Для файла с индексом 5638454 на dev / sda2 :

sudo debugfs -R 'stat <5638454>' /dev/sda2

На btrfs , задана точка монтирования / mnt вместо устройства :

stat -c %h $(sudo btrfs inspect-internal inode-resolve 5638454 /mnt)
1
27.01.2020, 20:15

Укажите номер inode команде find и попросите ее выполнить команду stat для файла:

find . -inum #### -exec stat -c "%h" {} \;
6
27.01.2020, 20:15

Теги

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