Поиск по сайту:

Учебное пособие по командам дерева Linux для начинающих (6 примеров)


На этой странице

  1. Команда дерева Linux
  2. Q1. Как работает команда дерева?
  3. Вопрос 2. Как сделать так, чтобы в дереве отображались и скрытые файлы?
  4. Вопрос 3. Как заставить дерево отображать только каталоги на выходе?
  5. Q4. Как заставить дерево печатать полный префикс пути для файлов?
  6. В5. Как контролировать глубину дерева каталогов в выводе?
  7. Q6. Как выборочно оставить некоторые имена в выводе?
  8. Заключение

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

Но прежде чем мы это сделаем, стоит упомянуть, что все приведенные здесь примеры были протестированы на компьютере с Ubuntu 18.04 LTS.

Команда дерева Linux

Как следует из названия, команда дерева в Linux выводит список содержимого каталогов в древовидном формате. Ниже приведен его синтаксис:

tree [OPTIONS] [directory]

И вот как это объясняет справочная страница инструментов:

Tree is a recursive directory listing program that produces a depth indented listing of files, 
which is colorized ala dircolors if the LS_COLORS environment variable is set and output is to tty.
With no arguments, tree lists the files in the current  directory. When directory arguments are
given, tree lists all the files and/or directories found in the given directories each in turn.
Upon completion of listing all files/directories found, tree returns the total number of files
and/or directories listed.

Если команда дерева не установлена в вашем Ubuntu, вы можете получить ее, используя следующую команду:

sudo apt-get install tree

Ниже приведены несколько примеров в стиле вопросов и ответов, которые должны дать вам хороший пример того, как работает команда дерева.

Q1. Как работает команда дерева?

Основное использование довольно просто. Просто выполните команду дерева без каких-либо опций. Вот пример:

tree

Вот вывод, который эта команда произвела в моей системе:

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

Q2. Как сделать так, чтобы в дереве отображались и скрытые файлы?

По умолчанию команда дерева не отображает скрытые файлы. Однако, если вы хотите, вы можете заставить дерево делать это с помощью параметра командной строки -a.

tree -a

Вот что справочная страница говорит о -a:

All files are printed. 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).

Q3. Как заставить дерево отображать только каталоги на выходе?

Предположим, вы хотите, чтобы команда дерева отображала только записи каталога в выходных данных. Вы можете сделать это с помощью параметра командной строки -d.

Например, следующая команда:

tree -d

произвел этот вывод:

Q4. Как заставить дерево печатать полный префикс пути для файлов?

Это можно сделать с помощью параметра командной строки -f. Вот пример:

tree -f

Вот часть вывода этой команды в моей системе:

Q5. Как контролировать глубину дерева каталогов в выводе?

Команда дерева также позволяет вам управлять глубиной дерева каталогов, создаваемого в выходных данных. Это можно сделать с помощью параметра командной строки -L, для которого требуется числовое значение, обозначающее разрешенную глубину каталога. Например:

tree -d -L 1

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

Q6. Как выборочно оставить некоторые имена в выводе?

Команда дерева предлагает параметр командной строки -I, который требует от вас передачи шаблона в качестве входных данных. В зависимости от имен файлов/каталогов, которые вы не хотите отображать в выводе, создайте шаблон. Например, я хотел отображать только каталоги, но не хотел никаких имен с шаблоном Ubuntu (с учетом регистра), поэтому я использовал параметр командной строки -I следующим образом:

tree -d -I *Ubuntu

Заключение

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