Linux-шпаргалка: команды терминала для новичков
Терминал и текстовые команды — главный способ управления операционной системой Linux, особенно, если речь идёт о сервере. И хоть слово «терминал» пугает новичков, поверьте, что всё гораздо проще. Сегодня мы подготовили для вас шпаргалку с базовыми командами — сохраняйте её в закладки и повышайте свою продуктивность в сотни раз. 😉
Начнём с теории
Linux (Линукс) — это целое семейство операционных систем Unix с открытым исходным кодом, основанных на ядре Linux. Сюда входят все самые популярные системы на основе ОС, например: Ubuntu, Fedora, Mint, Debian и другие. Их ещё называют дистрибутивами. Подробнее о каждом читайте в этом посте.
Терминал (или «Bash», сокращение от «Bourne-Again shell») — это программа, которая используется для взаимодействия с командной оболочкой. Терминал применяется для выполнения административных задач, например: установку пакетов, действия с файлами и управление пользователями.
Команда — это название программы, которое пользователь вводит в терминале для выполнения определённой задачи. Команды могут иметь дополнительные данные и параметры.
В ОС есть несколько сотен команд и их модификаций. Они группируются по нескольким категориям:
- По расположению — могут быть утилитами командной строки или встроенной функцией командной оболочки.
- По частоте применения — те команды, что используются постоянно, по ситуации (эпизодически) или редко.
- По типам действий — большая группа команд, с помощью которых можно управлять процессами или достать нужную информацию. О них сегодня и поговорим.
Типичная команда выглядит вот так:
Команды, которые позволят узнать больше о вашей системе
id — если вы хотите получить информацию о вашей учётной записи.
w — полезная команда, если вам нужно узнать, какой пользователь сейчас находится в системе (или команда -f — для того, чтобы узнать, откуда был совершён вход).
lsblk — если вы хотите открыть список блочных устройств хранения данных.
lscpu — отображает информацию о процессорах.
free — показывает объём свободной и уже используемой памяти (альтернативная команда — free -g).
lsb_release -a — если вы хотите получить информацию о версии вашей ОС.
Команды для работы с файлами
Содержит в себе практически все мелкие утилиты и инструменты для взаимодействия с файлами и папками.
ls — покажет содержимое директории, в которой вы находитесь. Если после команды ввести адрес конкретной папки, то она покажет то, что хранится в ней. При добавлении аргумента -R в выводе команды появятся файлы из поддиректорий.
cd — change directory, что в переводе означает «сменить директорию». Из названия понятно, что с помощью этой команды можно перемещаться между папками. Вписываем её, а потом адрес: cd /user/test/dir/111. Есть сокращенные варианты: cd- для перемещения в предыдущую директорию или cd (без аргументов) для прыжка в домашнюю папку.
pwd — укажет полный путь до директории, в которой вы находитесь. Если вы перепрыгнули на рабочий стол с помощью cd ~/Desktop/, то pwd покажет что-то в духе /home/Polzovatel/Desktop.
dd — мощная утилита для взаимодействия с разделами. С её помощью можно делать копии разделов, перемещать их, удалять без возможности восстановления.
rm — опасная команда для удаления директорий и их содержимого. Стирает все данные, которые обнаружит в указанной папке без возможности к восстановлению.
grep — это полнотекстовый поиск в файле. Очень полезная команда, когда вам нужно что-то найти. Например, grep значение /путь/до/файла покажет строки в которых есть «значение». А команда grep -ril значение /путь/до/каталога/* покажет все файлы, в которых есть искомое значение.
-r — рекурсивный поиск
-i — игнорировать регистр (Case insensetive)
-l — вывести результат списком.
chown пользователь:группа — команда позволяет изменить владельца файла.
chmod — изменяет права на файл или каталог
find — суперполезная команда. С её помощью можно искать файлы по определённым параметрам.
Следующие команды потребуются вам при работе с файлами разного типа и объёма:
cat — показывает содержимое файлов. Также может использоваться в двух вариантах: 1) одним текстовым файлом (cat путь_к_файлу), она отображает содержимое файла в окне терминала, 2) если же указать больше элементов, то команда склеит их (cat путь_к_файлу_1 путь_к_файлу_2).
head — «голова», как и cat, показывает содержимое документов, но не всё, а только первые 10 строк. При желании количество строк можно увеличить или сократить, добавив параметр -n.
tail -f — используется для просмотра растущего файла в окне интерактивного запуска кода.
touch — эта команда создавалась для изменения времени последнего открытия файла или директории, но используют её, в основном, для создания новых файлов.
wget — загружает из интернета документы, картинки, целые страницы и прочий контент.
wc — считает количество строк, слов, знаков и байтов.
zip — упаковывает файлы в архив в формате .zip.
diff — сокращение от «difference». Команда показывает разницу между двумя текстовыми файлами.
Что вы можете сделать с двоичными файлами? На самом деле, вариантов не очень много:
strings — команда выведет готовые к печати строки файла;
od — позволит вам напечатать файл в восьмеричном формате;
cmp — даёт возможность побайтно сравнивать файлы.
Если вам требуется сравнить текстовые файлы друг с другом, введите эти команды:
comm — отсортированные файлы будут строка за строкой.
diff — позволяет построчно выявить различия. Эта команда используется наиболее часто в силу богатого набора опций.
Команды для управления пользователями
Linux — многопользовательская система, поэтому здесь достаточно сложная система добавления и редактирования учётных записей. Но можно упростить себе жизнь и воспользоваться этими командами:
useradd — создаёт новую учётную запись. Например, если мы захотим бы добавить нового пользователя с именем REG.RU, то нужно воспользоваться этой командой — вводим useradd REG.RU.
passwd — задаёт пароль для учётной записи. Короче говоря, работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем passwd REG.RU.
userdel — удаляет выбранную учётную запись. Синтаксис простейший: userdel , которую нужно стереть
Для установки, удаления и обновления пакетов
Для установки программ в Linux используются менеджеры пакетов, но для каждого дистрибутива они разные. Вот команды для наиболее популярных дистрибутивов:
Debian/Ubuntu
sudo apt-get install название_пакета — устанавливает программу на выбор.
sudo apt remove название_пакета — команда, используя которую можно удалить не только ПО, но и все неиспользуемые пакеты.
sudo apt-get update — обновляет информацию о пакетах, имеющихся в системе, и тех, что хранятся в подключённых репозиториях.
sudo apt-upgrade — обновляет установленные пакеты до самых свежих версий, доступных в подключенных репозиториях.
sudo apt purge — удаляет все файлы конфигурации вместе с пакетами ПО.
sudo apt autoremove -purge — удаляет абсолютно всё: и пакеты, и зависимости, и конфиги.
Red Hat Linux/CentOS
sudo dnf install название_пакета — устанавливает программу на выбор.
sudo dnf upgrade — обновляет установленные пакеты до самых свежих версий.
sudo dnf remove название_пакета — стирает с жёсткого диска имеющийся в системе пакет.
Бонус! Хитрости, которые сэкономят время
Этот список полезных знаков в разы ускорит вашу работу с командами:
!! — повторяет последнюю команду.
!$ — позволяет изменить команду, сохраняя последний аргумент. Например, команда less !$ — используется для повторного открытия файла в меньшем объёме.
!* —позволяет изменить команду, сохраняя при этом все аргументы. Например, head states.txt | grep ‘^Al’ — при использовании должен быть хвост.
tail !* — избавляет от необходимости вводить остальную часть команды.
>x.txt — используется для создания пустого файла или очистки существующего.
lsof -P -i -n — определяет, к каким скриптам идёт обращение со стороны веб-сервера.
И самая крутая команда в Linux: для вывода полного руководства о той или иной команде есть man (сокращенно от manual). Чтобы вывести мануал достаточно просто выполнить man . В качестве примера давайте рассмотрим команду cat:
NAME
cat — concatenate files and print on the standard output
DESCRIPTION
Concatenate FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.
-A, —show-all
equivalent to -vET
-b, —number-nonblank
number nonempty output lines, overrides -n
-E, —show-ends
display $ at end of each line
-n, —number
number all output lines
-s, —squeeze-blank
suppress repeated empty output lines
-T, —show-tabs
display TAB characters as ^I
-v, —show-nonprinting
use ^ and M- notation, except for LFD and TAB
—help display this help and exit
—version
output version information and exit
EXAMPLES
cat f — g
Output f’s contents, then standard input, then g’s contents.
А для выход из режима просмотра, достаточно набрать команду quit или q.
На первый взгляд может показаться, что список очень трудно запомнить, но запоминание приходит с практикой! Чем чаще вы пользуетесь теми или иными командами, тем скорее вы их запомните.
И, если вы хотите попробовать какие-то команды на настоящем сервере — попробуйте наши Облачные VPS с готовым шаблоном популярных дистрибутивов Linux: Ubuntu, CentOS и Django и почасовой оплатой от 44 копеек.