- Команда tree linux
- Синтаксис и опции tree
- Примеры использования tree
- Выводы
- Примеры использования команды дерева в Linux для начинающих
- Изучите примеры использования команды дерева
- Утилита tree — просмотр дерева директорий в командной строке
- Установка утилиты tree
- Синтаксис команды tree
- Опции
- Примеры использования
- Дерево текущей директории
- Вывод размеров файлов
- Вывод владельца и даты
Команда 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.
Кстати, нельзя устанавливать лимит меньше, чем 25 файлов.
По умолчанию команда tree в linux не показывает скрытые папки. Чтобы увидеть их, следует воспользоваться опцией -a. Заодно не помешает упорядочить выдачу — например, по уровням вложенности (параметр -v). Ну и почему бы не узнать, когда тот или иной файл был изменен последний раз — добавим к команде еще и -D.
Теперь поработаем с определенной группой файлов. Для примера отберем те, у которых формат pdf — сделать это позволяет опция -P. Она дает команде понять, что нужно выводить только документы, соответствующие маске. Чтобы задать маску для любого количества символов от 0 до бесконечности используется знак *, а чтобы обозначить только 1 символ — знак ?. Название файла или папки следует заключить в одинарные кавычки.
Опция —prune нужна для того, чтобы исключить из выдачи папки, внутри которых нет искомых документов (по умолчанию команда выводит даже те папки, которые не имеют отношения к поисковому запросу).
Стандартно результат команды tree направляется в терминал. Но есть возможность напечатать его в файл и сохранить для дальнейшего использования. С этой целью создадим документ txt с названием tree_command_results и поместим его в корневой каталог. После этого выполним команду следующего вида:
tree -d -o tree_command_results.txt
Опция -d использована для сокращения количества информации и ее присутствие здесь не обязательно. Опция -o отвечает за перенаправление вывода в файл.
В терминале никакой результат не отображается:
Зато в указанном файле находим перечень папок, который занимает 45 страниц:
Для получения дополнительной информации о файлах дополним команду tree опциями -h (показывает размер), -u (указывает на аккаунт, с которого файл был создан), -p (так мы узнаем, что можно делать с каждым конкретным файлом — только просматривать или также изменять его содержимое). Также используем параметр -f, чтобы видеть полный путь к каждому документу.
Полезный лайфхак — если объединить опции -P и -f, можно быстро находить файлы, затерявшиеся в памяти компьютера:
Выводы
Пользу команды tree для пользователей Linux переоценить сложно. С ее помощью удается получить всю возможную информацию о файлах и папках, расположенных на жестком диске. Кстати, у нее есть конкурент — более известная команда ls, которая, тем не менее, уступает tree в удобстве и функционале. А как и для чего вы используете команду tree?
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Источник
Примеры использования команды дерева в Linux для начинающих
tree – это маленькая кроссплатформенная программа командной строки, используемая для рекурсивного вывода списка или отображения содержимого каталога в древовидном формате. Он выводит пути к каталогам и файлам в каждом подкаталоге, а также сводку об общем количестве подкаталогов и файлов.
Программа tree доступна в Unix и подобных Unix системах, таких как Linux, а также в DOS, Windows и многих других операционных системах. Он имеет различные параметры для обработки вывода, от параметров файла, параметров сортировки до параметров графики, а также поддерживает вывод в форматах XML, JSON и HTML.
В этой короткой статье мы покажем, как использовать команду tree с примерами для рекурсивного отображения содержимого каталога в системе Linux.
Изучите примеры использования команды дерева
Команда tree доступна во всех, если не в большинстве дистрибутивов Linux, однако, если она не установлена по умолчанию, установите ее с помощью диспетчера пакетов по умолчанию, как показано ниже.
# yum install tree #RHEL/CentOS 7 # dnf install tree #Fedora 22+ and /RHEL/CentOS 8 $ sudo apt install tree #Ubuntu/Debian # sudo zypper in tree #openSUSE
После установки вы можете продолжить изучение использования команды дерева с примерами, как показано ниже.
1. Чтобы просмотреть содержимое каталога в древовидном формате, перейдите к нужному каталогу и запустите команду tree без каких-либо параметров или аргументов, как показано ниже. Не забудьте вызвать sudo для запуска дерева в каталоге, для которого требуются права доступа пользователя root.
Он будет отображать содержимое рабочего каталога, рекурсивно показывая подкаталоги и файлы, а также сводку об общем количестве подкаталогов и файлов. Вы можете включить печать скрытых файлов с помощью флага -a .
2. Чтобы просмотреть содержимое каталога с префиксом полного пути для каждого подкаталога и файла, используйте -f , как показано.
3. Вы также можете указать дереву печатать только подкаталоги без файлов в них, используя параметр -d . Если используется вместе с опцией -f , дерево напечатает полный путь к каталогу, как показано.
$ sudo tree -d OR $ sudo tree -df
4. Вы можете указать максимальную глубину отображения дерева каталогов, используя параметр -L . Например, если вам нужна глубина 2, выполните следующую команду.
Вот еще один пример установки максимальной глубины отображения дерева каталогов на 3.
5. Чтобы отобразить только те файлы, которые соответствуют подстановочному шаблону, используйте флаг -P и укажите свой шаблон. В этом примере команда отобразит только файлы, соответствующие cata* , поэтому такие файлы, как Catalina.sh, catalina.bat и т. д. будут перечислены.
6. Вы также можете указать дереву удалять пустые каталоги из вывода, добавив параметр —prune , как показано ниже.
7. Существуют также некоторые полезные параметры файла, поддерживаемые деревом, такие как -p , который печатает тип файла и разрешения для каждого файла аналогично команде ls -l. .
8. Кроме того, чтобы напечатать имя пользователя (или UID, если имя пользователя недоступно) для каждого файла, используйте -u , а параметр -g печатает имя группы (или GID, если имя группы недоступно). Вы можете комбинировать параметры -p , -u и -g , чтобы получить длинный список, аналогичный команде ls -l.
9. Вы также можете распечатать размер каждого файла в байтах вместе с именем, используя параметр -s . Чтобы распечатать размер каждого файла, но в более удобном для человека формате, используйте флаг -h и укажите букву размера в килобайтах (K), мегабайтах (M), гигабайтах (G), терабайтах. (Т) и др..
$ sudo tree -f -s OR $ sudo tree -f -h
10. Чтобы отобразить дату последнего изменения для каждого подкаталога или файла, используйте параметры -D следующим образом.
11. Другой полезный параметр — —du , который сообщает размер каждого подкаталога как сумму размеров всех его файлов и подкаталогов (и их файлов, и скоро).
12. И последнее, но не менее важное: вы можете отправить или перенаправить вывод дерева в имя файла для последующего анализа, используя параметр -o .
$ sudo tree -o direc_tree.txt
Это все с помощью команды дерева. Запустите man tree, чтобы узнать больше об использовании и параметрах. Если у вас есть какие-либо вопросы или мысли, которыми вы хотите поделиться, используйте форму обратной связи ниже, чтобы связаться с нами.
Источник
Утилита tree — просмотр дерева директорий в командной строке
Обычно для просмотра списка файлов и директорий в командной строке Linux используется команда ls . В данной заметке мы рассмотрим, как выводить древовидный список файлов и директорий. Для этого мы воспользуемся утилитой/командной tree
Команда tree рекурсивно обходит все вложенные директории и файлы для выбранной директории и выводит информацию в удобном древовидном формате.
Установка утилиты tree
По умолчанию утилита tree не установлена в популярных дистрибутивах Linux.
Для установки в Ubuntu выполните в терминале команду:
Для установки в Fedora выполните команду:
Синтаксис команды tree
Команду tree можно использовать следующим образом:
Опции
У команды довольно много опций, остановимся только на некоторых из них:
Полный список опций команды tree можно получить, выполнив команду man tree
Примеры использования
Рассмотрим несколько примеров использования команды tree
Дерево текущей директории
Выведем дерево файлов в текущей директории. Выполняем команду tree без аргументов:
Вывод размеров файлов
Воспользуемся опцией -h , чтобы показать размеры файлов:
Вывод владельца и даты
Выведем размеры, владельца, группу и дату изменения:
Источник