wiki:использование_терминала

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


Использование терминала

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

Существует множество разнообразных дистрибутивов Linux, но практически все они используют одни и те же команды, которые вводятся в терминале. Также существует великое множество графических интерфейсов (GUI), но они все работают по разному и мало подчинены стандартам. Опытные пользователи, работающие с разными дистрибутивами Linux, обычно запоминают команды, которые универсальны для всех Ubuntu и, как правило, работают во всех остальных системах.

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

sudo gobbledegook blah_blah -w -t -f 
aWkward/ComBinationOf/mixedCase/underscores_strokes/and.dots

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

Как читать эту статью

  • Все названия команд выделены жирным.
  • Команды, которые должны быть набраны, выделены «жирным и кавычками».
  • Все команды, приведённые на этой странице, должны быть выполнены из командной строки в терминале.
  • Помните, что терминал чувствителен к регистру. Слова User, user и USER в Linux различаются.

Запуск терминала

В Gnome (Ubuntu)

Терминал находится в Приложения → Стандартные → Терминал

В Xfce (Xubuntu)

Терминал находится в Приложения → Система → Терминал

В KDE (Kubuntu)

Терминал находится в Приложения → Система → Терминал (Konsole)

Команды

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

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

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

  • Символ тильда (~) обозначает вашу домашнюю папку. Если вы user, то тильда (~) — это /home/user .
  • pwd: Команда pwd («print working directory») позволяет вам узнать, в какой директории вы находитесь в данный момент. Помните, однако, что эту же информацию Gnome Terminal всегда показывает в названии окна.
  • ls: Эта команда покажет вам все файлы в текущей директории. Если использовать эту команду с определёнными опциями, можно также включить отображение размера файлов, времени последнего изменения и прав на файлы. Например, «ls ~« покажет всё, что у вас есть в домашней папке.
  • cd: Команда cd меняет рабочую директорию. Когда вы только запускаете терминал, вы будете находиться в вашей домашней папке. Чтобы перемещаться по файловой системе, нужно использовать cd. Примеры:
    1. Чтобы попасть в корневой каталог, выполните «cd /«
    2. Чтобы попасть в домашнюю папку, выполните «cd» или «cd ~«
    3. Чтобы переместиться на один каталог вверх, используйте «cd ..»
    4. Для возврата в предыдущую посещённую директорию, используйте «cd -«
    5. Для перемещения через несколько директорий за раз, нужно написать полный путь папки, в которую вы хотите переместиться. Например, команда «cd /var/www» переместит вас в подкаталог /www каталога /var/. А команда «cd ~/Рабочий\ стол» переместит вас на рабочий стол. *В данном случае «\» обозначает экранирование пробела.
  • cp: Команда cp копирует файл. Например, команда «cp text new» создаст точную копию файла «text» и назовёт её «new», при этом «file» никуда не исчезнет. Для копирования директории необходимо воспользоваться командой «cp -r directory new», где опция -r обозначает рекурсивное копирование.
  • mv: Команда mv перемещает файл в другое место или просто переименовывает файл. Например, команда «mv file text» переименует «file» в «text». «mv text ~/Рабочий\ стол» переместит «text» вам на рабочий стол, но не переименуют его. Чтобы всё-таки переименовать файл, нужно специально указывать ему новое имя. Вы можете заменять путь к вашей домашней папке на '~', чтобы ускоряет работу. Помните, что при использовании mv вместе с sudo, терминал так же привязывает '~' к вашей домашней папке. Однако если вы включаете сессию суперпользователя в консоли с помощью sudo -i или sudo -s, то '~' будет ссылаться на корень диска, а не на ваш домашний каталог.
  • rm: Эта команда удаляет файл.
  • rmdir: Команда rmdir удаляет пустую папку. Чтобы удалить папку вместе со всеми вложениями, используйте rm -r вместо этого.
  • mkdir: Эта команда создаёт директорию. Команда «mkdir music» создаст вам папку, которая будет называться «music».
  • man: Попробуйте эту команду, когда вы хотите прочитать встроенное описание другой команды. «man man» покажет вам описание самой этой команды.

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

  • df: Эта команда показывает объём занятого дискового пространства на всех смонтированных разделах. «df -h» наиболее полезна, поскольку использует для отображения Мегабайты (M) и Гигабайты (G), а не блоки. »-h» означает «human readable» («читабельный для человека»).
  • du: Команда 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: Команда top отображает информацию о вашей системе, запущенных процессах и системных ресурсах, включая загрузку CPU, использование RAM и swap и количество запущенных процессов. Чтобы остановить top, нажмите «q».
  • uname -a: Команда uname с опцией -a выводит всю системную информацию, включая имя машины, версию ядра и другие детали. Самое полезное из этого — проверка версии ядра.
  • lsb_release -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: Эта команда выводит отчёт о сетевых интерфейсах системы.

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

  • Команда «adduser newuser» создаёт нового пользователя в вашей системе с именем «newuser». Чтобы назначить ему пароль, используйте «passwd newuser».

Опции

Стандартное поведение команды обычно изменется, для этого используются опции команд, –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 man» покажет мануал команды man. Это неплохо для начала освоения!

«man intro» — команда особенно полезная. Она отображает «Введение в пользовательские команды» — толково написанное, краткое и понятное введение в команды консоли Linux.

Также существуют справочные страницы, которые обычно глубже, чем мануалы. Попробуйте выполнить «info info» для прочтения введения в справку.

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

Практически все команды понимают опцию -h (или –help), которая выводит краткое описание использование команды и её опций, а затем выходит в консоль. Попробуйте выполнить «man -h» или «man –help», чтобы увидеть, как это работает.

Бывает, что программа не интерпретирует опцию -h как вызов справки. В таком случае ознакомьтесь с man'ом и попробуйте длинную опцию –help перед -h.

Поиск по 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+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 удаляет слово перед курсором

Другие способы запуска терминала

Вы можете назначить горячие клавиши на запуск терминала.

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

Ссылки