Под Linux существуют GUI (графические интерфейсы пользователя), где вы можете с помощью мышки выполнить необходимую работу без чтения большого объёма документации. Но традиционное окружение Unix — это CLI (интерфейс командной строки), где вы вводите команды, чтобы сказать компьютеру о том, что нужно сделать. Такой подход является более гибким и обеспечивает больше возможностей, а также более быструю работу, но требует знания команд.
Существует множество разнообразных дистрибутивов Linux, но практически все они используют одни и те же команды, которые вводятся в терминале. Также существует великое множество графических интерфейсов (GUI), но они все работают по разному и мало подчинены стандартам. Опытные пользователи, работающие с разными дистрибутивами Linux, обычно запоминают команды, которые универсальны для всех Ubuntu и, как правило, работают во всех остальных системах.
Команды консоли могут приводить в растерянность новичка:
1 2 | sudo gobbledegook blah_blah -w -t -f aWkward/ComBinationOf/mixedCase/underscores_strokes/and.dots |
Однако, даже опытные пользователи часто копируют команды из мануалов или гайдов себе в терминал. Они их просто не запоминают! Конечно, важно знать, как работать в терминале, и если вы умеете просто набирать текст или копировать его, вы справитесь с терминалом, работать там не сложнее. В этой статье собраны некоторые хитрые команды и комбинации клавиш, которые облегчат вам использование интерфейса консоли.
1 | Помните, что терминал чувствителен к регистру! Слова User, user и USER в Linux различаются! |
Запуск терминала
В Gnome (Ubuntu)
Терминал находится в Приложения→Стандартные→Терминал
В Xfce (Xubuntu)
Терминал находится в Приложения→Система→Терминал
В KDE (Kubuntu)
Терминал находится в Приложения→Система→Терминал(Konsole)
Команды
1 | Все команды, приведённые на этой странице, должны быть выполнены из командной строки в терминале. |
Выполнение команд с неограниченными привилегиями
Перед большинством команд, перечисленных ниже, необходимо писать команду:
1 | sudo |
Это временно даёт права суперпользователя, которые необходимы для работы с файлами и каталогами, которые не принадлежат вашему аккаунту. Для использования
1 | sudo |
требуется ввести пароль. Только пользователи с такими административными привилегиями могут использовать эту команду.
Команды для работы с файлами и папками
-
Символ тильда (~) обозначает вашу домашнюю папку. Если вы user, то тильда (~) — это /home/user.
-
Команда1pwd
(«print working directory») позволяет вам узнать, в какой директории вы находитесь в данный момент. Помните, однако, что эту же информацию Gnome Terminal всегда показывает в названии окна.
-
1ls
покажет вам все файлы в текущей директории. Если использовать эту команду с определёнными опциями, можно также включить отображение размера файлов, времени последнего изменения и прав на файлы. Например:
1 | ls ~ |
покажет всё, что у вас есть в домашней папке.
Команда
1 | cd |
меняет рабочую директорию. Когда вы только запускаете терминал, вы будете находиться в вашей домашней папке. Чтобы перемещаться по файловой системе, нужно использовать
1 | cd |
. Примеры:
Чтобы попасть в корневой каталог, выполните:
1 | cd / |
Чтобы попасть в домашнюю папку, выполните:
1 | cd ~ |
1 | cd .. |
Для возврата в предыдущую посещённую директорию, используйте:
1 | cd - |
Для перемещения через несколько директорий за раз, нужно написать полный путь папки, в которую вы хотите переместиться. Например, команда:
1 | cd /var/www |
переместит вас в подкаталог /www каталога /var/. А команда:
1 | cd ~/Рабочий\ стол |
переместит вас на рабочий стол. В данном случае «\» обозначает экранирование пробела.
Команда
1 | cp |
копирует файл. Например, команда:
1 | cp text new |
создаст точную копию файла «text» и назовёт её «new», при этом «file» никуда не исчезнет. Для копирования директории необходимо воспользоваться командой:
1 | cp -r directory new |
где опция
1 | -r |
обозначает рекурсивное копирование.
Команда
1 | mv |
перемещает файл в другое место или просто переименовывает файл. Например, команда:
1 | mv file text |
переименует «file» в «text».
1 | mv text ~/Рабочий\ стол |
переместит «text» вам на рабочий стол, но не переименуют его. Чтобы всё-таки переименовать файл, нужно специально указывать ему новое имя. Вы можете заменять путь к вашей домашней папке на ‘~’, чтобы ускоряет работу. Помните, что при использовании
1 | mv |
вместе с
1 | sudo |
, терминал так же привязывает ‘~’ к вашей домашней папке. Однако если вы включаете сессию суперпользователя в консоли с помощью
1 | sudo -i |
или
1 | sudo -s |
, то ‘~’ будет ссылаться на корень диска, а не на ваш домашний каталог.
Команда
1 | rm |
удаляет файл.
Команда
1 | rmdir |
удаляет пустую папку. Чтобы удалить папку вместе со всеми вложениями, используйте
1 | rm -r |
вместо этого.
<
1 | mkdir Эта команда создаёт директорию. Команда |
1 | mkdir music |
создаст вам папку, которая будет называться «music».
1 | man |
попробуйте эту команду, когда вы хотите прочитать встроенное описание другой команды. Например:
1 | man man |
покажет вам описание самой этой команды.
Команды информации о системе
Команда
1 | df |
показывает объём занятого дискового пространства на всех смонтированных разделах. Наиболее полезна:
1 | df -h |
Поскольку использует для отображения Мегабайты (M) и Гигабайты (G), а не блоки.
1 | -h |
означает «human readable» («читабельный для человека»).
Команда
1 | du |
отображает объём дискового пространства, занятого конкретной папкой. Она может показывать информацию для всех поддиректорий отдельно или для папки в целом. ..
1 2 3 4 5 | user@users-desktop:~$ du /media/floppy 1032 /media/floppy/files 1036 /media/floppy/ user@users-desktop:~$ du -sh /media/floppy 1.1M /media/floppy/ |
1 | -s |
означает «summary» (в целом), а
1 | -h |
означает «human readable» («читабельный для человека»).
Команда
1 | free |
отображает объём свободной и занятой оперативной памяти. Команда:
1 | free -m |
показывает информацию в Мегабайтах.
Команда
1 | top |
отображает информацию о вашей системе, запущенных процессах и системных ресурсах, включая загрузку CPU, использование RAM и swap и количество запущенных процессов. Чтобы остановить
1 | top |
, нажмите Q.
Команда
1 | uname |
с опцией
1 | -a |
выводит всю системную информацию, включая имя машины, версию ядра и другие детали. Самое полезное из этого — проверка версии ядра.
Команда
1 | lsb_release |
с опцией
1 | -a |
выводит информацию о версии Linux, которую вы используете. Например:
1 2 3 4 5 6 | user@computer:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 6.06 LTS Release: 6.06 Codename: dapper |
1 | ifconfig |
выводит отчёт о сетевых интерфейсах системы.<
Добавление нового пользователя
Команда создаёт нового пользователя в вашей системе с именем «newuser»:
1 | adduser newuser |
. Чтобы назначить ему пароль, используйте:
1 | passwd newuser |
Опции
Стандартное поведение команды обычно изменется, для этого используются опции команд,
1 | –option |
. К примеру, команда
1 | ls |
имеет опцию
1 | -s |
, использование которой приведёт к отображению помимо списка файлов их размеры. А добавление опции
1 | -h |
, опять же, сделает размеры «читаемыми». Опции могут быть сгруппированы, и команда
1 | ls -s -h |
может быть заменена на
1 | ls -sh |
. Большинство опций имеют свой длинный вариант, начинающийся с двух дефисов вместо одного. В таком виде всё та же команда будет выглядеть как
1 | ls –size –human-readable |
.
Man и получение справки
команды man, info и command –help — самые главные инструменты в консоли.
Почти каждая команда и приложение в Linux имеет man-файл (мануал). Найти его очень просто: для этого нужно ввести
1 | man «command |
. Например:
1 | man mv |
покажет мануал команды
1 | mv |
.
Перемещаться по этому мануалу можно клавишами со стрелками, а выйти из него, нажав клавишу Q.
Команда:
1 | man intro |
особенно полезная. Она отображает «Введение в пользовательские команды» — толково написанное, краткое и понятное введение в команды консоли Linux.
Также существуют справочные страницы, которые обычно глубже, чем мануалы. Попробуйте выполнить:
1 | info info |
для прочтения введения в справку.
Некоторые разработчики программного обеспечения предпочитают справку мануалам (например, разработчики GNU), поэтому если вы встретите часто используемую программу, у которой нет страницы мануала, стоит найти справку.
Практически все команды понимают опцию
1 | -h |
(или
1 | –help |
), которая выводит краткое описание использование команды и её опций, а затем выходит в консоль. Попробуйте выполнить:
1 2 | man -h man --help |
Чтобы увидеть, как это работает.
Бывает, что программа не интерпретирует опцию -h как вызов справки. В таком случае ознакомьтесь с man’ом и попробуйте длинную опцию –help перед -h.
Поиск по man’ам
Если вы не уверены, какая команда вам нужна, попробуйте поискать по текстам мануалов.
1 | man -k something-you-need |
будет искать то, что вам нужно во всех мануалах. Попробуйте:
1 | man -k nautilus |
чтобы увидеть, как это работает. Кстати, это то же самое, что выполнить команду
1 | apropos |
.
1 | man -f something-you-need |
будет искать только по названиям системных мануалов. Попробуйте:
1 | man -f gnome |
. Для примера выполнение команды
1 | whatis |
приведёт к такому же результату.
Другие полезные вещи
Более привлекательные man’ы
Пользователи, у которых установлен Konqueror, могут читать страницы мануалом и выполнять по ним поиск в веб-браузерном контексте, украшенном выбранными фоновыми рисунками. Для этого нужно набрать в строке адреса Konqueror’а использовать команду:
1 | man:/command |
Копирование команд
Часто вам придётся следовать каким-либо инструкциям, которые требуют копирования команд в терминал. Наверное, вы удивитесь, когда обнаружите, что текст, скопированный вами с интернет-страницы при помощи комбинации клавиш Ctrl+C, не вставлятся в терминал при нажатии 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 | удаляет слово перед курсором |
Другие способы запуска терминала
Вы можете назначить горячие клавиши на запуск терминала.
Можно запустить больше одного терминала, либо в раздельных окнах, либо во вкладках одного.