Отобразить дерево каталогов linux

Обновлено: 04.07.2024

Как пользователь Linux, нашим предпочтительным вариантом для списков каталогов является старая добрая команда ls. Команда ls, однако, испытывает недостаток в некоторых функциях, которые обеспечиваются нашей темой на рассмотрении - древовидная команда. Эта команда печатает папки, подпапки и файлы в форме дерева. Можно сделать команду еще более полезной при помощи различных вариантов / флаги с ним для настройки списка.

Эта статья объяснит, с примерами, использованием древовидной команды.

Мы выполнили команды и процедуры, упомянутые в этой статье о системе Ubuntu 18.04 LTS.

Как установить древовидную команду

Установка древовидной утилиты командной строки довольно проста через способное - получают команду. Откройте свою командную строку Ubuntu, Терминал, или через системного Тире или через ярлык Ctrl+Alt+t.

Тогда введите следующую команду как sudo:

Обратите внимание на то, что только авторизованный пользователь может добавить, удалить и настроить программное обеспечение на Ubuntu.


После того, как дерево установлено, можно проверить номер версии и также удостовериться, если установка была успешна посредством следующей команды:


Мы рекомендуем выполнить следующую команду перед каждой установкой так, чтобы можно было получить последнюю доступную версию программного обеспечения, существующего в репозиториях онлайн:

Как к команде Use Tree

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

Основной Древовидный вывод

Это - самый основной способ использовать древовидную команду:


Вывод показывает древовидную структуру Вашего текущего каталога, отображая все папки, подпапки и файлы.

Содержание дисплея определенного каталога

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

-a [DirectoryName/Path] дерева $

Следующая команда перечислит все файлы и подпапки, если таковые имеются, в каталоге Pictures:


Отобразите скрытые файлы наряду с другими файлами с помощью Дерева

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


Файлы и папки в дереве, начинающем с a'.', являются скрытыми. В вышеупомянутом выводе я выделил одну такую запись, чтобы объяснить, как это похоже.

Отобразите только список каталогов через Дерево

Если Вы хотите просмотреть только список каталогов а не базовые файлы, можно использовать флаг d с древовидной командой следующим образом:


Отобразите префикс полного пути файлов и папок с помощью Дерева

С f сигаретой можно настроить древовидный флаг для отображения полного пути как префикса для всего списка файлов и папок.


Это особенно полезно, когда Вы хотите знать то, что существует где.

Размер дисплея файлов и папок с помощью Дерева

С флагом s можно заставить древовидную команду распечатать размер, в байтах, всех файлов и папок в каталоге.


Это помогает Вам в определении, какие объекты берут большую сумму пространства в Вашей системе и избавляются от ненужных.

Полномочия чтения-записи дисплея файлов и папок с помощью Дерева

Через флаг p в Вашей древовидной команде можно просмотреть чтение, записать и удалить полномочия на перечисленных файлах и папках.


Таким образом, прежде чем Вы хотите выполнить операцию на файле и папке, Вы можете сначала знать и можете быть редактированием полномочия, которые Вы имеете на определенном объекте.

Перечислите содержание папки до определенного уровня / глубина через Дерево

Вместо того, чтобы перечислить все содержание Вашего каталога, можно настроить древовидную команду для отображения дерева к определенному уровню или глубине. Например, уровень 1 в древовидной команде только покажет список данной папки, а не любую из ее подпапок. Вот то, как использовать синтаксис:

Следующая команда отобразит только подкаталоги (с помощью флага-d) текущего каталога а не далее расширенного дерева.


Сделайте список файлов печати команды Tree, содержащий определенный шаблон

Можно использовать древовидную команду, чтобы только перечислить файлы, содержащие определенный подстановочный шаблон. Вот синтаксис для определения шаблона:

Дерево $-P [[шаблон] *] / [* [шаблон]] / [[*pattern*]]

В этом примере я использую древовидную команду для списка тех файлов, запускающихся с ключевого слова “касание”:


Заставьте команду Tree постараться не печатать некоторые выборочные имена файлов

Можно также использовать древовидную команду для списка всего кроме файлов, содержащих определенный подстановочный шаблон.

Дерево $-I * [ключевые слова]

Следующая команда перечислит все файлы и папки за исключением той, содержащей “поспешное” ключевое слово.


Вывод команды Tree печати в файл

Если Вы хотите распечатать результат древовидной команды в файл, можно использовать следующий синтаксис:

Дерево $-o [имя файла]

Следующая команда распечатает список всех файлов и папки папки Pictures в файл HTML под названием myfile.html

Древовидная справка

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


При помощи флагов мы описали и также при помощи комбинаций этих флагов, можно освоить древовидную команду еще больше!

Чтобы просмотреть содержимое подкаталога `work' в текущем каталоге, введите:

Чтобы просмотреть содержимое каталога `/usr/doc', введите:

$ ls /usr/doc [Enter]

Из листинга по умолчанию Вы не сможете отличить каталоги и исполняемые файлы от обычных. Используйте ключ `-F', который заставит ls поместить символ `/' после имен подкаталогов и символ `*' после имен исполняемых файлов:

В этом примере текущий рабочий каталог содержит исполняемый файл `repeat', каталог `words', и несколько файлов других типов `test1' и `test2'.

Еще один способ просмотра содержимого каталогов - использование ``менеджера файлов'' , которых для Linux создано достаточно много; наиболее популярным является ``Midnight Commander'' или mc.

Чтобы вывести более подробный листинг каталога, используйте ls с ключом `-l' (``long''). Листинг будет содержать размер каждого файла в байтах, время последней модификации, тип файла, имя владельца и права доступа.

Для вывода подробной информации о каталоге `/usr/doc/bash', введите: Первая строка содержит информацию о полном объеме занимаемого каталогом дискового пространства в блоках по 1024 байта (в данном случае 72). Каждая последующая строка содержит несколько колонок с информацией о каждом файле.

Первая колонка указывает тип файла и права доступа к нему. Первый символ в этой колонке определяет тип файла; тире (`-') означает обычный файл (по умолчанию). Каталоги обозначаются буквой `d', а символические ссылки - буквой `l'. Остальные девять символов в первой колонке указывают права доступа к файлу. Вторая колонка указывает количество жестких ссылов на файл. Третья и четвертая колонки указывают пользователя и группу, которые владеют этим файлом. Пятая колонка содержит размер файла в байтах, шестая - время и дату последней модификации файла, а в последней колонке указано имя файла, к которому относится информация.

Чтобы просмотреть каталог рекурсивно, то есть со всеми содержащимися в нем подкаталогами, используйте опцию `-R'. Например, для текущего каталога введите: В данном примере текущий рабочий каталог содержит два подкаталога, `work' и `play', но не содержит файлов. Каждый из подкаталогов содержит файл `notes'.

Чтобы вывести полное оглавление все файловой системы, наберите:

Обычно этот ключ комбинируют с опцией `-l', чтобы вывести наиболее полный листинг файлов системы:

Примечание: Некоторые каталоги могут не попасть в листинг, если у Вас нет права доступа к ним.

Чтобы отсортировать список файлов в каталоге по времени создания или модификации, используйте опцию `-t'. Например, чтобы вывести список файлов в каталоге `/usr/tmp', чтобы самые новые файлы были вверху списка, введите:

$ ls -t /usr/tmp [Enter]

По умолчанию, ls не выводит имена файлов, начинающиеся с символа ``точка'' (`.'). Чтобы уменьшить листинг, многие приложения ``скрывают'' файлы конфигурации в Вашем домашнем каталоге, присваивая им имена, начинающиеся с точки; они называются dot-файлы, или ``скрытые'' . Каждый каталог имеет два специальных dot-файла: `..' - родительский каталог и `.' - сам этот каталог.

Чтобы увидеть все файлы в каталоге, включая скрытые, используйте опцию `-a'. Например, для текущего каталога:

Чтобы увидеть все файлы, исключая специальные `..' и `.', используйте опцию `'-A:

Чтобы увидеть цветной листинг каталога, используйте ls с ключом `--color' ; тогда все имена файлов будут выведены разными цветами, в зависимости от их содержания. По умолчанию каталоги выводятся синим, текстовые файлы - белым, исполняемые - зеленым и т.д.

Примечание: Обычно для команды `ls -color' создается псевдоним `ls', так что листинг выводится в цвете по умолчанию.

Для того, чтобы вывести граф иерархии каталогов, используйте утилиту tree. Например, для вывода дерева каталогов, начиная с текущего, наберите:

В этом примере выводится дерево каталогов, в котором текущий каталог содержит два подкаталога `projects' и `trip'; а каталог `projects', в свою очередь, содержит подкаталоги `current' и `old'.

Чтобы вывести дерево каталогов для определенного каталога, укажите его имя в качестве аргумента tree. Например, для Вашего домашнего каталога, введите:

Чтобы вывести дерево каталогов, в котором будут присутствовать только имена каталогов, используйте опцию `-d'. Это полезно при выводе полного дерева каталогов системы:

$ tree -d / > tree [Enter]

Команда ls имеет много опций для управления листингом и отображаемой информацией о файлах; приведенная таблица описывает некоторые из них.

Опция Описание
--color Вывод имен файлов в цвете, в зависимости от их типа.
-R Рекурсивный список файлов.
-a Вывод всех файлов, включая скрытые.
-d Вывод только имен каталогов, без промсмотра их содержимого.
-f Вывод содержимого каталога в том порядке, в котором оно записано на диск.
-l Подробный листинг.
-r Сортировка содержимого каталога в обратном порядке.
-s Вывод размера - в блоках по 1K - для каждого файла.
-t Сортировка по времени создания или модификации файла.

Примечание: Вы можете комбинировать опции в любом порядке; например, чтобы вывести список файлов, отсортированный по времени, со всеми атрибутами, введите `-lt'. Чтобы рекурсивно отобразить все скрытые файлы и их атрибуты, используйте `-lRa'. Порядок опций не имеет значения, так что `-lRa' означает то же самое, что и `-alR'.


Next: Копирование файлов и каталогов Up: Работа с файлами Previous: Перемещение по каталогам Contents Index Alex Otwagin 2002-12-16


Команда Bash Tree в Linux Mint 20

Чтобы использовать команду Bash «tree» в Linux Mint 20, вам сначала необходимо установить ее, выполнив эту команду:



Теперь, чтобы проверить, действительно ли команда Bash «tree» находится в вашей системе Linux Mint 20 или нет, вы можете проверить ее версию, выполнив команду, указанную ниже:


Версия команды Bash «tree», которую нам удалось установить только что, выделена на следующем изображении:


После этого вы можете проверить синтаксис и все доступные параметры для этой команды, чтобы вы могли использовать ее эффективно. Вы можете найти эту информацию, выполнив команду, указанную ниже:


Выполнение этой команды отобразит всю необходимую информацию о команде Bash «tree», включая ее синтаксис, которая вам понадобится для работы с этой командой без каких-либо затруднений. Вы можете потратить некоторое время на это, чтобы хорошо изучить все доступные варианты.


После выполнения этих шагов мы хотели бы поделиться с вами некоторыми из наиболее полезных примеров использования команды Bash «tree» в Linux Mint 20.

Пример №1: Отображение содержимого каталога в древовидной структуре

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


Древовидная структура нашего текущего рабочего каталога показана на следующем изображении. Здесь следует отметить, что простая команда «tree» не отображает скрытые файлы и каталоги. Вот почему количество файлов и каталогов, отображаемых в выводе этой команды, очень мало.


Пример № 2: Отображение скрытых файлов и каталогов с помощью древовидной команды

В отличие от простого «дерева», вы также можете просмотреть скрытые файлы и каталоги. Вы можете сделать это просто, запустив команду «tree» с флагом «-a», как показано ниже:


Вы можете сравнить вывод этой команды с выводом, показанным в примере № 1, и вы сможете понять, что количество файлов и каталогов намного больше, чем показано выше. Это потому, что на этот раз команда «tree» также показала скрытые файлы и каталоги.


Пример № 3: Отображение файлов и каталогов вместе с их полными путями

Вместо того, чтобы отображать только имена файлов и каталогов, вы также можете узнать их точные пути. Вы можете сделать это, просто объединив команду «tree» с флагом «-f» следующим образом:


Пути ко всем файлам и каталогам в нашем текущем рабочем каталоге показаны ниже в виде древовидной структуры. Если бы вы выполняли команду «tree» в каталоге, отличном от «Home», тогда концепция путей была бы более ясной. Однако в нашем случае, поскольку мы выполнили команду «tree», находясь в «домашнем» каталоге, именно поэтому вы можете видеть только «./» вместо пути к файлу или каталогу, поскольку он представляет «домашний» каталог.


Пример №4: Распечатать дерево каталогов в XML-представлении

XML или Extensible Markup Language имеет особый синтаксис, в котором он представляет наши файлы и каталоги. Следовательно, если вы хотите распечатать свое дерево каталогов в XML-представлении, вы можете сделать это, объединив флаг «-X» с командой «tree» следующим образом:


XML-представление нашего дерева каталогов показано на изображении ниже:


Пример № 5: Отображение файлов и каталогов вместе с их разрешениями на доступ

Разрешения для файлов и каталогов считаются очень важными, особенно если мы хотим иметь дело с политиками управления доступом в операционной системе. Если вы хотите, чтобы права доступа к файлам и каталогам отображались в дереве каталогов, вам нужно будет выполнить команду «tree» с флагом «-p».


Разрешения на «чтение», «запись» и «выполнение» показаны перед каждым именем файла и каталога в нашей структуре каталогов, как показано на следующем изображении. Кроме того, права доступа к каталогу также включают флаг «d», который указывает, что следующее имя относится к каталогу, а не к файлу.


Заключение

В сегодняшней статье мы рассказали вам о методе установки команды Bash «tree» в вашей системе Linux Mint 20. Мы продемонстрировали метод проверки его установки, а также доступ к страницам справки. Затем мы поделились с вами пятью наиболее важными сценариями, в которых команда «tree» может использоваться очень эффективно. Помимо этих пяти сценариев, существует множество других вариантов использования команды Bash «tree». Вкратце, эта команда Bash считается чрезвычайно полезной при работе с операционными системами на базе Linux.


Обычно для просмотра списка файлов и директорий в командной строке Linux используется команда ls. В данной заметке мы рассмотрим, как выводить древовидный список файлов и директорий. Для этого мы воспользуемся утилитой/командной tree

Команда tree рекурсивно обходит все вложенные директории и файлы для выбранной директории и выводит информацию в удобном древовидном формате.

Установка утилиты tree

По умолчанию утилита tree не установлена в популярных дистрибутивах Linux.

Для установки в Ubuntu выполните в терминале команду:

Для установки в Fedora выполните команду:

Синтаксис команды tree

Команду tree можно использовать следующим образом:

treetree /путь/до/директорииtree опцииtree опции /путь/до/директории
Опции

У команды довольно много опций, остановимся только на некоторых из них:

-aпоказывать все файлы, включая скрытые.
-dпоказывать только директории.
-uпоказывать владельца или идентификатор пользователя (UID).
-gпоказывать группу или идентификатор группы (GID).
-L уровеньвыводить дерево не глубже определенного уровня вложенности.
-hпоказывать размер файлов.
-Dпоказывать дату последнего изменения файла или директории.
включить подсветку разными цветами.
-Xвывести информацию в формате XML.
-Jвывести информацию в формате JSON.

Полный список опций команды tree можно получить, выполнив команду man tree

Рассмотрим несколько примеров использования команды tree

Дерево текущей директории

Выведем дерево файлов в текущей директории. Выполняем команду tree без аргументов:

Читайте также: