Для моей задачи мне нужно перечислить все файлы в дереве (каталог, все его подкаталоги, все подкаталоги и т. Д.).
Я бы предпочел видеть их в Nautilus или Krusader, но решение для командной строки также интересно (в этом случае мне понадобятся полные имена файлов, размеры и время модификации для перечисления).
Ответы:
Дерево будет очень удобно для вас.
с помощью
tree filepath
списка файлов.источник
Это, наверное, самый простой способ. Я просто взломал скрипт поиска, чтобы дать вам больше контроля.
источник
ls -R
если вы не хотите, чтобы все детали.Вы можете играть с форматированием printf сколько угодно. Это дает вам прекрасную возможность отформатировать вещи так, как вам нужно, что неоценимо, если вы используете вывод в другом приложении.
Подробнее: http://linux.about.com/od/commands/l/blcmdl1_find.htm
Для лучшей читаемости вы можете передать все это через
column
команду, и она автоматически изменит размеры, чтобы они выстроились в линию.источник
Как ответил Оли,
find
позволит вам искать по всему дереву каталогов:Вы также можете использовать
-type f
опцию, чтобы ограничить результаты только файлами. Если вы хотите сопоставить шаблон файла, вам нужны опции-name
или-iname
(с учетом регистра и без учета регистра, соответственно). Прочитайтеfind
справочную страницу пользователя - есть много вариантов, которые вы можете использовать, чтобы сузить / уточнить ваш поиск.И, кроме того, если вы ожидаете, что вам будет возвращено несколько скринингов данных, не забудьте направить свои результаты
less
.@Oli: +1 Я тоже узнал что-то новое -
column
. Не использовал это раньше.источник
ls
является стандартной командой для вывода списка файлов в Ubuntu и других операционных системах Linux и Unix.ls
Это особенно полезно для изучения, потому что вы найдете его установленным в каждой Unix-системе, которую вы когда-либо встречали. По умолчанию при запуске отображаются только файлы в текущем каталоге.Однако
-R
флаг является рекурсивной опцией (обратите внимание на заглавную R , а не на r ), которая также покажет вам все подкаталоги.Вы также запросили «детали» - для этого вам нужен
-l
флаг (это строчная буква L, а не номер один). Помните, что это дает вам информацию о правах доступа к файлам, а также размер файла, информацию о времени / дате и имя файла.Если вы хотите также показать скрытые файлы / папки (эквивалент Ctrl+ Hв Nautilus), добавьте
-a
флаг «все».Вы можете объединить флаги, чтобы получить что-то вроде:
Если вы запустите это в любой папке приличного размера, вы обнаружите, что это приводит к огромному длинному выводу, который очень быстро прокручивается по экрану. Чтобы обойти это, вы можете «передать» вывод
ls
через программу, которая называетсяless
(имя - пародия на подобное,more
которое было первым, но имеет больше возможностей).Это позволит вам использовать клавиши со стрелками вверх / вниз, наряду с PageUp / Down, чтобы проходить через выход с более удобной скоростью.
источник
Использование Krusader:
Это позволит вам обрабатывать весь лот, перетаскивая его на другую панель и т. Д.
источник
Как насчет сценария Наутилуса ?
Инструкция по установке: Как я могу установить скрипт Nautilus?
источник
Специально для этого я создал программу - Снимок каталогов .
Он рекурсивно перебирает каталог и сохраняет имена и размеры всех файлов и папок, с которыми он сталкивается, в аккуратно структурированных файлах HTML, которые имеют организацию, аналогичную организации входного каталога.
Другими словами, это можно рассматривать как гиперссылочную версию команд
dir /s
ortree /f
.источник
dir
иtree
с опциями в стиле DOS, поэтому я должен спросить, будет ли это работать на Ubuntu?кораблик
Это также работает в Немо.
источник
Вы можете поместить их в свой файл .bashrc
Теперь вы можете использовать команду get_tree внутри любого каталога, и она отобразит всю иерархию.
Синтаксис:
Пример вывода:
Надеюсь это поможет !!
источник