Графические файловые менеджеры позволяют просматривать содержимое каталога или одного из его подкаталогов, как через команды ls
и dir
в shell. Большинство графических менеджеров также позволяют просматривать каталоги в формате дерева, где вы можете видеть подкаталоги и их содержимое в одном представлении, но что если вы хотите сделать то же самое в терминале или сеансе SSH?
Существует инструмент командной строки, который делает именно это, и называется он Tree — здесь нет загадочного двух буквенного названия. Запущенный без аргументов, tree
выводит список файлов и каталогов в текущем каталоге и тех, которые находятся ниже него. Как и в случае с ls
, вы можете передать имя(-ена) каталога в список, и также есть несколько опций, изменяющих вывод. Некоторые из них наиболее полезны:
-a
показывает скрытые дотфайлы;
-L N
выводит только N каталогов вглубь, полезно для чего-то вроде домашнего каталога с множеством вложенных подкаталогов;
-D
показывает время последней модификации каждого файла;
-p
показывает тип и разрешения каждого файла;
-h
показывает размер каждого файла в удобочитаемом формате;
--prune
скрывает пустые каталоги;
-P <шаблон>
показывает только те файлы, которые соответствуют заданному шаблону;
-f
выводит полный путь для каждого файла;
Существует множество других опций, включая возможность вывода в формате XML, HTML или JSON, управление цветовым оформлением вывода и многое другое. На странице руководства подробно описывает все эти возможности. Tree не является заменой ls
, а дополнением к нему, каждый из них выполняет полезные, но разные функции.