Команда дерева в Linux с примерами
В системах UNIX / LINUX, а также в MS-DOS и Microsoft Windows дерево представляет собой рекурсивную программу вывода списка каталогов, которая создает список файлов с глубоким отступом. В дереве без аргументов перечислены файлы в текущем каталоге. Когда указаны аргументы каталога, дерево по очереди перечисляет все файлы или каталоги, найденные в данных каталогах. По завершении перечисления всех найденных файлов и каталогов дерево возвращает общее количество перечисленных файлов и каталогов. Есть варианты для изменения символов, используемых в выводе, и для использования цветного вывода.
Синтаксис:
$ tree [-adfgilnopqrstuxACDFNS] [-L level [-R]] [-H baseHREF] [-T title] [-o filename]
[–nolinks] [-P pattern] [-I pattern] [–inodes] [–device] [–noreport] [–dirsfirst]
[–version] [–help] [directory …]
Параметры :
–Help: выводит подробный список использования.
–Version: выводит версию дерева.
-a: распечатываются все файлы. По умолчанию tree не печатает скрытые файлы (начинающиеся с точки `. '). Ни в коем случае дерево не печатает конструкции файловой системы `. ' (текущий каталог) и `.. '(предыдущий каталог).
-d: выводить только каталоги.
-f: печатает префикс полного пути для каждого файла.
-i: дерево не будет печатать строки отступа. Полезно при использовании вместе с параметром -f.
-l: следует символическим ссылкам на каталоги, как если бы они были каталогами. Ссылки, которые могут привести к рекурсивному циклу, избегаются.
-x: Оставаться только в текущей файловой системе, как с find -xdev.
-P шаблон: перечислить только те файлы, которые соответствуют шаблону подстановочного знака.
Примечание: вы должны использовать опцию -a, чтобы также рассматривать файлы, начинающиеся с точки `. ' для соответствия. Допустимые операторы с подстановочными знаками: `* '(любые ноль или более символов),`?' (любой одиночный символ), «[…]» (любой одиночный символ, указанный в скобках (может использоваться необязательный - (тире) для диапазона символов: например: [AZ]) и «[^…]» (любой одиночный символ, кроме перечислены в скобках), а `| 'разделяет альтернативные шаблоны.
-I шаблон: не перечислять те файлы, которые соответствуют шаблону подстановки.
–Prune: заставляет дерево удалять пустые каталоги из вывода, полезно при использовании вместе с -P или -I.
–Filelimit #: не переходить по каталогам, которые содержат более # записей.
–Timefmt format: печатает (подразумевает -D) и форматирует дату в соответствии со строкой формата, которая использует синтаксис strftime.
–Noreport: запрещает печать отчета о файлах и каталогах в конце списка дерева.
-p: распечатать защиту для каждого файла (согласно ls -l).
-s: Печатать размер каждого файла вместе с именем.
-u: вывести имя пользователя или UID #, если имя пользователя недоступно, файла.
-g: вывести имя группы или GID #, если имя группы не доступно, файла.
-D: вывести дату последнего изменения указанного файла.
–Inodes: печатает номер inode файла или каталога.
–Device: выводит номер устройства, которому принадлежит файл или каталог.
-F: добавить «/» для каталогов, «=» для файлов сокетов, «*» для исполняемых файлов и «|» для FIFO, согласно ls -F
-q: печатать непечатаемые символы в именах файлов в виде вопросительных знаков вместо обозначения пряника по умолчанию.
-N: печатать непечатаемые символы как есть вместо обозначения пряника по умолчанию.
-r: отсортировать вывод в обратном алфавитном порядке.
-t: отсортировать вывод по времени последнего изменения, а не по алфавиту.
–Dirsfirst: перечислять каталоги перед файлами.
-n: Всегда отключать раскрашивание, отменяя опцию -C.
-C: всегда включать раскрашивание, используя встроенные цветовые значения по умолчанию, если переменная среды LS_COLORS не установлена. Полезно для раскрашивания вывода в трубу.
-A: включить функцию взлома линейной графики ANSI при печати строк отступа.
-S: включить линейную графику ASCII (полезно при использовании шрифтов в режиме консоли Linux). Эта опция теперь эквивалентна «–charset = IBM437» и со временем будет обесценена.
-L уровень: максимальная глубина отображения дерева каталогов.
-R: рекурсивно пересекать дерево каталогов каждого уровня (см. Параметр -L), и в каждом из них снова выполнять дерево, добавляя «-o 00Tree.html» в качестве новой опции.
-H baseHREF: включить вывод HTML, включая ссылки HTTP. Полезно для ftp-сайтов. baseHREF дает базовое местоположение ftp при использовании вывода HTML. То есть локальный каталог может быть `/ local / ftp / pub ', но на него должна указываться ссылка как` ftp: //host-name.organization.domain/pub' (baseHREF должно быть `ftp: //hostname.organization .домен'). Подсказка: не используйте строки ANSI с этой опцией и не указывайте более одного каталога в списке каталогов. Если вы хотите использовать цвета через таблицу стилей CSS, используйте параметр -C в дополнение к этому параметру для принудительного вывода цвета.
-T заголовок: устанавливает заголовок и строку заголовка H1 в режиме вывода HTML.
–Charset charset: установка набора символов для использования при выводе HTML и рисовании линий.
–Nolinks: отключает гиперссылки в выводе HTML.
-o имя файла: отправить вывод в имя файла.
Примеры :
1. Как установить дерево в Unix / Linux.
По умолчанию команда tree не установлена. Введите следующую команду, чтобы установить то же самое в RHEL / CentOS / Fedora Linux с помощью команды yum:
# yum install tree
Если вы используете Debian / Mint / Ubuntu Linux, введите следующую команду apt-get, чтобы установить древовидную команду:
$ sudo apt install tree
Если вы используете Apple OS X, введите:
варить установочное дерево
2. Отобразите древовидную иерархию каталога.
$ tree -a ./GFG
Выход :
3. Список файлов с введенным шаблоном
$ tree -P образец *.
Выход :
4. Перечислите те каталоги, в которых количество файлов / каталогов больше 'N'.
$ tree --filelimit 3 ./GFG
5. Перечислите файлы с их разрешениями.
$ tree -p ./GFG
Выход :
6. Печатает номер устройства, которому принадлежит файл или каталог.
$ tree --устройство ./GFG
Выход :
7. Выводит на печать время последнего изменения, а не в алфавитном порядке.
$ tree -t ./GFG
Выход :