grep
ничего не игнорирует. *
по умолчанию не сопоставляет файлы с ведущими .
. Если у вас есть GNU grep, проще использовать его рекурсивный вариант, вместо того, чтобы полагаться на подстановочные знаки оболочки:
grep Hello . -r
Насколько я знаю, не с API ядра. Если бы такой интерфейс существовал, он должен был бы быть ограничен суперпользователем -, иначе это позволило бы любому получить доступ к файлам в каталогах, к которым у него нет доступа для поиска.
Но вы можете использовать debugfs
в файловой системе (после ее размонтирования ), чтобы сделать это (, предполагая, что у вас есть доступ для записи к блочному устройству ).
debugfs -w /dev/block/device
(замените/dev/block/device
фактическим блочным устройством, в котором находится файловая система ).
Затем в ответ на приглашение debugfs
введите
stat <123>(с угловыми скобками, заменив 123 фактическим номером индекса )для проверки существования файла (индекс имеет счетчик ссылок больше 0 )и не является каталогом.
Если все хорошо, введите:
ln <123> path/to/newfileдля создания жесткой ссылки (обратите внимание, что путь указан относительно корня файловой системы ). Вслед за :
mi <123>для увеличения количества ссылок (нажмите Введите для всех полей, кроме счетчика ссылок, где вы хотите добавить 1 к текущему значению ).
В зависимости от вашего варианта использования другой подход может состоять в том, чтобы сначала собрать все файлы-кандидаты в одном каталоге, жестко связав его, а затем жестко связав файлы, которые вас особенно интересуют.
Например,
mkdir -pm 0700 by-inode/{0..999}
find <path> ! -type d -printf "%i/%p\0" |
while IFS=/ read -rd '' i n; do
ln "$n" "by-inode/$((i/1000))/$i"
done
(Предполагая, что все ваши индексные дескрипторы меньше 1 000 000, при необходимости создайте дополнительные каталоги ).
После этого ваши индексные дескрипторы группируются по 1000 -мудр и собираются в дереве by-inode/
. Оттуда вы можете связать их по мере необходимости.
Обратите внимание, что это означает, что удаление файлов в разделе <path>
не освободит пространство из-за этой дополнительной жесткой ссылки.