Найти символические ссылки легко:
% find . -type l
Найти жесткие ссылки сложно, потому что если подкаталог рассматриваемого каталога также имеет подкаталоги, то они увеличивают количество жестких ссылок. Вот как подкаталоги связаны с их родителями в UNIX (это запись ..
в каждом подкаталоге).
Если вы хотите найти только связанные файлы (а не каталоги), это будет работать:
% find . -type f \! -links 1
Это работает, потому что файл, который имеет , имеет жесткие ссылки, будет иметь счетчик ссылок> 1, а несвязанный файл имеет счетчик ссылок == 1, поэтому эта команда ищет все файлы, чей счетчик ссылок <> 1
В качестве альтернативы, в более новых версиях find
вы можете использовать:
% find . -type f -links +1
Это работает по той же причине, что и выше; однако, более новые версии find могут принимать + n или -n вместо числа. Это эквивалентно проверке на большее, чем n, или меньше, чем n, соответственно.