Linux see directory tree structure using tree command
H ow do list contents of directories in a structure like format under Linux operating systems?
You need to use command called tree. It will list contents of directories in a tree-like format. It is a recursive directory listing program that produces a depth indented listing of files. When directory arguments are given, tree lists all the files and/or directories found in the given directories each in turn.
Tutorial details
Difficulty level
Easy
Root privileges
Yes
Requirements
Linux with tree command
Est. reading time
4 mintues
Upon completion of listing all files/directories found, tree returns the total number of files and/or directories listed.
tree command installation on a Linux
By default the tree command is not installed. Type the following command to install the same on a RHEL / CentOS / Fedora Linux using yum command: # yum install tree ## CentOS/RHEL 8.x and Fedora user try the dnf command ## # dnf install tree If you are using Debian / Mint / Ubuntu Linux, type the following apt-get command/apt command to install the tree command: $ sudo apt-get install tree If you are using Apple OS X/macOS, install Homebrew on macOS and then type the following brew command: brew install tree
Syntax – Linux see directory tree structure
To list contents of /etc in a tree-like format: tree /etc Sample outputs:
No ads and tracking
In-depth guides for developers and sysadmins at Opensourceflare✨
Join my Patreon to support independent content creators and start reading latest guides:
How to set up Redis sentinel cluster on Ubuntu or Debian Linux
How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
How to protect Linux against rogue USB devices using USBGuard
Join Patreon ➔
The -a option should be passed to see all files. By default tree does not print hidden files (those beginning with a dot ‘.’). In no event does tree print the file system constructs ‘.’ (current directory) and ‘..’ (previous directory).: tree -a To list directories only, run: tree -d Pass the -C option to see colorized output, using built-in color defaults: tree -C Sample outputs:
Fig.01: Linux tree Command To Display Structure of Directory Hierarchy
Источник
Утилита tree — просмотр дерева директорий в командной строке
Утилита tree
Обычно для просмотра списка файлов и директорий в командной строке Linux используется команда ls . В данной заметке мы рассмотрим, как выводить древовидный список файлов и директорий. Для этого мы воспользуемся утилитой/командной tree
Команда tree рекурсивно обходит все вложенные директории и файлы для выбранной директории и выводит информацию в удобном древовидном формате.
Установка утилиты tree
По умолчанию утилита tree не установлена в популярных дистрибутивах Linux.
Для установки в Ubuntu выполните в терминале команду:
Для установки в Fedora выполните команду:
Синтаксис команды tree
Команду tree можно использовать следующим образом:
Опции
У команды довольно много опций, остановимся только на некоторых из них:
-a
показывать все файлы, включая скрытые.
-d
показывать только директории.
-u
показывать владельца или идентификатор пользователя (UID).
-g
показывать группу или идентификатор группы (GID).
-L уровень
выводить дерево не глубже определенного уровня вложенности.
-h
показывать размер файлов.
-D
показывать дату последнего изменения файла или директории.
-С
включить подсветку разными цветами.
-X
вывести информацию в формате XML.
-J
вывести информацию в формате JSON.
Полный список опций команды tree можно получить, выполнив команду man tree
Примеры использования
Рассмотрим несколько примеров использования команды tree
Дерево текущей директории
Выведем дерево файлов в текущей директории. Выполняем команду tree без аргументов:
Вывод размеров файлов
Воспользуемся опцией -h , чтобы показать размеры файлов:
Вывод владельца и даты
Выведем размеры, владельца, группу и дату изменения:
Источник
Команда tree linux
Команда tree не зря получила такое название — она умеет изображать структуру всех каталогов, имеющихся на компьютере, в виде дерева. Его самые толстые ветви — это корневая папка и каталоги первого уровня вложенности, а в роли мелких веточек выступают отдельные файлы, которые хранятся где-то далеко в недрах памяти.
Чтобы команда работала на машинах с ОС Linux, нужно от имени администратора установить соответствующую утилиту — в набор «из коробки» она не входит.
Синтаксис и опции tree
Запись команды tree ничем не отличается от большинства стандартных команд и выглядит следующим образом:
$ tree опции
Опций у команды tree множество. Вот те из них, которые отвечают за отображение дерева папок:
-a — вывод всех без исключения файлов.
-d — только список директорий.
-l — переход по символическим ссылкам, которые ведут к папкам.
-f — содержимое папок будет показано с префиксами пути.
-x — учитывает только текущую файловую систему.
-L — задает уровень вложенности для отображения в выводе.
-R — рекурсивный переход по каталогам всех уровней.
-P — отображение файлов, название которых соответствует шаблону.
-I — исключение из вывода файлов, название которых соответствует шаблону.
-o — печать вывода в файл с заданным именем.
—noreport — запрещает команде выводить отчет по количеству папок и файлов в конце дерева.
—charset — задает кодировки для отображения графических и html-файлов.
—filelimit — папки, которые содержат больше файлов, чем указано, показаны не будут.
А эти опции используются для управления отображением названий документов:
-q — заменяет непечатные символы в названиях файлов знаком ?.
-N — выводит непечатные символы в названиях файлов как есть.
-Q — заключает названия файлов в двойные кавычки.
-p — для каждого из файлов указывает его название и список разрешенных действий.
-u — печатает имя или идентификатор учетной записи, под которой был создан файл.
-g — печатает имя или идентификатор группы пользователей, которая имеет права на доступ к файлу.
-s — рядом с названием файла выводит его размер в байтах.
-h — выводит размер файла в более простом для человеческого восприятия виде, добавляя к числу буквенное сокращение.
-D — печатает дату последнего изменения файла (либо последнее изменение статуса в комбинации с опцией -c).
-F — добавляет символ / для папок, = для файлов сокета, * для исполняемых файлов, > для door-файлов, | для специальных файлов FIFO.
—inodes — выводит номера индексных дескрипторов для файлов и папок.
—device — указывает номер устройства, к которому принадлежит файл или папка.
Опции для сортировки результатов:
-v — упорядочивает выдачу по уровням вложенности.
-t — сортирует выдачу по дате последнего изменения файлов и папок.
-c — сортирует выдачу по дате последнего изменения статуса.
-U — результаты будут выведены в том порядке, в котором папки расположены на диске.
-r — сортирует выдачу в обратном порядке.
—dirsfirst — сначала будут показаны папки, потом — файлы.
Опции отображения дерева:
-i — убирает линии («ветки» дерева), файлы и папки отображаются в виде списка.
-n — делает дерево одноцветным.
-C — возвращает дереву разноцветное отображение после использования опции -n.
Дальше рассмотрим как команда tree в linux может использоваться на примерах.
Примеры использования tree
Самый простой способ использовать команду tree Linux — напечатать в терминале всего лишь одно слово:
Результатом станет стандартное отображение структуры папок. Размер выдачи зависит от того, сколько хлама накопилось на жестком диске. У автора его столько, что листать — не перелистать:
Немного сократить объем информации можно, попросив команду показывать только папки. Для этого служит опция -d. А чтобы отпилить от дерева еще больше ненужных веток, установим ограничение на количество файлов, которые хранятся в папках (если файлов больше, папка не попадет в выдачу). В этом нам поможет опция —filelimit.
tree -d —filelimit 26
Кстати, нельзя устанавливать лимит меньше, чем 25 файлов.
По умолчанию команда tree в linux не показывает скрытые папки. Чтобы увидеть их, следует воспользоваться опцией -a. Заодно не помешает упорядочить выдачу — например, по уровням вложенности (параметр -v). Ну и почему бы не узнать, когда тот или иной файл был изменен последний раз — добавим к команде еще и -D.
Теперь поработаем с определенной группой файлов. Для примера отберем те, у которых формат pdf — сделать это позволяет опция -P. Она дает команде понять, что нужно выводить только документы, соответствующие маске. Чтобы задать маску для любого количества символов от 0 до бесконечности используется знак *, а чтобы обозначить только 1 символ — знак ?. Название файла или папки следует заключить в одинарные кавычки.
tree -P ‘*.pdf’ —prune
Опция —prune нужна для того, чтобы исключить из выдачи папки, внутри которых нет искомых документов (по умолчанию команда выводит даже те папки, которые не имеют отношения к поисковому запросу).
Вот что получаем в итоге:
Стандартно результат команды tree направляется в терминал. Но есть возможность напечатать его в файл и сохранить для дальнейшего использования. С этой целью создадим документ txt с названием tree_command_results и поместим его в корневой каталог. После этого выполним команду следующего вида:
tree -d -o tree_command_results.txt
Опция -d использована для сокращения количества информации и ее присутствие здесь не обязательно. Опция -o отвечает за перенаправление вывода в файл.
В терминале никакой результат не отображается:
Зато в указанном файле находим перечень папок, который занимает 45 страниц:
Для получения дополнительной информации о файлах дополним команду tree опциями -h (показывает размер), -u (указывает на аккаунт, с которого файл был создан), -p (так мы узнаем, что можно делать с каждым конкретным файлом — только просматривать или также изменять его содержимое). Также используем параметр -f, чтобы видеть полный путь к каждому документу.
Полезный лайфхак — если объединить опции -P и -f, можно быстро находить файлы, затерявшиеся в памяти компьютера:
tree -f -P ‘*studio*’ —prune
Выводы
Пользу команды tree для пользователей Linux переоценить сложно. С ее помощью удается получить всю возможную информацию о файлах и папках, расположенных на жестком диске. Кстати, у нее есть конкурент — более известная команда ls, которая, тем не менее, уступает tree в удобстве и функционале. А как и для чего вы используете команду tree?
Источник
How To View Directory Tree Structure In Linux
Today, we are going to learn how to view directory structure using Tree command. This command will display the contents of a directory in a tree-like format. You might wonder why on the earth someone would use this command while we already have ls command to list the contents of a directory. Unlike ls command, Tree command is a recursive directory listing program that produces a depth indented listing of files. It is quite useful to find the directories that contains lot of sub-directories in Unix-like systems.
Install Tree in Linux
Tree command is available in the default repositories of most Linux distributions. So, it can be installed from the distribution’s default package manager as shown below.
On Arch Linux and its derivatives:
On RHEL, CentOS, Fedora:
On Debian, Linux Mint, Ubuntu:
We have installed tree utility. Now, let us see some practical examples.
View directory Tree structure in Linux
If you run the tree command without any arguments, the tree command will display all contents of the current working directory in a tree-like format.
Sample output:
Tree command output
Upon completion of listing all files/directories found, tree returns the total number of files and/or directories listed. As you see in the above output, the current directory contains 3321 sub-directories, and 40023 files.
To list the files of the specific directory in a tree-like format, say for example /etc, run:
Sample output:
View directory Tree structure in Linux
By default, Tree will not list the hidden files. If you want to list the hidden files, use -a parameter like below.
Sample output:
List the hidden files using tree command
Now, check the above output. The total of number of directories and files are higher than the previous output. It is because, this time the tree command lists all directories and files including hidden files.
To view the directory structure in a colored format, use -C parameter.
Sample output:
View directory structure in color
Did you notice? Now, the tree command lists the directories and files in different colors. This is will useful to easily distinguish the directories and files.
As you may have noticed, all of the above commands lists the sub-directories and files. You can also list only the directories using -d parameter like below.
Sample output:
List only directory structure and exclude sub-directories
You can also display the directory listing line by line using the following command:
Press ENTER to navigate through the output.
By default, Tree command will list all sub-directories and the files inside the main directory. To limit the depth or of level of recursion, use -L parameter like below.
Here, L indicates the maximum display depth of the directory tree.
For more details, refer the man pages.
Conclusion
As you can see in this guide, tree command will give you a nice graphical tree view of the directory structure. You can use this command when you want to view the contents of directories that have tons of other files/folders nested inside their folders.