Как выжить в терминале Linux : 15 основных команд для новичков
Зачем пользоваться терминалом и вводить команды, если есть графический интерфейс? Во-первых, рабочие среды в разных дистрибутивах Linux могут отличаться, поэтому при смене среды будет сложно сориентироваться в интерфейсе. А команды везде практически одинаковые. Во-вторых, серверы под управлением Linux не имеют графической оболочки. Без команд работать с ними не получится. В-третьих, даже самый продуманный графический интерфейс не сравнится по функциональности с командной строкой. О том, какие команды будут полезны для работы с Linux-дистрибутивами, поговорим в этой статье.


Начало работы с терминалом
Для начала следует понять, в какую папку ведется работа и что в ней содержится. Решить такую задачу поможет команда pwd:

Это команда-навигатор — она позволяет понять, в каком каталоге вы находитесь. Строится она так:
Опции команды:
Опция | Описание | Пример применения |
-L | Показывает путь с логическими ссылками | pwd -L |
-P | Показывает путь с физическими ссылками | pwd -P |
--help | Показывает справку по команде pwd | pwd --help |
--version | Показывает версию команды pwd | pwd --version |
Например, команда типа $ pwd/home/user/Documents (текущая директория)может вывести полный системный путь к текущему каталогу в файловой системе.
ls (List)
ls — одна из самых популярных команд в Linux. Она помогает увидеть список файлов в текущем или каком-то конкретном каталоге, если указать к нему путь. Также она может вывести метаданные о файлах. Например, размеры, дату создания, авторов, владельцев и т.д.
Синтаксис:
Опции команды:
Опция | Описание | Пример применения |
-a | Показывает все файлы, включая скрытые | ls -a |
-l | Выводит подробную информацию о файлах | ls -l |
-h | Показывает размер файлов в удобном для чтения формате | ls -lh |
-R | Рекурсивно выводит содержимое всех подкаталогов | ls -R |
-t | Сортирует файлы по времени последней модификации | ls -t |
-r | Меняет порядок сортировки файлов | ls -tr |
-S | Сортирует файлы по размеру | ls -S |
-i | Показывает индексный номер для каждого файла | ls -i |
-1 | Выводит список файлов в одном столбце | ls -1 |
-d | Показывает только сам каталог, а не его содержимое | ls -d */ |
-F | Добавляет символы к именам файлов для указания их типа | ls -F |
--color | Включает цветную подсветку для разных типов файлов | ls --color |
--block-size=size | Задает размер блока для отображения | ls --block-size=K |
--help | Показывает справку по команде ls | ls --help |
--version | Показывает версию команды ls | ls --version |
Примеры:
Команда выше выводит имена всех объектов (файлов и папок), которые хранятся в текущей директории. В данном случае это файлы file1.txt и file2.txt, папки directory1 и directory2.
Эта команда выводит список файлов с подробной информацией про каждый из них.

Полезно знать команды для перемещения по структуре каталогов, создания и удаления директорий. Таких команд несколько, рассмотрим самые популярные из них: cd, mkdir и rmdir.
cd (Change Directory)
Команда cd позволяет перемещаться по директориям в командной строке. Базовый синтаксис:
Опции команды:
Опция | Описание | Пример применения |
(без опции) | Переходит в указанный каталог. Если путь не указан, переходит в домашний каталог пользователя. | cd /home/user/ |
- | Возвращает в предыдущий каталог | cd - |
~ | Обеспечивает переход в домашний каталог пользователя | cd ~ или просто cd |
.. | Обеспечивает переход в родительский каталог, который на один уровень выше | cd .. |
. | Выводит ссылку на текущий каталог | cd . — |
--help | Показывает справку по команде cd | cd --help |
--version | Показывает версию команды cd | cd --version |
Примеры применения:
Переход в директорию /home/user/Documents.
Возврат в домашнюю директорию.
Переход на уровень выше.
mkdir (Make Directory)
Команда mkdir позволяет создать новую директорию в текущем каталоге. Также с ее помощью можно указывать полный путь для создания папки.
Команда строится следующим образом:
Возможные опции:
Опция | Описание | Пример применения |
-p | Создает каталоги рекурсивно. Например, если родительского каталога не существует, он будет создан. | mkdir -p /home/user/docs/2023/reports |
-v | Выводит сообщение для каждого создаваемого каталога | mkdir -v newdir |
-m | Устанавливает права доступа для создаваемого каталога | mkdir -m 755 mydir |
--help | Показывает справку по команде mkdir | mkdir --help |
--version | Показывает версию команды mkdir | mkdir --version |
-Z | Устанавливает SELinux-контекст для создаваемого каталога | mkdir -Z /home/user/newdir |
Примеры использования:
Создание новой папки new_folder в текущей директории.
Одновременное создание нескольких папок.
Создания вложения в папке (с использованием параметра -p).

rmdir (Remove Directory)
Команда rmdir удаляет только пустые директории. Если в директории есть файлы или папки, удалить ее не получится.
Синтаксис:
Опции команды:
Опция | Описание | Пример применения |
(без опций) | Удаляет указанные пустые каталоги | rmdir mydir |
-p | Рекурсивно удаляет пустые каталоги, начиная с указанного каталога и до пустых родительских | rmdir -p /home/user/docs/2023/reports |
--ignore-fail-on-non-empty | Подавляет вывод ошибок при удалении пустых директорий | rmdir --ignore-fail-on-non-empty /home/user/dir1 /home/user/dir2 |
--help | Показывает справку по команде rmdir | rmdir --help |
--version | Показывает версию команды rmdir | rmdir --version |
Примеры использования:
Удаление пустой директории empty_folder.
Удаление нескольких пустых директорий. Если хотите удалить директорию с содержимым, используйте команду rm -r.
Работа с файлами
Чтобы эффективно манипулировать файлами в терминале Linux, тоже есть отдельная группа команд. У них достаточно много опций, но не обязательно пользоваться всеми сразу — каждая из них будет пригождаться по мере освоения терминала.
touch
Это одна из самых востребованных команд в терминале Linux. Она позволяет создавать новые файлы с указанными именами и изменять временные метки. Например, если указан несуществующий файл, команда его создаст, а если файл существует, команда обновит время последнего доступа и изменения содержимого.
Формат команды:
Опции touch:
Опция | Описание | Пример использования |
-a | Только обновление времени последнего доступа (без изменения времени изменения) | touch -a file.txt |
-m | Только обновление времени последнего изменения (без изменения времени доступа) | touch -m file.txt |
-c, --no-create | Не создает файл, если он не существует. Используется для обновления временных меток существующих файлов. | touch -c file.txt |
-t | Устанавливает временные метки в указанное время (формат: [[CC]YY]MMDDhhmm[.ss]) | touch -t 202301011200.00 file.txt |
-d | Использует указанную дату в формате YYYY-MM-DD для изменения временных меток файла | touch -d "2023-01-01 12:00:00" file.txt |
-r | Устанавливает временные метки файла file как временные метки для другого файла | touch -r reference_file.txt file.txt |
--help | Показывает справочную информацию о команде touch | touch --help |
--version | Выводит информацию о версии программы touch | touch --version |
Примеры применения:
Создание пустого файла file.txt.
Обновление временных меток файла.
Создание нескольких файлов одновременно.
cp (Copy)
Команда cp применяется в Linux для копирования файлов и директорий. Она может работать с локальными файлами и каталогами, а также поддерживает рекурсивное копирование содержимого директорий.
Синтаксис:
источник — файл или каталог, который нужно скопировать;
назначение — место, куда нужно скопировать источник.
Основные опции команды cp:
Опция | Описание | Пример использования |
-r, --recursive | Рекурсивно копирует каталоги, включая все файлы | cp -r source_directory/ destination_directory/ |
-i, --interactive | Запрашивает подтверждение перед перезаписью существующих файлов | cp -i file.txt destination/ |
-f, --force | Перезаписывает файлы без запросов | cp -f source.txt destination.txt |
-u, --update | Копирует только те файлы, которые новее уже существующих в директории | cp -u file.txt destination/ |
-v, --verbose | Показывает подробный вывод о процессе копирования | cp -v file.txt destination/ |
-a, --archive | Копирует файлы и каталоги, сохраняя их атрибуты (права доступа, временные метки и т.д.) | cp -a source_dir/ destination_dir/ |
-l, --link | Создает жесткие ссылки вместо копирования | cp -l file.txt destination/ |
-p, --preserve | Сохраняет атрибуты файла (включая права доступа, владельца, временные метки). | cp -p file.txt destination/ |
-x, --one-file-system | Не копирует файлы и каталоги за пределы текущей файловой системы | cp -x source_dir/ destination_dir/ |
--help | Показывает справку по использованию команды cp | cp --help |
--version | Показывает версию программы cp | cp --version |
Примеры применения:
Копирование файла file.txt в каталог /home/user/backup/.
Копирование нескольких файлов в каталог /home/user/Documents/.
Рекурсивное копирование каталога old_folder с его содержимым в каталог new_folder.
mv (Move)
Команда mv в терминале Linux применяется для перемещения файлов из одной директории в другую, после чего перенесенные файлы удаляются из прошлой директории.
Синтаксис:
Опции команды:
Опция | Описание | Пример |
-i | Запрашивает подтверждение перед перезаписью существующих файлов | mv -i file.txt dir/ — если в каталоге dir/ уже существует файл с таким же именем, будет предложено подтвердить перезапись |
-f | Принудительно перезаписывает файлы без запроса подтверждения | mv -f file.txt dir/ — файл будет перемещен в каталог dir/, даже если там уже есть файл с таким именем |
-n | Запрещает перезаписывать существующие файлы | mv -n file.txt dir/ — если в каталоге dir/ уже существует файл с именем file.txt, то он не будет перезаписан |
-u | Перемещает файл только в том случае, если он новее, чем тот, что есть в директории назначения | mv -u file.txt dir/ — файл будет перемещен только если file.txt новее, чем файл с таким же именем в каталоге dir/, или если такого файла нет |
-v | Выводит информацию о процессе перемещения | mv -v file.txt dir/ |
-b | Создает резервную копию файлов перед их перезаписью | mv -b file.txt dir/ |
--help | Показывает справку по команде | mv --help |
--version | Показывает версию программы | mv --version |
Примеры применения:
Перемещение файла в каталог backup/, даже если такой файл в каталоге уже имеется.
Переименование файла oldfile.txt в newfile.txt без перемещения в другой каталог.
Одновременное переименование и перемещение файла.
rm (Remove)
Эта команда в Linux позволяет удалять файлы. Может удалять один файл или несколько одновременно, если указаны соответствующие условия.
Синтаксис:
Распространенные опции:
Опция | Описание | Пример применения |
-i | Запрашивает подтверждение перед удалением каждого файла | rm -i file.txt |
-f | Принудительно удаляет файлы без подтверждения и без вывода ошибок, если файл не существует. | rm -f file.txt |
-r | Рекурсивно удаляет каталоги и их содержимое | rm -r directory/ |
-rf | Принудительно и рекурсивно удаляет каталог и все его содержимое без запроса подтверждения | rm -rf directory/ |
-v | Включает режим подробного вывода, показывая все удаляемые файлы | rm -v file.txt |
--help | Показывает справку по команде | rm --help |
--version | Показывает версию программы | rm --version |
-d | Удаляет пустые каталоги | rm -d empty_dir/ |
Примеры применения:
Удаление файла file.txt.
Удаление файлов file1.txt и file2.txt.
Рекурсивное удаление каталога со всем содержимым.
Просмотр и редактирование файлов
Вручную искать нужные файлы и редактировать их содержимое долго и неудобно. Чтобы автоматизировать и ускорить процессы, можно пользоваться командами cat и nano/vi в терминале Linux.
cat (Concatenate)
Команда cat в Linux позволяет просматривать файлы, объединять несколько файлов в один, добавлять содержимое.
Синтаксис:
Ключевые команды:
Опция | Описание | Пример применения |
-A | Показывает все символы, включая символы нового абзаца и конца строки | cat -A file.txt |
-b | Нумерует строки, заполненные данными | cat -b file.txt |
-e | Показывает символы конца строки как $ | cat -e file.txt |
-E | Показывает в конце строки $ | cat -E file.txt |
-n | Нумерует все строки вывода, включая пустые | cat -n file.txt |
-T | Показывает табуляции как ^I | cat -T file.txt |
-v | Показывает непечатаемые символы | cat -v file.txt |
-s | Сжимает повторяющиеся пустые строки | cat -s file.txt |
-u | Отключает буферизацию вывода | cat -u file.txt |
--help | Показывает справку по команде | cat --help |
--version | Показывает версию программы | cat --version |
Примеры применения:
Просмотр содержимого файла.
Объединение двух файлов в один.
Создание нового файла с содержимым.
nano/vi
nano/vi — это инструменты для редактирования файлов. Редактор Nano позволяет вносить изменения в текст сразу после открытия файла. Чтобы начать пользоваться инструментом, нужно выполнить команду nano filename.
Навигация в редакторе:
клавиши со стрелками — перемещение курсора по содержимому файла;
Ctrl+A — переход в начало строки;
Ctrl+E — переход в конец строки;
Ctrl+W — поиск текста;
Ctrl+O — сохранение изменений;
Ctrl+X — выход из редактора.

Для вызова редактора vi, используется команда vi filename. Чтобы начать редактировать файл, нужно перевести клавиатуру в англоязычный режим и нажать i. Управление:
клавиши h (влево), j (вниз), k (вверх), l (вправо) — перемещение курсора;
x - удаление текста;
dd — удаление строки;
:w — сохранение файла;
:wq — сохранение файла и выход из редактора.

Управление правами доступа
Чтобы не допустить несанкционированного использования и утечек данных, необходимо контролировать права доступа. В этом помогут команды chmod и chown.
chmod (Change Mode)
Это команда для управления доступом к файлам и каталогам в Linux и настройки прав доступа. Ее базовый синтаксис:
В таблице — основные опции команды chmod:
Опция | Описание | Пример использования |
-c, --changes | Выводит изменения, которые были произведены, то есть те файлы, в отношении которых были изменены права | chmod -c 755 file.txt |
-R, --recursive | Применяет изменения прав ко всем файлам и подкаталогам в указанной директории | chmod -R 755 /path/to/directory |
-f, --silent, --quiet | Подавляет вывод сообщений об ошибках | chmod -f 755 file.txt |
-v, --verbose | Показывает подробные данные о том, какие права были изменены | chmod -v 755 file.txt |
--reference=RFILE | Переносит права из указанного файла RFILE на другие файлы/папки | chmod -- reference=file2.txt file1.txt |
--preserve-root | Защищает корневую директорию (не позволяет изменять права для /), используется по умолчанию | chmod --preserve- root 755 / |
--help | Выводит справку по использованию команды chmod | chmod --help |
--version | Показывает версию команды chmod | chmod --version |
Режимы chmod могут быть записаны в двух форматах — символьном и числовом. В символьном права доступа описываются с использованием буквенных обозначений. Например, типы пользователей выглядят так:
u (user) — владелец;
g (group) — группа владельца;
o (others) — пользователи, которые не являются владельцами файлов и не входят в группу владельцев.
a (all) — общее название всех перечисленных типов пользователей.
Операторы записываются следующим образом:
+ — добавляет право;
- — удаляет право;
= — устанавливает права, удаляя другие.
А основные права так:
r (read) — право на чтение;
w (write) — право на изменение содержимого файла.
x (execute) — право на исполнение и запуск файла.
Синтаксис:
Пример:
Добавляет право на выполнение для владельца файла.
В числовом формате права записываются с помощью числовых значений:
4 — право на чтение (r);
2 — право на запись (w);
1 — право на выполнение (x).
Суммирование этих значений дает итоговый код прав:
7 — чтение, запись и выполнение (4 + 2 + 1);
6 — чтение и запись (4 + 2);
5 — чтение и выполнение (4 + 1);
4 — только чтение;
3 — запись и выполнение (2 + 1);
2 — только запись;
1 — только выполнение;
0 — без прав.
Синтаксис:
Пример:
Что получится после выполнения команды:
Владелец обладает полными правами (7);
Группа может читать и выполнять (5);
Другие могут только читать (4).

chown (Change Owner)
Команда используется для изменения владельца и/или группы файлов и директорий в системе Linux. Базовый синтаксис:
новый_владелец — имя пользователя, которому будет передан файл или каталог;
новая_группа — имя группы, которой будет назначен файл или каталог.
Если не указывать группу, то команда изменит только владельца. Если не указывать владельца, то изменится группа.
В таблице — основные опции команды для более удобного управления изменениями.
Опция | Описание | Пример использования |
-R, --recursive | Рекурсивно изменяет владельца и/или группу всех файлов и подкаталогов в указанной директории | chown -R user1:group1 /path/to/directory |
-f, --silent, --quiet | Подавляет вывод сообщений об ошибках | chown -f user1:group1 file.txt |
-v, --verbose | Выводит подробную информацию о каждом измененном файле или каталоге | chown -v user1:group1 file.txt |
--from= | Изменяет владельца и группу только в том случае, если текущий владелец и группа совпадают с уже указанными | chown -- from=user2:group2 user1:group1 file.txt |
--reference= | Устанавливает владельца и группу файла или каталога на основе файла | chown -- reference=file1.txt file2.txt |
--help | Показывает справку по использованию команды chown | chown --help |
--version | Показывает версию команды chown | chown --version |
Примеры применения команды:
Команда изменяет владельца файла file.txt на user1.
Изменение и владельца, и группы.
Системная информация и процессы
Теперь перейдем к группе команд, которые позволяют узнавать подробности о текущих процессах и контролировать использование ресурсов. У этих команд много опций, поэтому для новичков они одни из самых сложных для понимания.
ps (Process Status)
Команда ps помогает получить информацию о текущих процессах, запущенных в системе. Например, данные о состоянии процесса и времени работы.
Примеры:
Отображение процессов, связанных с текущей сессией в терминале:
Отображение подробной информации обо всех активных процессах в системе:
Вывод процессов, связанных с конкретными пользователями.
Вывод всех запущенных процессов и подробной информации о них, где
a — отображает процессы всех пользователей;
u — выводит детальную информацию о процессах, пользователях и используемых ресурсах;
x — выводит процессы, которые напрямую не связаны с терминалом.
Вывод полного списка процессов с дополнительной информацией.
Вывод информации о процессе с указанным PID.
Вывод списка процессов с текущим состоянием (запущен, завершен, приостановлен и т.д.
Для удобства мы собрали эти и другие опции команды ps в таблицу.
Команда | Описание | Пример использования |
ps | Показывает процессы текущего сеанса (пользователя) | ps |
ps -e или ps -A | Отображает все процессы, запущенные в системе | ps -e |
ps -u | Показывает процессы, запущенные определенным пользователем | ps -u john |
ps -f | Показывает полный список с дополнительной информацией (например, PPID, время начала процесса) | ps -f |
ps aux | Показывает все процессы с подробной информацией (использование CPU, памяти и другие параметры) | ps aux |
ps -p | Показывает информацию о процессе с определенным PID | ps -p 1234 |
ps --sort= | Сортирует вывод по указанному полю (например, по времени, PID) | ps aux --sort=%cpu |
ps -l | Показывает процессы с дополнительной информацией, например, с состоянием процесса | ps -l |
`ps aux | Показываем список запущенных процессов | `ps aux. Применяется с командой grep для поиска процессов |
ps aux --sort=-%cpu | Сортирует процессы по использованию процессора (по убыванию) | ps aux --sort=-%cpu |
`ps aux --sort=-%mem | Выводит запущенные процессы, отсортированные по использованию памяти (по убыванию) | `ps aux --sort=-%mem |
ps -eLf | Показывает информацию о потоках в системе, а не только о процессах | ps -eLf |

top (Table Of Processes)
Это утилита для мониторинга системных ресурсов и процессов в реальном времени. top читает метрики о процессах из виртуальной файловой системы /proc.
Как работает утилита:
Читает в /proc список процессов.
Собирает по каждому процессу подробную статистику.
Сортирует данные по CPU или другому преднастроенному критерию.
Выводит таблицу с данными, периодически обновляя ее.

Опции команды top:
Опция | Описание | Пример использования |
top | Запускает утилиту top, которая отображает процессы в реальном времени | top |
-d | Устанавливает интервал обновления вывода в секундах | top -d 1 (обновление каждую секунду) |
-p | Отображает только процессы с указанным идентификатором PID | top -p 1234 |
-u | Показывает только процессы, запущенные указанным пользователем | top -u john |
-n | Устанавливает количество итераций, которое должно быть выполнено, после чего top завершится | top -n 5 (выведет 5 обновлений) |
-b | Запускает top не в интерактивном режиме, а в «пакетном» (batch), без интерфейса в реальном времени | top -b -n 1 > top_output.txt |
-i | Отключает отображение «неактивных» процессов (например, с состоянием idle) | top -i |
-c | Показывает путь к исполняемым файлам команд, а не только названия процессов | top -c |
-H | Показывает информацию о потоках процессов (включая дочерние потоки) | top -H |
-s | Устанавливает интервал обновления для отображения статистики в реальном времени | top -s 10 |
-E | Включает расширенный режим для отображения состояния каждого процесса (в том числе ограничение по времени) | top -E |
-w | Устанавливает ширину вывода | top -w 80 |
-V | Показывает версию программы | top -V |
Заключение
Команды для работы с терминалом, рассмотренные в статье, — это фундамент для комфортной и эффективной работы в любом из дистрибутивов Linux. Они универсальны и помогут как при взаимодействии с собственным компьютером, так и при администрировании арендованных VPS/VDS-серверов, где графический интерфейс часто отсутствует.
Чтобы уверенно ориентироваться в файловой системе и управлять процессами, не обязательно запоминать все опции сразу. Достаточно начать с базовых команд, таких как ls, cd, mkdir и cp. Постепенно, по мере необходимости, вы будете осваивать более сложные инструменты вроде chmod для управления правами или top для мониторинга системы. Это позволит не только автоматизировать рутинные задачи, но и даст полный контроль над операционной системой, превратив терминал из пугающей черной консоли в ваш главный рабочий инструмент.