Какие основные команды Linux должен знать бэкенд-разработчик и для чего они используются?

Ответ

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

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

  • ls -la: Показать список файлов и директорий с детальной информацией (права, владелец, размер).
  • cd <path>: Переместиться в другую директорию.
  • pwd: Показать текущую рабочую директорию.
  • cp <source> <dest>: Скопировать файл или директорию (-r для рекурсивного копирования).
  • mv <source> <dest>: Переместить или переименовать файл/директорию.
  • rm <file>: Удалить файл (-r для директорий, -f для принудительного удаления).
  • mkdir <name>: Создать новую директорию.

2. Просмотр и поиск в файлах (критично для логов):

  • cat <file>: Вывести содержимое файла в консоль.
  • less <file>: Постраничный просмотр больших файлов с возможностью поиска.
  • tail -f <file>: Следить за файлом в реальном времени (например, tail -f /var/log/app.log).
  • grep "pattern" <file>: Поиск строк, содержащих pattern, в файле. Часто используется в связке с другими командами: cat app.log | grep "ERROR".

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

  • ps aux: Показать все запущенные процессы.
  • top / htop: Мониторинг использования CPU/памяти процессами в реальном времени (htop более наглядный).
  • kill <PID>: Отправить сигнал процессу (по умолчанию TERM).
  • kill -9 <PID>: Принудительно завершить процесс.

4. Работа с сетью:

  • curl <url>: Сделать HTTP-запрос к URL, полезно для проверки доступности API.
  • netstat -tulnp или ss -tulnp: Показать, какие порты слушают запущенные процессы.

5. Системная информация и диски:

  • df -h: Показать использование дискового пространства в читаемом формате.
  • du -sh <dir>: Показать размер указанной директории.
  • free -h: Показать информацию об использовании оперативной памяти.

6. Права доступа:

  • chmod 755 <file>: Изменить права доступа к файлу (например, сделать скрипт исполняемым).
  • chown <user>:<group> <file>: Изменить владельца и группу файла.

Пример полезной связки:

# Найти все Go-файлы в текущей директории и её поддиректориях, 
# а затем посчитать общее количество строк в них.
find . -name "*.go" | xargs wc -l

Ответ 18+ 🔞

Да ты посмотри, какие команды на сервере надо знать, чтобы не выглядеть полным чайником! Это ж как алфавит, блядь, без них ты на удалённой машине — как слепой кот в подвале, нихуя не увидишь и не сделаешь.

1. Шнырять по файлам, как крыса по помойке:

  • ls -la — это чтобы всё разом увидеть, что где лежит, кто хозяин и какой размер. Без -la ты как будто одним глазом смотришь, нихуя не понятно.
  • cd <путь> — перепрыгнуть в другую папку. Базовая хуйня, но если путь кривой — сидишь и ебешься.
  • pwd — а это чтобы не заблудиться в трёх соснах и понять, где ты сейчас, ёпта.
  • cp <откуда> <куда> — скопировать файлик. С директориями не забудь -r, а то скопируешь пустоту и будешь охуевать.
  • mv <откуда> <куда> — переместить или переименовать. Главное — не перепутай, куда движешь, а то потом искать будешь.
  • rm <файл> — удалить нахуй. С директориями — -r, а если файл упрямый — -f. Но с -f осторожно, это как выстрел в голову, обратно не вернёшь.
  • mkdir <имя> — создать папку. Проще некуда.

2. Читать логи и искать иголку в стоге сена:

  • cat <файл> — вывалить весь файл в консоль. Для маленьких — ок, для логов в гигабайт — самоубийство, глаза сломаешь.
  • less <файл> — вот это умная хуйня. Листаешь огромный файл как книгу, ищешь что нужно. Выйти — буква q, запомни, а то застрянешь.
  • tail -f <файл> — это магия, блядь! Смотришь, как логи текут в реальном времени, прямо как в матрице. Ctrl+C чтобы остановить.
  • grep "шаблон" <файл> — ищешь строчки по словам. Типа grep "ERROR" app.log. Часто с cat в паре: cat лог.txt | grep "упало".

3. Держать процессы в ежовых рукавицах:

  • ps aux — посмотреть, какие процессы вообще живут в системе. Как список жильцов в доме.
  • top / htop — это уже как онлайн-тв, смотришь, кто сколько жрёт процессора и памяти. htop — красивше и удобнее, ебать его в сраку.
  • kill <PID> — вежливо попросить процесс закрыться. Часто не понимает.
  • kill -9 <PID> — а это уже не просьба, а пуля в лоб. Железобетонно, но безвозвратно.

4. Ковыряться в сети:

  • curl <урл> — твой браузер в консоли. Кинул урл — получил ответ, проверил, жив ли сервис.
  • netstat -tulnp или ss -tulnp — узнать, какие порты кем заняты. Как проверить, кто в доме шумит.

5. Следить, чтобы место не кончилось:

  • df -h — глянуть, сколько свободного места на дисках. -h — чтобы в гигабайтах, а не в блоках, которые нихуя не понятны.
  • du -sh <папка> — прикинуть, сколько весит конкретная папка со всем её хламом внутри.
  • free -h — проверить, сколько оперативки осталось. Чтобы приложение не сожрало всё и не легло.

6. Права доступа — головная боль:

  • chmod 755 <файл> — сделать файл исполняемым или дать права. Цифры эти — отдельная магия, но 755 — часто надо.
  • chown <юзер>:<группа> <файл> — сменить хозяина файла. А то запустишь от рута, а работать должно от другого пользователя.

Вот тебе пример, как это в жизни выглядит:

# Найти все файлы с кодом на Go и посчитать, сколько всего строк наваял.
# Удобно же, блядь, для отчёта начальству-дураку.
find . -name "*.go" | xargs wc -l

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