11.05.2024

Введение

Командная строка в мире Linux предоставляет мощный инструмент для взаимодействия с операционной системой. Это руководство охватывает основные команды, которые полезны на всех дистрибутивах Linux, таких как CentOS, Ubuntu и Debian.

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

1. pwd — Текущий рабочий каталог

Команда pwd отображает полный путь текущего рабочего каталога:

$ pwd

2. ls — Список файлов и каталогов

Команда ls выводит содержимое текущего каталога:

$ ls

3. cd — Смена директории

Команда cd используется для изменения текущей директории. Например:

$ cd Documents

Работа с файлами и каталогами

1. cp — Копирование файлов и каталогов

Команда cp копирует файлы или каталоги. Пример:

$ cp file.txt Backup/

2. mv — Перемещение и переименование

Команда mv перемещает или переименовывает файлы. Например:

$ mv file.txt Documents/

3. rm — Удаление файлов и каталогов

Команда rm удаляет файлы. Пример:

$ rm file.txt

Работа с процессами

1. ps — Список активных процессов

Команда ps отображает список активных процессов:

$ ps aux

2. kill — Завершение процесса

Команда kill завершает выполнение процесса по его идентификатору (PID). Например:

$ kill 1234

3. pgrep — Поиск процесса по имени

$ pgrep process_name

4. pkill — Завершение процесса по имени

$ pkill process_name

5. screen — Управление сеансами терминала

a. Создание нового сеанса

$ screen

b. Отключение от сеанса (без завершения)

$ Ctrl-a, d

c. Подключение к ранее созданному сеансу

$ screen -r

6. nice и renice — Управление приоритетом процессов

a. Запуск процесса с измененным приоритетом

$ nice -n 10 command

b. Изменение приоритета запущенного процесса

$ renice +5 -p PID

Работа с сетью

1. ping — Проверка доступности хоста

Команда ping используется для проверки доступности хоста в сети:

$ ping example.com

2. ifconfig — Информация о сетевых интерфейсах

Команда ifconfig выводит информацию о сетевых интерфейсах:

$ ifconfig

Работа с пакетами и программами

1. Управление пакетами в CentOS

a. yum — Установка пакетов

$ yum install package_name

b. yum updateОбновление пакетов

$ yum update

c. yum remove — Удаление пакетов

$ yum remove package_name

2. Управление пакетами в Ubuntu/Debian

a. apt — Установка пакетов

$ apt-get install package_name

b. apt-get updateОбновление информации о пакетах

$ apt-get update

3. Установка пакетов в Ubuntu/Debian с помощью apt

$ sudo apt install package_name

4. Удаление пакетов в Ubuntu/Debian с помощью apt

c. apt-get remove

$ sudo apt remove package_name

Работа с текстовыми файлами

1. cat — Просмотр содержимого файла

$ cat filename.txt

2. nano — Редактор текстовых файлов

$ nano filename.txt

Работа с правами доступа

1. chmod — Изменение прав доступа к файлу

$ chmod +x script.sh

2. chown — Изменение владельца файла

$ chown user:group filename

Работа с архивами

1. tar — Создание и распаковка архивов

a. Создание архива:

$ tar -cvf archive.tar files/

b. Распаковка архива:

$ tar -xvf archive.tar

2. zip и unzip — Архивация и разархивация файлов

a. Создание zip-архива

$ zip archive.zip file1.txt file2.txt

b. Разархивация zip-архива

$ unzip archive.zip

Управление пользователями и группами

1. useradd — Создание нового пользователя

$ useradd newuser

2. passwd — Изменение пароля пользователя

$ passwd username

3. usermod — Изменение параметров пользователя

$ usermod -aG groupname username

4. groups — Просмотр групп, к которым принадлежит пользователь

$ groups username

5. newgrp — Изменение текущей группы пользователя

$ newgrp groupname

Поиск файлов

1. find — Поиск файлов по различным критериям

$ find /path/to/search -name «filename.txt»

Работа с переменными окружения

1. export — Установка переменной окружения

$ export MY_VARIABLE=value

2. echo — Вывод значения переменной

$ echo $MY_VARIABLE

3. env — Вывод всех переменных окружения

$ env

4. unset — Удаление переменной окружения

$ unset VARIABLE_NAME

5. printenv — Вывод всех переменных окружения

$ printenv

Системная информация

1. uname — Информация о системе

$ uname -a

2. df — Информация о дисковом пространстве

$ df -h

Автоматизация задач с помощью скриптов

1. Создание простого Bash-скрипта

#!/bin/bash echo «Hello, World!»

2. Выполнение скрипта

$ bash script.sh

Работа с сетью

1. netstat — Просмотр сетевой статистики и соединений

$ netstat -tulpn

2. ss — Улучшенная версия netstat

$ ss -tulpn

Мониторинг ресурсов системы

1. top — Просмотр текущих процессов и загрузки системы

$ top

2. htop — Интерактивное представление данных о системе

$ htop

Работа с временем

1. date — Вывод текущей даты и времени

$ date

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

$ timedatectl

Управление службами

1. systemctl — Управление службами

a. Запуск службы

$ sudo systemctl start service_name

b. Остановка службы

$ sudo systemctl stop service_name

2. journalctl — Просмотр журнала системных сообщений

$ journalctl

Работа с SSH

1. ssh — Удаленное подключение к серверу

$ ssh username@remote_host

2. scp — Копирование файлов по SSH

$ scp local_file.txt username@remote_host:/path/to/destination

Работа с системными журналами

1. dmesg — Вывод системного журнала

$ dmesg

2. journalctl — Фильтрация журнала по сервису

$ journalctl -u service_name

Работа с текстовыми редакторами

1. vim — Мощный текстовый редактор

a. Вход в режим редактирования

$ vim filename.txt

b. Сохранение и выход

В режиме команд нажмите Esc, затем:

:wq

Защита системы

1. ufw — Простой способ управления брандмауэром

a. Установка

$ sudo apt-get install ufw # для Ubuntu/Debian $ sudo yum install ufw # для CentOS

b. Включение и настройка правил

$ sudo ufw enable $ sudo ufw allow 22 # Разрешить SSH

2. fail2ban — Защита от атак на SSH

a. Установка

$ sudo apt-get install fail2ban # для Ubuntu/Debian $ sudo yum install fail2ban # для CentOS

b. Настройка

$ sudo systemctl start fail2ban $ sudo systemctl enable fail2ban

Работа с системой контроля версий

1. git — Основы работы с Git

a. Клонирование репозитория

$ git clone repository_url

b. Добавление и фиксация изменений

$ git add . $ git commit -m «Описание изменений»

c. Отправка изменений на удаленный репозиторий

$ git push origin branch_name

2. git — Управление ветками

d. Создание и переключение на новую ветку

$ git checkout -b new_branch

3. git log — Просмотр истории изменений

$ git log

Работа с Docker

1. docker — Основные команды Docker

a. Запуск контейнера

$ docker run image_name

b. Список активных контейнеров

$ docker ps

c. Остановка и удаление контейнера

$ docker stop container_id $ docker rm container_id

Работа с системными ресурсами

3. free — Информация об использовании памяти

$ free -h

4. iotop — Мониторинг дисковой активности

$ iotop

Работа с Cron

1. crontab — Запланированные задачи

a. Открытие редактора crontab

$ crontab -e

b. Пример задачи, выполняющейся каждый день в 2 часа ночи

0 2 * * * command_to_execute

Мониторинг сетевых соединений

3. nmap — Сканирование сети и портов

a. Сканирование всех портов на удаленном хосте

$ nmap remote_host

b. Сканирование определенного диапазона портов

$ nmap -p 1-100 remote_host

Работа с текстом и потоками данных

3. grep — Поиск в файлах по шаблону

$ grep «pattern» filename

4. sed — Редактирование текста в потоке данных

a. Замена текста в файле

$ sed ‘s/old_text/new_text/g’ filename

5. awk — Обработка и анализ текстовых данных

a. Вывод определенных столбцов из файла

$ awk ‘{print $1, $3}’ filename

Работа с SSL-сертификатами

1. openssl — Генерация SSL-сертификатов

a. Генерация самоподписанного сертификата

$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem

Работа с жесткими ссылками и символьными ссылками

1. ln — Создание жестких ссылок

$ ln file.txt hardlink

2. Создание символьных ссылок

$ ln -s target_file softlink

Работа с журналами аудита

1. auditd — Аудит системных событий

a. Установка и запуск службы

$ sudo apt-get install auditd # для Ubuntu/Debian $ sudo yum install auditd # для CentOS $ sudo systemctl start auditd

b. Просмотр журнала аудита

$ sudo ausearch -i

Заключение

Овладение командной строкой в Linux — ключ к эффективному управлению системой. Это руководство предоставляет обширный обзор основных команд, позволяющих вам эффективно работать с файлами, процессами, сетью и пакетами на различных дистрибутивах Linux. Не забывайте практиковаться и осваивать новые команды, чтобы стать опытным пользователем командной строки.

Добавить комментарий