← Назад к списку статей

Руководство по эффективной работе с командной строкой, консолью и терминалом

 
Программа для видеонаблюдения Xeoma работает на разных операционных системах, включая Linux. Её можно запускать через консоль в режиме сервера без графической оболочки. Для работы с программой Xeoma через консоль доступен обширный набор команд. Инструкция по установке Xeoma на Linux | Список консольных команд
 

Основы работы
Пример в скриншотах
Основные команды
Система прав доступа в Linux
Что такое root в Linux?
Как создать простой скрипт

Руководство по эффективной работе с командной строкой, консолью и терминалом  
Начнем с теоретической части и разберем понятия:
 

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

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

Вы можете задаться закономерным вопросом — зачем использовать консоль, если есть графический интерфейс? Но существует ряд ситуаций, когда консоль является оптимальным, а порой и единственным способом решения задачи (например, мы на своем опыте часто сталкиваемся с ситуациями, когда сервер видеонаблюдения разворачивается на машине без графической оболочки, в таком случае использование консоли — это единственный способ администрировать сервер программы для видеонаблюдения Xeoma локально). Знание основных команд консоли обеспечивает эффективную работу в любой Linux-среде и открывает возможности для использования этих же команд и в других операционных системах.

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


Командная строка: основы работы

Командная строка доступна для разных операционных систем (Windows, macOS, Linux), и принципы её работы во всех ОС примерно одинаковы.

Как открыть и запустить командную строку (терминал):

Руководство по эффективной работе с командной строкой, консолью и терминаломWindows: Нажмите Win + R — введите cmd — нажмите Enter. Альтернативно, найдите поиском «Командная строка» в меню «Пуск». Для PowerShell используйте поиск «PowerShell» (прим. PowerShell — это мощная командная строка с языком сценариев на основе .NET Framework, разработанная компанией Microsoft).

Руководство по эффективной работе с командной строкой, консолью и терминаломmacOS: Откройте Finder — перейдите в папку «Программы» (Applications) — затем в папку «Утилиты» (Utilities) — внутри вы найдете приложение «Терминал» (путь: /Applications/Utilities). Альтернативно: Нажмите сочетание клавиш Command + Пробел (⌘ + Space), чтобы открыть Spotlight — введите «Терминал» или «Terminal» — нажмите Enter.

Руководство по эффективной работе с командной строкой, консолью и терминаломLinux: В большинстве дистрибутивов можно найти терминал в меню приложений или открыть его, нажав Ctrl + Alt + T; иногда используется Ctrl + Shift + T (особенно в дистрибутивах с оболочкой XFCE). Альтернативно: Найдите в меню приложений пункт «Терминал», «Консоль» или что-то подобное (он часто находится в категории «Система», «Утилиты» или «Администрирование») — кликните по этому пункту, чтобы открыть окно терминала.

Различия в разных операционных системах:

Windows: Использует cmd (Command Prompt/командная строка) и PowerShell. PowerShell — более мощная оболочка с объектно-ориентированным подходом. Синтаксис некоторых команд отличается от Linux/macOS.
macOS и Linux: Используют оболочку Bash (Bourne Again Shell) по умолчанию. Синтаксис команд обычно совместим между этими двумя системами.


Пример в скриншотах

1. Откройте консоль

Windows: Нажмите Win + R, введите cmd и нажмите Enter. Или найдите «Командная строка» через поиск в меню «Пуск».

Руководство по эффективной работе с командной строкой, консолью и терминалом

macOS/Linux: Найдите приложение «Терминал» в меню «Приложения» или используйте горячие клавиши, например Ctrl + Alt + T в Linux.

Руководство по эффективной работе с командной строкой, консолью и терминалом

2. Начните работу

После открытия консоли вы увидите командную строку, где можно вводить команды. Например, чтобы увидеть список файлов и папок в текущем каталоге, введите dir (Windows) или ls (macOS/Linux) и нажмите Enter.

Windows:

Руководство по эффективной работе с командной строкой, консолью и терминалом

macOS/Linux:

Руководство по эффективной работе с командной строкой, консолью и терминалом

3. Выйдите из консоли
Введите команду exit и нажмите Enter.

Windows:

Руководство по эффективной работе с командной строкой, консолью и терминалом

macOS/Linux:

Руководство по эффективной работе с командной строкой, консолью и терминалом

 
Основные команды:

Ниже вы найдете список основных команд для консоли (Linux, macOS, и частично Windows PowerShell), разбитых по группам. Возможны небольшие различия в командах между системами. Существует множество других полезных команд и опций, которые вы можете изучить по мере необходимости.

1. Навигация по файловой системе:

pwd (print working directory): Показывает текущую директорию.
ls (list): Показывает содержимое текущей директории. Добавьте -l для подробного вывода (подробный список (long listing) с разрешениями, владельцем, размером и датой изменения), -a для отображения скрытых файлов (начинающихся с точки), -h, чтобы показать размеры файлов в более читаемом формате (например, KB, MB, GB).
cd: Переход в другую директорию (Change Directory). Например, cd Documents перейдет в папку "Documents". cd ..: Переход на уровень выше, cd ~: Переход в домашнюю директорию, cd /: Переход в корневую директорию.
mkdir: Создает новую директорию (Make Directory). Например, mkdir my_new_folder.
rmdir: Удаляет пустую директорию (Remove Directory). Например, rmdir empty_folder.
rm: Удаляет файлы и директории. Будьте осторожны, удаленные файлы обычно нельзя восстановить! Например, rm my_file.txt. rm -r my_directory: Удаляет директорию и все ее содержимое рекурсивно, rm -f my_file.txt: Удаляет файл принудительно, без запроса подтверждения.
cp: Копирует файлы и директории. Например, cp my_file.txt new_file.txt.
mv: Перемещает или переименовывает файлы и директории. Пример: mv old_file.txt new_file.txt.

2. Работа с файлами:

cat: Выводит содержимое файла на экран. Например, cat my_file.txt.
more / less: Просмотр содержимого файла постранично. Пример: less my_file.txt (более продвинутая версия).
head: Выводит первые несколько строк файла (по умолчанию 10). head -n 20 my_file.txt (вывести первые 20 строк)
tail: Выводит последние несколько строк файла (по умолчанию 10). tail -f my_file.log (следить за изменениями в файле в реальном времени)
echo: Выводит текст на экран. echo "Hello, world!"
grep: Поиск строк, соответствующих заданному шаблону. Например, grep "keyword" my_file.txt.
wc: Считает количество строк, слов и символов в файле. Пример: wc my_file.txt
touch: Создает пустой файл или изменяет время последнего доступа к существующему файлу. Например, touch my_new_file.txt.

3. Управление процессами:

ps: Выводит список запущенных процессов. ps aux: Показывает все процессы, включая запущенные другими пользователями.
top (Table Of Processes): Каждые 2 секунды обновляет активные процессы. Колонка PID указывает на ID процесса, USER на пользователя и т.д. Есть также более продвинутые утилиты в терминале на Linux — atop, htop. Отображают не только активные процессы с обновлением в две секунды, но и контроль над загрузкой и т.д. Утилиты полезны для системных администраторов, но для обычного пользователя все-таки перебор.
kill: Завершает процесс по его идентификатору/ID (PID). Например, kill 1234. pkill: Убивает процесс по его имени; killall: убивает все процессы с указанным именем. Пример: killall firefox

4. Сеть:

ping: Проверяет связь с удаленным хостом. Например, ping google.com.
ifconfig / ip addr: Отображает информацию о сетевых интерфейсах.
netstat: Отображает сетевые соединения и статистику.
ssh: Подключается к удаленному хосту по протоколу SSH. Пример: ssh user@remote_host.

5. Другое:

man: Открывает справочную страницу для команды. Например, man ls покажет справку по команде ls.
history: Отображает историю команд.
clear: Очищает экран.
exit: Закрывает консоль.
sudo: Запускает команду от имени суперпользователя (root). Пример: sudo apt update (требуется пароль)
whoami: Отображает информацию о том, какой пользователь сейчас используется.

Перенаправление ввода/вывода:
>: Перенаправляет вывод команды в файл (перезаписывает существующий). Например, ls > file.txt сохранит список файлов в файл file.txt.
>>: Перенаправляет вывод команды в файл (добавляет к существующему).
<: Перенаправляет содержимое файла в команду в качестве ввода.

 

Советы для начинающих:

— Используйте автодополнение: Начните вводить команду и нажмите клавишу Tab, чтобы автодополнить имя команды или файла.
— Используйте клавиши стрелок вверх и вниз для просмотра истории команд.
— Изучите справку, используя команду man (или help в Windows) для получения информации о любой команде.
— Создавайте тестовые директории и файлы, чтобы попробовать разные команды без риска повредить систему.
— Используйте поиск в интернете, если вы не знаете, как выполнить определенную задачу.

Если возникла ошибка

  • убедитесь, что команда написала правильно
  • проверьте корректность указанного пути
  • проверьте права доступа
  • перезапустите консоль при необходимости

Преимущества работы с командной строкой:

Эффективность: Многие задачи можно выполнить быстрее с помощью командной строки, чем с помощью графического интерфейса.
Автоматизация: Можно создавать скрипты для автоматизации задач.
Удаленный доступ: Командная строка позволяет управлять сервером или компьютером удаленно.
Гибкость: Командная строка предоставляет доступ к более широкому набору инструментов и функций, чем графический интерфейс.

Хотя командная строка, консоль и терминал могут показаться сложными, они значительно расширяют ваши возможности управления компьютером. Не бойтесь начать с малого, практикуйтесь, и вы с легкостью освоите эти мощные инструменты.


Система прав доступа в Linux

В Linux права доступа определяют, кто и что может делать с файлами и папками – кто может их просматривать, изменять, удалять или запускать.

3 основных типа прав:

Чтение (read, r) — возможность просматривать содержимое файла или каталога
Запись (write, w) — возможность изменять содержимое файла или создавать файлы в каталоге
Выполнение (execute, x) — возможность запускать файл как программу или входит в каталог

Категории пользователей:

Владелец (user, u) — пользователь, создавший файл
Группа (group, g) — группа пользователей, к которой принадлежит файл
Остальные (others, O) — все остальные пользователи системы

Для изменения прав доступа используется команда chmod. Права задаются в числовом или символьном формате.

Советы:

— Всегда проверяйте текущие права доступа командой ls -l
— Избегайте чрезмерного использования прав rwxrwxrwx
— Регулярно проверяйте и корректируйте права доступа
— Используйте минимально необходимые привилегии


Что такое root в Linux?

Root (от англ. root — корень) — это специальный аккаунт суперпользователя в UNIX-системах, обладающий полными правами доступа к системе. Root-пользователь (суперпользователь) — это ключевой элемент администрирования Linux-систем, предоставляющий полный контроль над операционной системой. Правильное использование root-прав поможет быстро и оперативно управлять системой.

— имеет неограниченный доступ ко всем файлам и директориям
— может выполнять любые системные операции
— по умолчанию имеет логин «root»
— может входить в систему без пароля от имени других пользователей
— может изменять системные файлы и управлять правами доступа

Два способа получения root-прав:

— через команду sudo su (для систем с пакетом sudo)
— через команду su с вводом пароля root

Понимание системы прав доступа в Linux важно для обеспечения безопасности и корректной работы системы. Грамотная настройка прав помогает предотвратить несанкционированный доступ и защитить данные.


Как создать простой скрипт

Давайте создадим скрипт, который будет создавать резервную копию определенной папки в архивный файл. Вот примеры скриптов для Linux/macOS (bash) и для Windows (batch).

По сценарию скрипт должен:

Указать исходную папку для резервного копирования.
Указать имя файла архива.
Использовать системные утилиты для создания архива.
Вывести сообщение об успешном создании резервной копии.

Скрипт для Linux/macOS (bash):


1 #!/bin/bash
2
3 # Настройки
4 SOURCE_DIR="/путь/к/вашей/папке" # Папка для резервного копирования
5 BACKUP_DIR="/путь/к/папке/для/резервных/копий" # Папка для хранения резервных копий
6 BACKUP_PREFIX="backup_" # Префикс для имени архива
7 ARCHIVE_FORMAT="tar.gz" # Формат архива: tar.gz, tar.bz2, zip
8
9 # Получаем текущую дату и время
10 TIMESTAMP=$(date +%Y%m%d_%H%M%S)
11
12 # Формируем имя файла архива
13 ARCHIVE_FILE="$BACKUP_DIR/$BACKUP_PREFIX$TIMESTAMP.$ARCHIVE_FORMAT"
14
15 # Создаем папку для резервных копий, если ее нет
16 mkdir -p "$BACKUP_DIR"
17
18 # Создаем архив в зависимости от формата
19 case "$ARCHIVE_FORMAT" in
20 "tar.gz")
21 tar -czvf "$ARCHIVE_FILE" "$SOURCE_DIR"
22 ;;
23 "tar.bz2")
24 tar -cjvf "$ARCHIVE_FILE" "$SOURCE_DIR"
25 ;;
26 "zip")
27 zip -r "$ARCHIVE_FILE" "$SOURCE_DIR"
28 ;;
29 *)
30 echo "Неподдерживаемый формат архива: $ARCHIVE_FORMAT"
31 exit 1
32 ;;
33 esac
34
35 # Проверяем, успешно ли создался архив
36 if [ $? -eq 0 ]; then
37 echo "Архив успешно создан: $ARCHIVE_FILE"
38 else
39 echo "Ошибка при создании архива!"
40 fi

Как использовать:

Замените /путь/к/вашей/папке на путь к папке, которую вы хотите заархивировать.
Замените /путь/к/папке/для/резервных/копий на путь к папке, где вы хотите хранить архив.
Измените ARCHIVE_FORMAT, чтобы выбрать желаемый формат архива (tar.gz, tar.bz2, zip).
Сохраните скрипт, например, как backup_folder.sh.
Сделайте скрипт исполняемым: chmod +x backup_folder.sh.
Запустите скрипт: ./backup_folder.sh.

Скрипт для Windows (batch):


1 @echo off
2 setlocal enabledelayedexpansion
3
4 set "SOURCE_DIR="C:\путь\к\вашей\папке""
5 set "BACKUP_DIR="C:\путь\к\папке\для\резервных\копий""
6 set "BACKUP_PREFIX=backup_"
7 set "ARCHIVE_FORMAT=7z"
8
9
10 for /f "tokens=1-3 delims=/" %%a in ('echo %date%') do (
11 set "day=%%a"
12 set "month=%%b"
13 set "year=%%c"
14 )
15
16
17 if "!day!" neq "" if "!day!" lss "10" set "day=0!day!"
18 if "!month!" neq "" if "!month!" lss "10" set "month=0!month!"
19
20
21 set "hour=%time:~0,2%"
22 if "!hour!" lss "10" set "hour=0!hour!"
23 set "minute=%time:~3,2%"
24 set "second=%time:~6,2%"
25
26 set "TIMESTAMP=!year!!month!!day!_!hour!_!minute!_!second%"
27
28
29 if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
30
31 echo Creating backup with timestamp: !TIMESTAMP!
32
33 if "%ARCHIVE_FORMAT%"=="zip" (
34 powershell -command "Add-Type -AssemblyName System.IO.Compression.FileSystem; [System.IO.Compression.ZipFile]::CreateFromDirectory('%SOURCE_DIR%', '%BACKUP_DIR%\%BACKUP_PREFIX%%TIMESTAMP%.zip')"
35 ) else if "%ARCHIVE_FORMAT%"=="7z" (
36 "C:\Program Files\7-Zip\7z.exe" a "%BACKUP_DIR%\%BACKUP_PREFIX%%TIMESTAMP%.7z" "%SOURCE_DIR%\*"
37 ) else (
38 echo Неподдерживаемый формат архива: %ARCHIVE_FORMAT%
39 exit /b 1
40 )
41
42 if !errorlevel! equ 0 (
43 echo Архив успешно создан.
44 ) else (
45 echo Ошибка при создании архива!
46 )
47
48 endlocal

Как использовать:

Замените «C:\путь\к\вашей\папке» на путь к папке, которую вы хотите заархивировать.
Замените «C:\путь\к\папке\для\резервных\копий» на путь к папке, где вы хотите хранить архив.
Измените ARCHIVE_FORMAT, чтобы выбрать желаемый формат архива (zip, 7z). Для использования 7z убедитесь, что 7-Zip установлен и путь к 7z.exe указан правильно.
Сохраните скрипт, например, как backup_folder.bat.
Запустите скрипт, дважды щелкнув по файлу backup_folder.bat.

Пояснения:

tar -czvf (Bash): Команда tar для создания архива в формате tar.gz. c — create, z — gzip, v — verbose (показывать файлы), f — filename (имя файла архива).
tar -cjvf (Bash): Команда tar для создания архива в формате tar.bz2. c — create, j — bzip2, v — verbose, f — filename.
zip -r (Bash): Команда zip для создания архива в формате zip. -r — recursive (включить подкаталоги).
powershell -command (Batch): Вызывает PowerShell для создания архива в формате zip. PowerShell имеет встроенную поддержку zip-архивов.
«C:\Program Files\7-Zip\7z.exe» a (Batch): Использует 7-Zip для создания архива в формате 7z. Путь к 7z.exe может отличаться в зависимости от установки 7-Zip. a — добавить к архиву.
Формат даты и времени в Batch скрипте может зависеть от региональных настроек системы.
Эти скрипты создают архив, содержащий все файлы и подкаталоги из указанной папки. Вы можете настроить эти скрипты, чтобы исключить определенные файлы или каталоги из архива, добавляя соответствующие параметры к командам tar или zip. Также можно добавить логирование, чтобы записывать информацию о процессе резервного копирования в файл.

Дополнительные советы:

Для более сложных задач вы можете использовать более продвинутые инструменты автоматизации, такие как cron (Linux/macOS) или планировщик заданий (Windows), чтобы автоматически запускать скрипт по расписанию.
Не забывайте про обработку ошибок. Всегда проверяйте код возврата команд и выводите информативные сообщения об ошибках.
Используйте комментарии, чтобы объяснить, что делает ваш скрипт, и сделать его более понятным для других (и для себя в будущем).

17 ноября 2025

Читать также:

Инструкция по установке Xeoma на Linux
Поддерживаемые консольные команды для Xeoma
Видеонаблюдение на Linux: Почему стоит выбрать Debian