Это старая версия документа.


В Ubuntu существует два вида интерфейса: графический интерфейс пользователя и интерфейс командной строки.

Графический интерфейс пользователя (англ. Graphical user interface, GUI). - управление программами с помощью графических кнопок, всплывающих меню, окон и других элементов. Множество действий можно выполнять с помощью мыши.

Преимущества: визуальное отображение программ и их содержимого, возможности программ можно изучать без чтения документации.

Интерфейс командной строки (англ. Command Line Interface, CLI). - управление программами с помощью команд. Команды состоят из букв, цифр, символов, набираются построчно, выполняются после нажатия клавиши Enter. Основной инструмент здесь клавиатура.
Данный интерфейс встроен в ядро системы, он будет доступен, даже если графический интерфейс не запустится.

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

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

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

Консоль

Во время загрузки Ubuntu запускаются семь полноэкранных консолей, у каждой свой независимый сеанс, с первой по шестую с интерфейсом командной строки, в седьмой запускается графический режим. Пользователь во время загрузки видит только графический режим.
Переключиться на одну из виртуальных консолей можно нажав сочетание клавиш:
Ctrl+Alt+F1 - первая виртуальная консоль;
Ctrl+Alt+F2 - вторая виртуальная консоль;
Ctrl+Alt+F3 - третья виртуальная консоль;
Ctrl+Alt+F4 - четвертая виртуальная консоль;
Ctrl+Alt+F5 - пятая виртуальная консоль;
Ctrl+Alt+F6 - шестая виртуальная консоль;
Ctrl+Alt+F7 - седьмая виртуальная консоль, возврат в графический режим.

Терминал

Окно терминала

Терминал - графическая программа эмулирующая консоль.
Такие программы позволяют не выходя из графического режима выполнять команды.
Терминал по сравнению с консолью имеет дополнительный функционал (различные настройки, вкладки, можно запускать много окон, управление мышью в некоторых программах, контекстное меню, главное меню, полоса прокрутки).

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

В Unity:
Главное меню → Набрать в поисковой строке слово Терминал
или нажать комбинацию клавиш: Ctrl+Alt+T

В Gnome Fallback
Приложения → Стандартные → Терминал

В Xfce (Xubuntu):
Главное меню → Приложения → Система → Терминал

В KDE (Kubuntu):
Главное меню → Приложения → Система → Терминал

После запуска терминала мы видим строку с приглашением к вводу команд, например:
vladimir@Zotac-Zbox-Nano:~$

vladimir - имя учетной записи пользователя
@ - разделитель
Zotac-Zbox-Nano - имя компьютера
: - разделитель
~ - в какой папке выполняется команда, ~ это домашняя папка пользователя, если выполните команду ls то получите список файлов из этой паки
$ - приглашение к выполнению команды с правами простого пользователя (# будет означать приглашение на выполнение команд с правами администратора)

Горячие клавиши

Копирование команд

Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш Ctrl+Ctrl, не вставляется в терминал при нажатии Ctrl+V. И что, неужели придётся перепечатывать все эти команды и имена файлов вручную? Нет, расслабьтесь! Вставить текст в терминал можно тремя способами: Ctrl+Shift+V, нажатием средней кнопки мыши или правой кнопки мыши и выбором строки «Вставить».

Экономия набора

или Ctrl+P прокрутка недавно использованных команд вверх
или Ctrl+N прокрутка недавно использованных команд вниз
Enter выполнение выбранной команды
Tab крайне удобная возможность - автозаподстановка команд и имён файлов. Если с выбранных символов начинается только одна команда, подставится именно она, а если их несколько,то по двойному нажатию tab выведется список всех возможных вариантов.
Ctrl+R поиск по командам, которые вы вводили раньше. Если вам нужно повторно выполнить очень длинную и сложную команду, вы можете ввести только её часть, а эта комбинация клавиш поможет найти команду целиком.
History Команда history выводит список всех команд, которые вы вводили. Каждой команде будет присвоен номер. Чтобы выполнить команду под номером x, просто введите «!x». Если у вас получилась слишком длинная история, можно попробовать «history I less», это сделает список прокручиваемым.

Изменение текста

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

Ввод с клавиатуры будет добавлять символы. Существующий текст удаляться не будет.

ctrl+a или Home перемещает курсор в начало строки
ctrl+e или End перемещает курсор в конец строки
ctrl+b перемещает курсор в начало предыдущего или текущего слова
ctrl+k удаляет текст с текущей позиции курсора до конца строки
ctrl+u удаляет всю текущую строку
ctrl+w удаляет слово перед курсором

Программная оболочка

Консоль и терминал обрабатывают команды с помощью программной оболочки.
Программная оболочка - интерпретатор команд, он распознает команды введенные в командной строке, и запускает программы для выполнения команды.
В Ubuntu по умолчанию используется оболочка bash, он распознает команды на языке bash.
Bash можно заменить на другую оболочку, их существует несколько. Каждая оболочка имеет свой набор настроек и возможностей.
(автовыполнение команд при входе в оболочку, внутренние команды оболочки, ведение истории, можно назначать сокращенные команды - алиасы).

Команды

Команды - это предопределенный набор букв, цифр, символов, которые можно ввести в командной строке и выполнить нажав энтер.

Команды делятся на два вида:

  • команды встроенные в программную оболочку (например history)
  • команды управляющие программами, установленными в системе

Команды для управления программами строятся по такой схеме:

название_программы -ключ значение 


Название програмы - это название исполняемого файла из каталогов записанных в переменной $PATH (/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin и др.) или полный путь к исполняемому файлу (/opt/deadbeef/bin/deadbeef)
Ключ - пишется после названия программы, например -h, у каждой программы свой набор ключей, они перечислены в справке к программе, ключи используются для указания какие настройки использовать или какое действие выполнить
Значение - адрес, цифры, текст, спецсимволы (*, ~, \, &, « », _ ), переменные ($HOME, $USER, $PATH)

Выполнить команды можно следующим образом:

  • набрать команду в командной строке и нажать Enter
  • скопировать команду из инструкции и вставить ее в командную строку, затем нажать Enter
  • создать скрипт и выполнить двойным нажатием мыши (создать текстовый файл, в первой строке написать #!/bin/bash, ниже написать команды в столбик, сохранить, в свойствах файла разрешить выполнение, нажать два раза по файлу для выполнения всех перечисленных команд)
Помните, что терминал чувствителен к регистру! Слова User, user и USER в Linux различаются!

Шпаргалка команд

Файловые команды

cd ../..перейти в директорию двумя уровнями выше
cd перейти в домашнюю директорию
cd ~user перейти в домашнюю директорию пользователя user
cd перейти в директорию, в которой находились до перехода в текущую директорию
pwd показать текущюю директорию
mkdir dir создать каталог dir
mkdir dir1 создать директорию с именем 'dir1'
mkdir dir1 dir2 создать две директории одновременно
mkdir -p /tmp/dir1/dir2 создать дерево директорий
rm file удалить file
rm -r dir удалить каталог dir
rm -f file удалить форсированно file
rm -rf dir удалить форсированно каталог dir
rm -f file1 удалить файл с именем 'file1'
rmdir dir1 удалить директорию с именем 'dir1'
rm -rf dir1 удалить директорию с именем 'dir1' и рекурсивно всё её содержимое
rm -rf dir1 dir2 удалить две директории и рекурсивно их содержимое
cp file1 file2 скопировать file1 в file2
cp -r dir1 dir2 скопировать dir1 в dir2; создаст каталог dir2, если он не существует
cp dir/ копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 копировать директорию dir1 в директорию dir2
mv dir1 new_dir переименовать или переместить файл или директорию
mv file1 file2 переименовать или переместить file1 в file2. если file2 существующий каталог - переместить file1 в каталог file2
ln -s file1 lnk1 создать символическую ссылку на файл или директорию
ln file1 lnk1 создать «жёсткую» (физическую) ссылку на файл или директорию
touch file создать file
touch -t 0712250000 fileditest модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)
cat > file направить стандартный ввод в file
more file вывести содержимое file
head file вывести первые 10 строк file
tail file вывести последние 10 строк file
tail -f file вывести содержимое file по мере роста, начинает с последних 10 строк

Архивация

tar cf file.tar files создать tar-архив с именем file.tar содержащий files
tar xf file.tar распаковать file.tar
tar czf file.tar.gz files создать архив tar с сжатием Gzip
tar xzf file.tar.gz распаковать tar с Gzip
tar cjf file.tar.bz2 создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 распаковать tar с Bzip2
gzip file сжать file и переименовать в file.gz
gzip -d file.gz разжать file.gz в file
bunzip2 file1.bz2 разжимает файл 'file1.gz'
gzip -9 file1 сжать файл file1 с максимальным сжатием
rar a file1.rar test_file создать rar-архив 'file1.rar' и включить в него файл test_file
rar a file1.rar file1 file2 dir1 создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1
rar x file1.rar распаковать rar-архив
tar -cvf archive.tar file1 создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1 создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tar показать содержимое архива
tar -xvf archive.tar распаковать архив
tar -xvf archive.tar -C /tmp распаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1 создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2 разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1 создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gz разжать архив и распаковать его
zip file1.zip file1 создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1 создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий
unzip file1.zip разжать и распаковать zip-архив

DEB пакеты

dpkg -i package.deb установить / обновить пакет
dpkg -r package_name удалить пакет из системы
dpkg -l показать все пакеты, установленные в систему
dpkg -l | grep httpd среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»
dpkg -s package_name отобразить инфрмацию о конкретном пакете
dpkg -L package_name вывести список файлов, входящих в пакет, установленный в систему
dpkg –contents package.deb отобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/ping найти пакет, в который входит указанный файл

APT

APT - средство управление пакетами

apt-get install package_name установить / обновить пакет
apt-cdrom install package_name установить / обновить пакет с cdrom'а
apt-get update получить обновлённые списки пакетов
apt-get upgrade обновить пакеты, установленные в систему
apt-get remove package_name удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get purge package_name удалить пакет, установленный в систему с удалением файлов конфигурации
apt-get check проверить целостность зависимостей
apt-get clean удалить загруженные архивные файлы пакетов
apt-get autoclean удалить старые загруженные архивные файлы пакетов

Просмотр содержимого файлов

cat file1 вывести содержимое файла file1 на стандартное устройсво вывода
tac file1 вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)
more file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода
less file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.
head -2 file1 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1 вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messages выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста

Манипуляции с текстом

cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grepи т.п.] » result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан
grep Aug /var/log/messages из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug»
grep ^Aug /var/log/messages из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug»
grep [0-9] /var/log/messages из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
grep Aug -R /var/log/* отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug», во всех файлах, находящихся в директории /var/log и ниже
sed 's/stringa1/stringa2/g' example.txt в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода
sed '/^$/d' example.txt удалить пустые строки из файла example.txt
sed '/ *#/d; /^$/d' example.txt удалить пустые строки и комментарии из файла example.txt
echo 'esempio' | tr '[:lower:]' '[:upper:]' преобразовать символы из нижнего регистра в верхний
sed -e '1d' result.txt удалить первую строку из файла example.txt
sed -n '/string1/p' отобразить только строки содержашие «string1»
sed -e 's/ *$' example.txt |удалить пустые символы в в конце каждой строки | |sed -e 's/string1g' example.txt удалить строку «string1» из текста не изменяя всего остального
sed -n '1,8p;5q' example.txt взять из файла с первой по восьмую строки и из них вывести первые пять
sed -n '5p;5q' example.txt вывести пятую строку
sed -e 's/0*/0/g' example.txt заменить последовательность из любого количества нулей одним нулём
cat -n file1 пронумеровать строки при выводе содержимого файла
cat example.txt | awk 'NR%2==1' при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk '{print $1}' вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk '{print $1,$3}' вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
paste file1 file2 объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d '+' file1 file2 объединить содержимое file1 и file2 в виде таблицы с разделителем «+»
sort file1 file2 отсортировать содержимое двух файлов
sort file1 file2 | uniq отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах

Преобразование наборов символов и файловых форматов

dos2unix filedos.txt fileunix.txt конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
unix2dos fileunix.txt filedos.txt конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > page.html конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more вывести список доступных форматов

Анализ файловых систем

badblocks -v /dev/hda1 проверить раздел hda1 на наличие bad-блоков
fsck /dev/hda1 проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1 проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck -j /dev/hda1 проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck.ext3 /dev/hda1 проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1 проверить/восстановить целостность файловой системы fat раздела hda1

Просмотр справки и руководства по программе

Названия программ используемых в командах, которые могут пригодиться, нужно выучить или распечатать, а как ими пользоваться можно узнать в любой момент вызвав справку или руководство (man) по программе.

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

man программа

Перемещаться можно клавишами со стрелками, а выйти из него, нажав клавишу Q. Подробнее в смотрите в man man

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

программа -h
программа --help

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

Поиск по man'ам

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

  • man -k something-you-need

    будет искать то, что вам нужно во всех мануалах. Попробуйте:

    man -k nautilus

    чтобы увидеть, как это работает. Кстати, это то же самое, что выполнить команду apropos.

  • man -f something-you-need

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

    man -f gnome

    . Для примера выполнение команды whatis приведёт к такому же результату.

Более привлекательные man'ы

Пользователи рабочего стола Gnome/Unity могут воспользоваться утилитой yelp предоставляющей простой GUI, выполнив команду в консоли

yelp man:<команда>

Пользователи, у которых установлен Konqueror, могут читать страницы мануалом и выполнять по ним поиск в веб-браузерном контексте, украшенном выбранными фоновыми рисунками. Для этого нужно набрать в строке адреса Konqueror'а использовать команду:

man:/<команда>

Выполнение команд с неограниченными привилегиями

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

sudo

Это временно даёт права суперпользователя, которые необходимы для работы с файлами и каталогами, которые не принадлежат вашему аккаунту. Для использования sudo требуется ввести пароль. Только пользователи с такими административными привилегиями могут использовать эту команду.

Команды для работы с файлами и папками

  • Символ тильда (~) обозначает вашу домашнюю папку. Если вы user, то тильда (~) — это /home/user.
  • Команда pwd («print working directory») позволяет вам узнать, в какой директории вы находитесь в данный момент. Помните, однако, что эту же информацию Gnome Terminal всегда показывает в названии окна.
  • ls покажет вам все файлы в текущей директории. Если использовать эту команду с определёнными опциями, можно также включить отображение размера файлов, времени последнего изменения и прав на файлы. Например:
    ls ~

    покажет всё, что у вас есть в домашней папке.

  • Команда cd меняет рабочую директорию. Когда вы только запускаете терминал, вы будете находиться в вашей домашней папке. Чтобы перемещаться по файловой системе, нужно использовать cd. Примеры:
    1. Чтобы попасть в корневой каталог, выполните:

      cd /

    2. Чтобы попасть в домашнюю папку, выполните:

      cd ~

    3. Чтобы переместиться на один каталог вверх, используйте:

      cd ..

    4. Для возврата в предыдущую посещённую директорию, используйте:

      cd -

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

      cd /var/www

      переместит вас в подкаталог /www каталога /var/. А команда:

      cd ~/Рабочий\ стол

      переместит вас на рабочий стол. В данном случае «\» обозначает экранирование пробела.

  • Команда cp копирует файл. Например, команда:

    cp text new

    создаст точную копию файла «text» и назовёт её «new», при этом «file» никуда не исчезнет. Для копирования директории необходимо воспользоваться командой:

    cp -r directory new

    где опция -r обозначает рекурсивное копирование.

  • Команда mv перемещает файл в другое место или просто переименовывает файл. Например, команда:

    mv file text

    переименует «file» в «text».

    mv text ~/Рабочий\ стол

    переместит «text» вам на рабочий стол, но не переименуют его. Чтобы всё-таки переименовать файл, нужно специально указывать ему новое имя. Вы можете заменять путь к вашей домашней папке на '~', чтобы ускоряет работу. Помните, что при использовании mv вместе с sudo, терминал так же привязывает '~' к вашей домашней папке. Однако если вы включаете сессию суперпользователя в консоли с помощью sudo -i или sudo -s, то '~' будет ссылаться на корень диска, а не на ваш домашний каталог.

  • Команда rm удаляет файл.
  • Команда rmdir удаляет пустую папку. Чтобы удалить папку вместе со всеми вложениями, используйте rm -r вместо этого.
  • mkdir Эта команда создаёт директорию. Команда mkdir music создаст вам папку, которая будет называться «music».
  • man попробуйте эту команду, когда вы хотите прочитать встроенное описание другой команды. Например:

    man man

    покажет вам описание самой этой команды.

Команды информации о системе

  • Команда df показывает объём занятого дискового пространства на всех смонтированных разделах. Наиболее полезна:
    df -h

    Поскольку использует для отображения Мегабайты (M) и Гигабайты (G), а не блоки. -h означает «human readable» («читабельный для человека»).

  • du отображает объём дискового пространства, занятого конкретной папкой. Она может показывать информацию для всех поддиректорий отдельно или для папки в целом. ..

    user@users-desktop:~$ du /media/floppy
    1032    /media/floppy/files
    1036    /media/floppy/
    user@users-desktop:~$ du -sh /media/floppy
    1.1M    /media/floppy/

    .. -s означает «summary» (в целом), а -h означает «human readable» («читабельный для человека»).

  • free отображает объём свободной и занятой оперативной памяти. Команда:

    free -m

    показывает информацию в Мегабайтах.

  • top отображает информацию о вашей системе, запущенных процессах и системных ресурсах, включая загрузку CPU, использование RAM и swap и количество запущенных процессов. Чтобы остановить top, нажмите Q.

Также существует еще несколько замечательных и очень нужных утилит, оформленных в стиле top:

  • htop аналог top, намного превосходящий по возможностям
  • iftop информация об активных сетевых соединениях, скорость сетевой закачки/отдачи
  • iotop информация о процессах выполняющих активные дисковые операции
htop, iftop, iotop не входят в стандартный комплект дистрибутива Ubuntu, но легко устанавливаются из стандартных репозиториев.
  • uname с опцией -a выводит всю системную информацию, включая имя машины, версию ядра и другие детали. Самое полезное из этого — проверка версии ядра.
  • lsb_release с опцией -a выводит информацию о версии Linux, которую вы используете. Например:
user@computer:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 6.06 LTS
Release:        6.06
Codename:       dapper
  • ifconfig выводит отчёт о сетевых интерфейсах системы.
  • hwinfo без ключей выводит очень длинный список всего оборудования, но существует ключи для получения конкретной информации о части оборудования --cpu --disk --memory и другие, см man по этой утилите.
  • lsusb и lspci информация о USB- и PCI- устройствах

Добавление нового пользователя

  • Команда создаёт нового пользователя в вашей системе с именем «newuser»:
    adduser newuser

    Чтобы назначить ему пароль, используйте:

    passwd newuser

Построение дерева каталогов (tree)

Утилита выводит дерево каталогов в красиво отформатированном виде. Пакет tree находится в репозиториях Ubuntu, поэтому установка выполняется одной строкой:

sudo apt-get install tree

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

tree -dA test

Ссылки