С чего начать путь уверенного DevOps-бэкэндера: Гайд по Linux-командам для работы с системой

—

от автора

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


1. Основные команды работы с файловой системой

ls – отображение содержимого директории

ls      # Показать файлы в текущей директории ls -la  # Показать скрытые файлы и подробную информацию ls -lh  # Читаемый размер файлов ls -lt  # Сортировка по времени изменения ls -R   # Рекурсивный просмотр вложенных директорий ls /etc # Просмотр содержимого системной директории /etc ls -lS  # Сортировка по размеру файлов
ls -la

ls -la

cd – смена директории

cd /var/log           # Переход в системные логи cd ~/projects         # Переход в папку с проектами cd -                  # Вернуться в предыдущую директорию cd ..                 # Подняться на уровень выше cd /                  # Перейти в корневую директорию cd $(pwd)/new_folder  # Переход в новую папку с использованием pwd

pwd – показать текущую директорию

pwd         # Абсолютный путь к текущему каталогу realpath .  # Альтернативный способ получения полного пути

mkdir – создание директории

mkdir new_folder            # Создать папку mkdir -p parent/child       # Создать вложенную папку mkdir -m 777 shared_folder  # Создать папку с правами доступа 777 mkdir -pv a/b/c             # Создать цепочку директорий и отобразить процесс
mkdir -pv

mkdir -pv

rm -rf – удаление файлов и директорий

rm file.txt                           # Удалить файл rm -r directory                       # Удалить папку и все её файлы rm -rf temp_files                     # Удалить папку без подтверждения find . -type f -name '*.tmp' -delete  # Удалить все временные файлы .tmp

⚠ Осторожно! Безвозвратное удаление. Ошибки не прощаются.


2. Работа с текстом

grep – поиск в файлах и потоках

grep 'error' /var/log/syslog   # Найти все ошибки в логах ps aux | grep nginx            # Найти процессы nginx grep -i 'warning' logs.txt     # Игнорировать регистр при поиске grep -v 'info' logs.txt        # Исключить строки с "info" grep -E 'error|fail' logs.txt  # Найти строки с "error" или "fail"
grep 'error' /var/log/syslog

grep ‘error’ /var/log/syslog

awk – обработка строк и колонок

awk '{print $1, $3}' access.log  # Вывести 1-й и 3-й столбец из access.log awk '/error/ {print $0}' logfile.log  # Вывести строки, содержащие "error" awk '{sum+=$2} END {print sum}' data.txt  # Суммирование второго столбца

sed – замена текста в файлах

sed -i 's/old-text/new-text/g' file.txt  # Заменить "old-text" на "new-text" sed -n '5,10p' file.txt                  # Вывести строки с 5 по 10 sed 's/^[ \t]*//g' file.txt              # Удалить начальные пробелы и табуляции
sed -n

sed -n

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

ps aux – список процессов

ps aux | grep node   # Найти процессы, связанные с Node.js ps -ef               # Альтернативный вывод списка процессов ps aux --sort=-%mem  # Сортировка по потреблению памяти

top и htop – мониторинг процессов

top           # Стандартный мониторинг htop          # Улучшенный вариант с цветной графикой (если установлен) htop -u user  # Показать процессы только определенного пользователя
htop

htop

kill – завершение процессов

kill -9 1234          # Принудительное завершение процесса с PID 1234 killall python        # Завершить все процессы python pkill -f 'script.py'  # Завершить процесс по имени файла

4. Сетевые команды

netstat и ss – просмотр сетевых подключений

netstat -tulnp  # Список всех прослушиваемых портов ss -tulnp       # Современная альтернатива netstat ss -s           # Краткая статистика сетевых подключений
netstat -tulnp

netstat -tulnp

curl и wget – загрузка данных из сети

curl -I https://example.com  # Получить заголовки HTTP-ответа curl -X POST -d "data=value" https://api.example.com  # Отправка POST-запроса wget -O page.html https://example.com  # Сохранить страницу в файл wget -c https://example.com/file.iso  # Догрузить файл, если прервалось скачивание
curl -I

curl -I

5. tmux — работа с терминалом как профи

tmux позволяет работать в нескольких сессиях в одном терминале.

tmux new -s my_session     # Создать новую сессию tmux ls                    # Просмотреть список сессий tmux attach -t my_session  # Подключиться к сессии ctrl+b d                   # Отключиться от сессии, оставив её работающей

Заключение

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

Если хотите стать ещё лучше – добавьте cron, rsync и systemctl в свой арсенал. Но это уже тема для следующей статьи 😉.

Какие команды помогли вам в реальной работе? Делитесь в комментариях!


ссылка на оригинал статьи https://habr.com/ru/articles/874742/