Linux команда tree: как удобно просматривать структуру папок.

Если вы работаете в Linux, то наверняка сталкивались с необходимостью быстро понять, как организована файловая система. Для этого отлично подходит команда tree.

В этой статье я расскажу, что такое команда tree, как её использовать и зачем она нужна начинающим пользователям Linux.

Что такое команда tree?

Команда tree позволяет отображать содержимое папки и её подкаталогов в виде красивой иерархической структуры. В отличие от стандартной команды ls, которая показывает список файлов и папок, tree визуализирует всю структуру данных в виде дерева.

Почему команда tree — полезный инструмент?

  • Быстрый просмотр структуры: легко понять, как организована папка.
  • Декларативное отображение: ясно видна вложенность папок и файлов.
  • Экспорт данных: сохраняйте структуру в текстовые файлы для последующего анализа.

Проверка наличия tree

В большинстве дистрибутивов Linux команда tree не установлена по умолчанию. Проверить, есть ли она в вашем случае можно следующей командой:

[root@waky practice]# tree --version
tree v1.8.0 (c) 1996 - 2018 by Steve Baker, Thomas Moore, Francesc Rocher, Florian Sesser, Kyosuke Tokoro
[root@waky practice]#

Если вы получили в ответ информацию об версии программы, то tree установлен и готов к работе. В противном случае утилиту нужно сначала установить.

За руководством по установке tree обратитесь к нашим статьям для CentOS и Ubuntu.

Основные команды и параметры tree

Давайте рассмотрим самые популярные параметры, которые помогают сделать вывод более удобным.

1. Показать содержимое папки

Базовый способ применения команды, вывод структуры указанной директории.

Просто наберите:

tree /путь/до/папки

Пример вывода:

[root@waky practice]# tree ./
./
├── dir1
│   ├── file1.txt
│   └── subdir1
│       ├── file2.txt
│       └── sub_subdir1
│           └── file3.txt
├── dir2
│   ├── file6.txt
│   └── subdir2
│       ├── file5.txt
│       └── sub_subdir2
│           └── file4.txt
└── file7.txt

6 directories, 7 files
[root@waky practice]#

Если не задать путь, команда будет выполнена к текущей директории.

2. Указать глубину отображения

В системе может присутствовать большое количество вложений. Если мы хотим узнать структуру пары ближайших уровней, то имеет смысл ограничить глубину просмотра опцией -L:

tree -L 2

Это покажет только две уровни вложенности:

[root@waky practice]# tree -L 2
.
├── dir1
│   ├── file1.txt
│   └── subdir1
├── dir2
│   ├── file6.txt
│   └── subdir2
└── file7.txt

4 directories, 3 files
[root@waky practice]#

3. Отобразить скрытые файлы

По умолчанию tree  не показывает скрытые файлы и папки. Если нужно включить их в вывод используйте опцию a:

tree -a

Пример вывода:

 [root@waky practice]# tree -a ./
./
├── dir1
│   ├── file1.txt
│   ├── .hidden_file2
│   └── subdir1
│       ├── file2.txt
│       └── sub_subdir1
│           └── file3.txt
├── dir2
│   ├── file6.txt
│   └── subdir2
│       ├── file5.txt
│       └── sub_subdir2
│           ├── file4.txt
│           └── .hidden_file3
├── file7.txt
└── .hidden_file1

6 directories, 10 files
[root@waky practice]#

4. Запись структуры в файл

Часто структура файлов и папок может оказаться очень обширной. Ее вывод непосредственно в терминал может банально не вместится из-за ограничения по количеству строк.

Для сохранения структуры в файл используйте перенаправление вывода:

tree > structure.txt

Пример:

[root@waky practice]# tree > structure.txt
[root@waky practice]#

Далее информацию из файла можно извлекать частями с помощью команды tail или команды head:

[root@waky practice]# head structure.txt
.
├── dir1
│   ├── file1.txt
│   └── subdir1
│       ├── file2.txt
│       └── sub_subdir1
│           └── file3.txt
├── dir2
│   ├── file6.txt
│   └── subdir2
[root@waky practice]#

5. Отобразить только папки

Иногда нужно показать только папки, для этого существует опция -d:

tree -d

Пример вывода:

[root@waky practice]# tree -d ./
./
├── dir1
│   └── subdir1
│       └── sub_subdir1
└── dir2
    └── subdir2
        └── sub_subdir2

6 directories
[root@waky practice]#

Заключение

Команда tree — удобный и мощный инструмент для визуализации структуры папок в Linux. Он делает работу с файлами проще и нагляднее, помогает быстро ориентироваться в сложных каталогах.