рекурсивный 'ls' предоставление абсолютных имен файлов

Я не знаю, можно ли сделать это непосредственно с ванильным ядром.

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

Затем можно считать "файл" с простым сценарием и иметь доступ к той памяти.

4
01.10.2011, 02:14
3 ответа

Вы хотите find(1). Это сделает точно, что Вы хотите. Можно также указать различные условия фильтра, такие как тип файла (не включайте каталоги), более новый, чем метка времени на данном файле и т.д. Страница справочника опишет их более подробно.

Кроме того, смотрите на -exec опция; Вы можете использовать это вместо того, чтобы выполнить итерации по выводу.

9
27.01.2020, 20:47
  • 1
    @thias Также взглянул на find -ls опция. –  rozcietrzewiacz 30.09.2011, 15:10
  • 2
    @thias я исправлю предложение Concerned к сильной рекомендации: использовать find … -exec. Не использовать for x in $(find …): это не работает, потому что это не может справиться с именами файлов, содержащими пробел. find -exec точно правильный инструмент для задания. –  Gilles 'SO- stop being evil' 01.10.2011, 02:16

При использовании удара ≥4 или zsh или ksh93 ≥o+1 можно заставить оболочку сделать рекурсивный globbing: **/ подстановочный знак соответствует каталогам на любой глубине. В ударе необходимо активировать опцию с shopt -s globstar (удар), и остерегается этого для избиения 4.2, **/ символьные ссылки пересечений на каталоги. В ksh93 Вам нужно set -o globstar (ksh93); в zsh это всегда включается.

for x in **/*.txt; do …

При необходимости в сценарии, чтобы быть портативными к другим оболочкам, используйте find команда, это - точно правильный инструмент для задания. Отметьте это find внешняя команда, которая может работать двумя способами: это может генерировать список файлов, и это может выполнить команды для каждого файла. Если Вы хотите выполнить команду для каждого файла, использовать -exec:

find . -type f -name '*.txt' -exec chmod a+r {} +

1Among необолочки Bourne, fish и tcsh также имейте функцию

4
27.01.2020, 20:47

дерево также является хорошим инструментом для этого.

Я использую

tree -Dpushfag --du

, вы также можете добавить ограничение по глубине, например, максимум 2 уровня:

tree -Dpushfag --du -L 2
0
27.01.2020, 20:47

Теги

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