Ответ
Для бэкенд-разработчика командная строка Linux — это основной инструмент для развертывания, отладки и мониторинга приложений. Я бы сгруппировал ключевые команды по задачам:
1. Навигация и работа с файлами
ls -la
: Посмотреть содержимое директории с деталями (права, владелец, размер).cd
: Переместиться в другую директорию.pwd
: Узнать текущий путь.cp -r
: Скопировать файлы или директории (рекурсивно).mv
: Переместить или переименовать файл/директорию.rm -rf
: Удалить файл или директорию (рекурсивно и без подтверждения).mkdir -p
: Создать директорию, включая все родительские.
2. Анализ логов и текстовых файлов
cat
: Вывести содержимое файла в консоль.less
: Постранично просмотреть большой файл с возможностью поиска.tail -f /path/to/logfile.log
: Следить за логами в реальном времени. Ключевая команда для отладки.grep 'error' app.log
: Найти все строки, содержащие слово 'error' в файлеapp.log
.journalctl -u myapp.service -f
: Просмотр логов системной службы (systemd) в реальном времени.
3. Работа с процессами
ps aux | grep 'my-app'
: Найти процесс моего приложения.top
/htop
: Мониторинг системных ресурсов и запущенных процессов в реальном времени.kill <PID>
: Отправить сигнал процессу (по умолчаниюTERM
для корректного завершения).kill -9 <PID>
: Принудительно "убить" зависший процесс.
4. Сеть и API
curl
: Отправить HTTP-запрос для тестирования API прямо из терминала.curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' http://localhost:8080/api
.netstat -tulnp
илиss -tulnp
: Посмотреть, какие порты прослушиваются и какими процессами. Очень полезно для проверки, запустился ли сервис.
5. Администрирование и развертывание
ssh user@host
: Подключиться к удаленному серверу.scp
: Безопасно скопировать файлы на удаленный сервер или с него.chmod
: Изменить права доступа к файлу (например,chmod +x my_script.sh
, чтобы сделать его исполняемым).chown
: Изменить владельца файла/директории.
Пример комплексной задачи: Найти 5 самых ресурсоемких процессов и вывести информацию о них.
ps aux --sort=-%mem | head -n 6