Использование:
ps aux | awk '/ata/{print $2}'
cut
команда, которую Вы используете, не дает желаемый вывод, поскольку существует больше чем одно пространство между столбцами.
Вы можете использовать команду 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
Например
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
Чтобы получить количество ссылок из 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)
Укажите номер inode команде find
и попросите ее выполнить команду stat
для файла:
find . -inum #### -exec stat -c "%h" {} \;