Консоль Linux и Android. Краткий справочник команд, работа в терминале.

nid#180
Вывод консоли

Консоль

Типичная команда консоли Linux (ОС GNU-Linux, Android и т.п.), как и многих других операционных систем, состоит из, собственно, имени программы, которую вызывает эта команда, и аргументов, задающих настройки её работы. Это статья включает в себя список самых необходимых основных команд консоли Linux и некоторые подсказки по работе с ней.

Вывод краткого списка опций работы какой-либо программы, в большинстве случаев, вызывается командой, состоящей из её имени и аргумента --help. Полное же описание всех возможностей приложения можно посмотреть, отдав консоли команду вида man имя_программы. Важно заметить, что опции запуска часто имеют и графические приложения.

Пунктуация, взаимодействие команд

  • Аргументы команд запуска программ обычно отделяются пробелом и двойным тире: программа --аргумент1 --агрумент2.
  • Чаще всего аргументы команд имеют короткие синонимы (смотрите man-страницы соответствующей программы), отделяемые одинарным тире: программа -А -б, или программа -Аб.
  • При упоминании пробелов и других специальных символов в адресах файлов и директорий необходимо использовать одинарные или двойные кавычки для обозначения элементов, содержащих их: например cd ~/'Мои документы'.
  • "~" - короткий синоним адреса домашней папки вашего пользователя. Выполните cd ~, например, чтобы перейти в свою домашнюю директорию (/home/пользователь).

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

"Вверх" и "Вниз"
Перемещение по истории набранных ранее в консоли команд.
"Tab"
Автоматическое дополнение до исполняемой команды последовательности символов, набранной в консоли.
Ctrl+U
Удалить текущую командную строку.
Q
Выход из программы работающей в полноэкранном консольном режиме отображения информации (less, watch и т.п.).
Ctrl+Z
Свернёт программу в фон.
Ctrl+X
Выход из программы.
Ctrl+C
Экстренный выход из запущенной программы.
Ctrl+D
Выход из учетной записи пользователя (смотрите далее).
Ctrl+Alt+Del
Перезагрузка компьютера (смотрите далее).

Справочник команд

history
Покажет историю набранных до этого в консоли команд.
!!
Повторит последнюю выполненную команду.
clear
Очистит окно консоли.
reset
Полностью очистит окно консоли.
cat (-n) /адрес/файла
Покажет содержимое текстового файла (--number, с номерами строк).
head (-n 25) /адрес/файла
Отобразит первые (25 в примере, 10 - по-умолчанию) строки текстового файла.
tail (-n X) (-f) /адрес/файла
Выведет последние строки содержимого текстового файла (X в примере, 10 по-умолчанию) (--follow, показывая новые по мере его роста).
more (+номер) /адрес/файла
Выведет содержимое текстового файла (начиная со строки номер) в полноэкранном режиме с прокруткой.
less /адрес/файла
Выведет содержимое текстового файла в полноэкранном режиме с прокруткой вперёд и назад.
watch (-n 1) команда
Будет выполнять команду через определённые интервалы времени (каждую секунду, две - по-умолчанию), отображая в полноэкранном режиме результаты её работы.
grep (-i) ключ /адрес/файла
Ищет строки, содержащие ключевое слово или словосочетание (в одинарных кавычках в таком случае), в текстовом файле (--ignore-case, без учёта регистра).
echo (%ПЕРЕМЕННАЯ)
Отобразит набранный текст (значение переменной - смотрите далее) на экране.

Команды cat, head, tail, grep, more, less и т.п. можно использовать в комбинации с другими консольными программами, для отображения и обработки их вывода. Например: history | grep -i имя_программы, или dir -al /адрес/папки | less

Папки и файлы

ls (--list) (--all) (/адрес/папки) или dir (-la) (/адрес/папки)
Выведет список содержимого (подробный) (всего, включая скрытые файлы) (определённой, по-умолчанию - активной) папки.
cd /адрес/папки
Сменит рабочую папку.
mkdir /адрес/папки
Создаст папку.
rm (-r) /адрес/файла
Удалит файл (--recoursive, папку рекурсивно со всем содержимым).
Будьте осторожны с аргументом -r: перед удалением программа не спросит подтверждения вашего действия.
cp (-R) /исходный/файл /файл/назначения
Скопирует файл (папку с содержимым рекурсивно).
ln (-s) /исходный/файл /файл/назначения

Создаст (--symbolic, символьную/относительную) ссылку.

mv /исходный/адрес /адрес/назначения
Сменит адрес файла или папки (переименует или переместит).
du (-h) (-s) (-x) (/адрес/папки)
Отобразит размеры активной (указанной) директории и всех содержащихся в ней папок (--human-readable, в удобном виде, Мб или Гб) (исключая смонтированные внутри неё внешние файловые системы) (исключая вывод размера внутренних папок).

Программы

программа &
Запустит выполнение программы в фоновом режиме.
программа && программа_2 && другие_программы
Запустит выполнение программ по списку.
sleep 1/2m/3h
Команда создаст паузу длиной в 1 секунду, 2 минуты или 3 часа, соответственно.
jobs
Выведет список программ, работающих в фоне.
fg (номер задачи)
"Достанет" программу (с указанным номером) из фонового режима.
cnf программа или command-not-found комманда
Ищет в программной базе дистрибутива установочный пакет, содержащий необходимую программу.
sh /название/скрипта или bash /название/скрипта
Запустит скрипт консоли. В виде таких скриптов, с расширением .sh часто, распространяются, например, закрытые проприетарные видео-драйвера NVidia и т.п.
killall (-SIGKILL) имя-программы
Завершит программу со всеми её дочерними процессами, отправляя ей SIGTERM (сигнал запроса завершения процесса). Для немедленного завершения программы используйте аргумент -SIGKILL для отправки соответствующего сигнала.
env
Отобразит список глобальных переменных окружения.
set
Отобразит список глобальных функций и всех переменных окружения.
export ПЕРЕМЕННАЯ=значение
Произведёт установку глобальной переменной окружения для ряда программ.

Управление системой

exit, logout или Ctrl+D
Выход из активной учётной записи.
reboot *, init 6 * или Ctrl+Alt+Del
Перезагрузит компьютера.
poweroff *, shutdown *, init 0 * или кнопка выключения компьютера
Выключит компьютер.

Ctrl+Alt+Del и кнопка выключения компьютера вызовут его перезагрузку или выключение, соответственно, только в случае работы системы в полностью консольном режиме, на третьем текстовом уровне. В случае использования графического рабочего стола, сигналы этих кнопок могут им перехватываться и обрабатываться по-разному, в зависимости от настроек.
* Отмеченные команды могут потребовать своего запуска от имени администратора для корректной работы.
Упоминаемые в квадратных скобках аргументы команд необязательны и представлены в статье более для наглядности. Смотрите страницы man используемых вами программ.

Комментарии

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

Спасибо за полезную статью. Смею заметить что многие GNU/Linux системы хорошо локализованы и запуск, например, в UBUNTU 15.04 консоли с аргументом (ключом) --help-terminal-options подскажет новичку что и как.
А лишний мягкий знак в предложении "Команда создасть паузу..." удалите.

Последнее на форуме