Это старая версия документа.
Содержание
Использование терминала
Под Linux существуют GUI (графические интерфейсы пользователя), где вы можете с помощью мышки выполнить необходимую работу без чтения большого объёма документации. Но традиционное окружение Unix - это CLI (интерфейс командной строки), где вы вводите команды, чтобы сказать компьютеру о том, что нужно сделать. Такой подход является более гибким и обеспечивает больше возможностей, а также более быструю работу, но требует знания команд.
Существует множество разнообразных дистрибутивов Linux, но практически все они используют одни и те же команды, которые вводятся в терминале. Также существует великое множество графических интерфейсов (GUI), но они все работают по разному и мало подчинены стандартам. Опытные пользователи, работающие с разными дистрибутивами Linux, обычно запоминают команды, которые универсальны для всех Ubuntu и, как правило, работают во всех остальных системах.
Команды консоли могут приводить в растерянность новичка:
sudo gobbledegook blah_blah -w -t -f aWkward/ComBinationOf/mixedCase/underscores_strokes/and.dots
Однако, даже опытные пользователи часто копируют команды из мануалов или гайдов себе в терминал. Они их просто не запоминают! Конечно, важно знать, как работать в терминале, и если вы умеете просто набирать текст или копировать его, вы справитесь с терминалом, работать там не сложнее. В этой статье собраны некоторые хитрые команды и комбинации клавиш, которые облегчат вам использование интерфейса консоли.
Запуск терминала
В Gnome (Ubuntu)
Терминал находится в Приложения→Стандартные→Терминал
В Xfce (Xubuntu)
Терминал находится в Приложения→Система→Терминал
В KDE (Kubuntu)
Терминал находится в Приложения→Система→Терминал(Konsole)
Команды
Выполнение команд с неограниченными привилегиями
Перед большинством команд, перечисленных ниже, необходимо писать команду:
sudo
Это временно даёт права суперпользователя, которые необходимы для работы с файлами и каталогами, которые не принадлежат вашему аккаунту. Для использования
sudo
требуется ввести пароль. Только пользователи с такими административными привилегиями могут использовать эту команду.
Команды для работы с файлами и папками
- Символ тильда (~) обозначает вашу домашнюю папку. Если вы user, то тильда (~) — это /home/user.
- Команда
pwd
(«print working directory») позволяет вам узнать, в какой директории вы находитесь в данный момент. Помните, однако, что эту же информацию Gnome Terminal всегда показывает в названии окна. ls
покажет вам все файлы в текущей директории. Если использовать эту команду с определёнными опциями, можно также включить отображение размера файлов, времени последнего изменения и прав на файлы. Например:ls ~
покажет всё, что у вас есть в домашней папке.
- Команда
cd
меняет рабочую директорию. Когда вы только запускаете терминал, вы будете находиться в вашей домашней папке. Чтобы перемещаться по файловой системе, нужно использоватьcd
. Примеры:- Чтобы попасть в корневой каталог, выполните:
cd /
- Чтобы попасть в домашнюю папку, выполните:
cd ~
- Чтобы переместиться на один каталог вверх, используйте:
cd ..
- Для возврата в предыдущую посещённую директорию, используйте:
cd -
- Для перемещения через несколько директорий за раз, нужно написать полный путь папки, в которую вы хотите переместиться. Например, команда:
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. - Команда
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
выводит отчёт о сетевых интерфейсах системы.
Добавление нового пользователя
- Команда создаёт нового пользователя в вашей системе с именем «newuser»:
adduser newuser
Чтобы назначить ему пароль, используйте:
passwd newuser
Построение дерева каталогов (tree)
Утилита выводит дерево каталогов в красиво отформатированном виде. Пакет tree находится в репозиториях Ubuntu, поэтому установка выполняется одной строкой:
sudo apt-get install tree
Использование
Для вывода дерева каталогов команда должна иметь следующий вид:
tree -dA test
Опции
Стандартное поведение команды обычно изменется, для этого используются опции команд, –option
. К примеру, команда ls
имеет опцию -s
, использование которой приведёт к отображению помимо списка файлов их размеры. А добавление опции -h
, опять же, сделает размеры «читаемыми».
Опции могут быть сгруппированы, и команда ls -s -h
может быть заменена на ls -sh
. Большинство опций имеют свой длинный вариант, начинающийся с двух дефисов вместо одного. В таком виде всё та же команда будет выглядеть как ls –size –human-readable
.
Man и получение справки
man
, info
и command –help
— самые главные инструменты в консоли.
Почти каждая команда и приложение в Linux имеет man-файл (мануал). Найти его очень просто: для этого нужно ввести man «command
. Например:
man mv
покажет мануал команды mv
.
Перемещаться по этому мануалу можно клавишами со стрелками, а выйти из него, нажав клавишу Q.
Команда:
man intro
особенно полезная. Она отображает «Введение в пользовательские команды» — толково написанное, краткое и понятное введение в команды консоли Linux.
Также существуют справочные страницы, которые обычно глубже, чем мануалы. Попробуйте выполнить:
info info
для прочтения введения в справку.
Некоторые разработчики программного обеспечения предпочитают справку мануалам (например, разработчики GNU), поэтому если вы встретите часто используемую программу, у которой нет страницы мануала, стоит найти справку.
Практически все команды понимают опцию -h
(или –help
), которая выводит краткое описание использование команды и её опций, а затем выходит в консоль. Попробуйте выполнить:
man -h man --help
Чтобы увидеть, как это работает.
Поиск по man'ам
Если вы не уверены, какая команда вам нужна, попробуйте поискать по текстам мануалов.
man -k something-you-need
будет искать то, что вам нужно во всех мануалах. Попробуйте:
man -k nautilus
чтобы увидеть, как это работает. Кстати, это то же самое, что выполнить команду
apropos
.man -f something-you-need
будет искать только по названиям системных мануалов. Попробуйте:
man -f gnome
. Для примера выполнение команды
whatis
приведёт к такому же результату.
Другие полезные вещи
Более привлекательные man'ы
Пользователи, у которых установлен Konqueror, могут читать страницы мануалом и выполнять по ним поиск в веб-браузерном контексте, украшенном выбранными фоновыми рисунками. Для этого нужно набрать в строке адреса Konqueror'а использовать команду:
man:/command
Копирование команд
Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш 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 | удаляет слово перед курсором |
Другие способы запуска терминала
Вы можете назначить горячие клавиши на запуск терминала.
Можно запустить больше одного терминала, либо в раздельных окнах, либо во вкладках одного.