Команда tree
— это программа рекурсивного вывода каталогов. Она выводит пути и файлы каталогов в каждом подкаталоге, а также предоставляет сводку общего количества подкаталогов и файлов. То есть показывает список файлов в древовидном формате.
Обычно для просмотра списка файлов и директорий в командной строке Linux используется команда ls
. Однако утилита tree
, с которой Вы познакомитесь в рамках этой статьи, удобна тем, что рекурсивно обходит все вложенные директории и файлы для выбранной директории. И выводит в командную строку информацию в удобном древовидном формате.
Сегодня Вы узнаете, как использовать команду tree
с ее различными параметрами, и увидите результат выполнения примеров в системе Linux.
Содержимое:
- Установка tree в Linux
- Использование tree
- Вывод содержимого директории
- Вывод скрытых файлов с помощью tree
- Отображение пути для каждого файла каталога
- Как вывести только подкаталоги, используя tree
- Вывод содержимого до определенной глубины
- Поиск содержимого по шаблону
- Как скрыть пустые каталоги
- Как вывести права доступа содержимого с помощью tree
- Вывод имени пользователя, группы и прав доступа
- Как узнать размер содержимого, используя tree
- Отображение времени последнего изменения файлов
- Как узнать размер всех подкаталогов директории с tree
- Запись результата работы команды в файл
- Вывод
Установка tree в Linux
По умолчанию утилита tree
не установлена в дистрибутивах Linux. Однако она доступна для скачивания в большинстве из них. Для ее установки достаточно использовать менеджер пакетов Вашей операционной системы. Например:
Использование tree
После того как Вы выполнили установку — можете смело приступать к изучению возможностей инструмента. Команда tree
используется для удобства пользователя и может заменять утилиту ls
. Поэтому они во многом схожи.
Вывод содержимого директории
Используя команду tree
без опций, Вы сможете вывести содержимое каталога в древовидном формате. Для этого нужно перейти к соответствующей директории и выполнить команду без дополнительных аргументов и параметров. Чтобы запустить tree
в каталоге, для которого требуются права доступа суперпользователя, — используйте sudo
.
Вывод скрытых файлов с помощью tree
Как Вы могли заметить, стандартный вывод команды не показывает скрытые папки и файлы. Однако Вы легко можете это изменить. Просто добавьте параметр -a
. Введите команду как показано ниже:
Отображение пути для каждого файла каталога
Возможно, Вам потребуется узнать путь к содержимому директории для дальнейшей работы с ним. Данный инструмент позволяет это сделать. Чтобы отобразить содержимое с префиксом полного пути, используйте опцию -f
:
Как вывести только подкаталоги, используя tree
Команда также позволяет вывести только список подкаталогов — без файлов содержимого. Для этого создана опция -d
. Помните, что Вы можете комбинировать разные параметры вместе. Если использовать -d
вместе с -f
, утилита выведет полный путь к каждому подкаталогу:
Читайте также: Goto — быстрый доступ к псевдонимным каталогам
Вывод содержимого до определенной глубины
Как было сказано ранее, данная команда выводит полный список содержимого. Если Вам нужно лишь вывести содержимое до определенной глубины — используйте опцию -L
. Например, для вывода содержимого до глубины 2, выполните следующую команду:
Поиск содержимого по шаблону
Вы также можете вывести файлы директории, которые соответствуют определенному шаблону. Для этого используйте параметр -P
и укажите свою комбинацию знаков подстановки Linux. Например, следующий пример поможет вывести только то содержимое, которое соответствуют шаблону Ardui*
:
Как скрыть пустые каталоги
По умолчанию утилита выводит абсолютно все видимые каталоги. Однако, многие из них могут оказаться пустыми. Команда tree
может проанализировать наличие содержимого и отсеять их. Чтобы скрыть пустые каталоги из выходных данных, добавьте к команде параметр --prune
:
Как вывести права доступа содержимого с помощью tree
У данной команды есть свой аналог комбинации ls -l
. Однако, Вы можете самостоятельно отфильтровать вывод и выводить нужные Вам данные по отдельности. Например, чтобы вывести права доступа к содержимому — используйте опцию -p
.
Вывод имени пользователя, группы и прав доступа
Также отдельно можно вывести имя пользователя (или UID, если имя пользователя недоступно), имя группы (или GID, если имя группы не доступно). Соответственно, используйте для этого опции -u
и -g
. Вы можете объединить их с параметром -p
и вывести список, похожий на результат введения команды ls -l
.
Читайте также: Как найти файлы с разрешениями SUID и SGID в Linux
Как узнать размер содержимого, используя tree
Вы также можете вывести размер файла в байтах, используя опцию -s
. Для вывода размера в более удобочитаемом формате — используйте опцию -h
. Так команда выведет размер в соответствующей величине измерения: килобайтах (K), мегабайтах (M), гигабайтах (G) и т. д.
Или же:
Отображение времени последнего изменения файлов
Если Вам нужно узнать время изменения файла — используйте параметр -D
следующим образом:
Как узнать размер всех подкаталогов директории с tree
Иногда возникает необходимость посмотреть, сколько места занимают файлы в определённой папке, и найти самые большие из них. Для этого Вы можете объединить две команды — du
и tree
. Такая комбинация позволяет вывести на экран размер всех файлов в определённой папке в байтах:
Запись результата работы команды в файл
Если Вам необходимо сохранить или записать результат вывода всего содержимого в файл в виде дерева для последующего анализа — используйте опцию -o
:
Вывод
Теперь Вы знаете базовые правила использования команды tree
. Для углубленного ее изучения Вы можете использовать команды man tree
и tree --help
, чтобы узнать больше о её опциях и возможностях.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.