Использование нескольких < < <

grep ничего не игнорирует. * по умолчанию не сопоставляет файлы с ведущими . . Если у вас есть GNU grep, проще использовать его рекурсивный вариант, вместо того, чтобы полагаться на подстановочные знаки оболочки:

grep Hello . -r
17
12.03.2019, 13:56
2 ответа

Насколько я знаю, не с API ядра. Если бы такой интерфейс существовал, он должен был бы быть ограничен суперпользователем -, иначе это позволило бы любому получить доступ к файлам в каталогах, к которым у него нет доступа для поиска.

Но вы можете использовать debugfsв файловой системе (после ее размонтирования ), чтобы сделать это (, предполагая, что у вас есть доступ для записи к блочному устройству ).

debugfs -w /dev/block/device

(замените/dev/block/deviceфактическим блочным устройством, в котором находится файловая система ).

Затем в ответ на приглашение debugfsвведите

stat <123>
(с угловыми скобками, заменив 123 фактическим номером индекса )для проверки существования файла (индекс имеет счетчик ссылок больше 0 )и не является каталогом.

Если все хорошо, введите:

ln <123> path/to/newfile
для создания жесткой ссылки (обратите внимание, что путь указан относительно корня файловой системы ). Вслед за :

mi <123>
для увеличения количества ссылок (нажмите Введите для всех полей, кроме счетчика ссылок, где вы хотите добавить 1 к текущему значению ).
25
27.01.2020, 19:47

В зависимости от вашего варианта использования другой подход может состоять в том, чтобы сначала собрать все файлы-кандидаты в одном каталоге, жестко связав его, а затем жестко связав файлы, которые вас особенно интересуют.

Например,

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>не освободит пространство из-за этой дополнительной жесткой ссылки.

3
27.01.2020, 19:47

Теги

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