Intereting Posts
Разбиение на две загрузки двух Linux-систем Как удалить файл файловой системы NTFS, чье имя содержит «:»? Правильное определение многострочного приглашения в tcsh Могу ли я перенаправить весь трафик на порт на совершенно другой IP-адрес? Что такое несмежный каталог? Как изменить каталог на рабочий стол на немецком ubuntu? Замена подстроки в файле a строкой в ​​файле b при совпадении Поиск значений в 2 столбцах из CSV Хром: «Эта версия Chrome больше не поддерживается» – linux mint Изменение / etc / fstab, чтобы заставить работать команду mount -a где «файлы» ipcs и почему названы pipe (mkfifo), не перечисленные в ipcs Как определить предпочтение завершения zstyle для псевдонима zsh? Смонтируйте «спящий» раздел Windows, зашифрованный битлокатором Что лучше для установленных приложений: / usr / bin или домашний каталог пользователя? Проблема перед экраном входа в систему – Fedora 21

Как найти файл – это жесткая ссылка или символическая ссылка?

У меня есть файл в ~/file.txt .

Я создал жесткую ссылку:

 ln ~/file.txt ~/test/hardfile.txt 

и файл символической ссылки:

 ln -s ~/file.txt ~/test/symfile.txt 

Теперь,

  1. Как я могу узнать, какой файл является жесткой ссылкой?
  2. Как узнать, какая жесткая ссылка следует за файлом?

Мы можем найти файл symlink через -> , но как насчет жесткой ссылки?

введите описание изображения здесь

 -rw--r--r-- 2 kamix users 5 Nov 17:10 hardfile.txt ^ 

Это количество жестких ссылок, которые имеет файл. «Жесткая ссылка» на самом деле находится между двумя каталогами; это действительно тот же файл. Вы можете сказать, посмотрев на результат stat :

 stat hardlink.file | grep inode Device: 805h/2053d Inode: 1835019 Links: 2 

Обратите внимание, что число ссылок равно 2, что указывает на наличие другого листинга для этого файла. Причина, по которой вы знаете это, – это тот же файл, что и другой, у них одинаковый номер inode; ни один другой файл не будет иметь этого. К сожалению, это единственный способ их найти (по номеру inode).

Есть несколько идей о том, как лучше всего найти файл inode (например, с помощью find ) в этом Q & A.

В жестком связанном файле имеется более одной ссылки ( 2 после флажков разрешений). Вы можете использовать команду stat чтобы легко извлечь эту информацию:

 $ stat --printf '%h\n' hardfile.txt 2 

См. man 1 stat страницу для stat ( man 1 stat ) для получения информации о других значениях и способах их печати.