Новичкам
January 10, 2022

Часть 1. Терминал Linux

1package & Let's Node

⠀Linux — это работа в терминале. Процессу обучения этому навыку может помочь данная серия статей.


Содержание

Часть 1

Часть 2

Часть 3

Часть 4

Часть 5


Введение

К содержанию

⠀Содержание статей:

  1. Горячие клавиши и переменные окружения.
  2. Группы команд: справочная информация, пакетный менеджер, файловая система.
  3. Группы команд: архивы, пользователи, текст.
  4. Группы команд: информация о системе, сеть, прочее.
  5. Операторы, запуск скриптов, а также описание скриптов нашей команды.

⠀Вся информация применима к Ubuntu 20.04. Она может быть неприменима частично к другим версиям и неприменима совершенно к другим дистрибутивам.

Дистрибутив Linux — это общее определение операционных систем, использующих ядро Linux и готовых к установке. Например: Ubuntu, Alpine Linux, Debian, CentOS и т. п.

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


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

К содержанию

⠀Горячие клавиши в Linux — это, как и везде, очень удобная вещь, экономящая время, силы и нервы. Желательно попробовать воспользоваться на практике всеми ими несколько десятков раз для первичного запоминания, а затем внедрять в свою жизнь наиболее полезные, попутно запоминая их надолго.

Команды

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

 — перейти к следующей команде в истории команд, можно выполнять несколько раз.

 — перейти влево на один символ.

Ctrl + ← — перейти влево на одно слово.

 — перейти вправо на один символ.

Ctrl + → — перейти вправо на одно слово.

Home / Ctrl+A — перейти к началу строки.

End / Ctrl+E  — перейти к концу строки.

Ctrl+XX — перемещение между началом строки и текущим положением курсора. Одно нажатие сочетания — в начало строки, второе — обратно.

hello wor|ld → |hello world → hello wor|ld

Процессы и экран

Ctrl+L — очистить экран, аналог команды clean.

Ctrl+C — прервать (убить) текущий процесс, запущенный в терминале на переднем плане.

Ctrl+Z — приостановить текущий процесс, отправив его в фоновый режим (для возобновления его работы служит команда fg).

Ctrl+S — остановить вывод на экран (например вывод лога).

Ctrl+Q — возобновить вывод на экран.

Текст

Alt+T — поменять местами текущее слово с предыдущим.

hello wor|ld → world hello|

Alt+D — удалить в текущем слове все символы после курсора.

hel|lo world → hel world

Ctrl+W — вырезать часть слова перед курсором и добавить его в буфер обмена. В частности можно использовать для удаления.

hello wor|ld → hello ld

Ctrl+U — вырезать часть строки перед курсором и добавить её в буфер обмена. В частности можно использовать для удаления.

hello wor|ld → ld

Ctrl+K — вырезать часть строки после курсора и добавить её в буфер обмена. В частности можно использовать для удаления.

hel|lo world → hel

Ctrl+Y — вставить последнее из буфера обмена.

Alt+U — сделать все символы заглавными от текущего до конца слова и переместить курсор в его конец.

h|ello world → hELLO| world

Alt+L — сделать все символы строчными от текущего до конца слова и переместить курсор в его конец.

h|ELLO world → hello| world

Alt+C — сделать текущий символ заглавным и переместить курсор в конец слова.

h|ello world → hEllo| world

Ctrl + - — отменить последнее действие, можно выполнить несколько раз (аналог Ctrl+Z в блокноте, Word и т. п.).

Прочее

Tab — автоматически дописать название вводимого файла, директории, команды или переменной.

chmod +x scri → chmod +x script.sh
cd dire → cd directory
tou → touch
echo $vari → echo $variable

Ctrl+R — поиск команды в истории выполнения.

Enter / Ctrl+O — выполнить найденную команду.

Ctrl+C / Ctrl+G — выйти из режима поиска без выполнения команды.


Переменные окружения

К содержанию

⠀Переменные окружения, переменные среды или просто переменные — это объекты, имеющие значение, т.е. содержащие в себе какую-то информацию, и использующиеся программами в процессе выполнения каких-либо действий.

Виды

Локальные

⠀Определены только для текущей сессии — после её завершения такие переменные перестанут существовать. Создаются и удаляются при помощи команд.

Пользовательские

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

  • .bash_profile
  • .bash_login (используется, если не существует .bash_profile)
  • .profile (используется, если не существует .bash_login)
  • .bashrc

⠀Для вступления в силу изменений, внесённых в данные файлы, необходимо выполнить команду

. путь_к_файлу
# Или
source путь_к_файлу
# Например
. $HOME/.bash_profile

Системные

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

  • /etc/environment
  • /etc/profile
  • /etc/profile.d/
  • /etc/bash.bashrc

Alias

⠀Alias — это ещё одно представление какой-либо команды. В роли команды может выступать любая команда или группа команд, в том числе вместе с опциями и аргументами.

⠀Alias не является переменной окружения, однако в связи со схожим принципом работы находится в данном разделе.

Создание

Локальные

  • Переменная
variable="value"
# Или
export variable="value"
  • Alias
alias update="sudo apt update && sudo apt upgrade"

Пользовательские

⠀Можно воспользоваться скриптом нашей команды из последней статьи, который делает всё самостоятельно с учётом всех тонкостей, или сделать вручную:

  • Переменная
export variable="value" >> $HOME/.bash_profile
. $HOME/.bash_profile
  • Alias
alias update="sudo apt update && sudo apt upgrade" >> $HOME/.bash_profile
. $HOME/.bash_profile

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

Переменная

⠀Чаще всего переменные используются в качестве текста в различных командах. Для использования переменной необходимо поставить знак $, а затем название переменной. Зачастую название заключается в фигурные скобки для того, чтобы переменная не сливалась с последующим текстом

variable="value"
echo "$variable"
value
umee_wallet_name="umee"
umeed keys show "$umee_wallet_name"
# Аналогично
umeed keys show "umee"
dir="dir1/dir2/"
cd "$HOME/${dir}my_dir"

Alias

⠀Alias используется в терминале или скрипте как обычная команда

update

Удаление

Локальные

  • Переменная
unset variable variable2 variable3
  • Alias
# Определённые
unalias update alias2 alias3
# Все
unalias -a

Пользовательские

⠀Можно воспользоваться скриптом нашей команды из последней статьи, который делает всё самостоятельно с учётом всех тонкостей, или сделать вручную:

  • Открыть файл текстовым редактором, например от MobaXterm или nano
nano -mP $HOME/.bash_profile
  • Удалить строку с переменной
  • Выполнить команду для вступления в силу изменений
. $HOME/.bash_profile

Зарезервированные системой

⠀Помимо задаваемых пользователем переменных существуют зарезервированные системой.

⠀Наиболее полезные из них:

  • HOME — домашняя директория текущего пользователя (перезаписывать не рекомендуется).
echo "$HOME"
# Возможные варианты
/root
/home/user
/home/user2
  • PATH — список директорий, разделенных двоеточиями, в которых командная оболочка ищет команды (например mkdir, wget и т. д.).
echo "$PATH"
# Возможные варианты
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
/root/.local/share/solana/install/active_release/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
  • HOSTNAME — название текущего хоста.
echo "$HOSTNAME"
# Возможные варианты
vmi666999.contaboserver.net
n8531eb
Ubuntu-2004-focal-64-minimal
  • PWD — путь к текущей рабочей директории.
echo "$PWD"
# Возможные варианты
/root
/root/dir1
/etc
  • RANDOM — случайное целое число в диапазоне от 0 до 32767.
echo "$RANDOM"
# Возможные варианты
12463
45
32466
  • EUID — числовой идентификатор текущего пользователя.
echo "$EUID"
# Возможные варианты
0
100
40
  • GROUPS — список идентификаторов групп, к которым принадлежит текущий пользователь.
echo "$GROUPS"
# Возможные варианты
0
100

Читать далее

К содержанию

⠀Во второй части рассматриваются следующие группы команд: справочная информация, пакетный менеджер, файловая система.

Часть 2. Терминал Linux


Полезные ссылки

К содержанию

Горячие клавиши Linux (EN) | Зарезервированные переменные


Благодарности

К содержанию

Команда 1package — написание статьи

Выразить благодарность