Какие основные команды для работы в командной строке Linux?

Ответ

Основные команды Linux можно сгруппировать по их назначению:

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

  • pwd — вывести текущую рабочую директорию.
  • ls — список содержимого директории (ls -la для детального вывода).
  • cd — сменить директорию (cd ~ — в домашнюю, cd .. — на уровень выше).
  • mkdir / rmdir — создать / удалить пустую директорию.
  • cp, mv, rm — копировать, переместить/переименовать, удалить файлы/директории. Для директорий с -r (рекурсивно).

Просмотр и обработка содержимого

  • cat — вывести содержимое файла.
  • less / more — постраничный просмотр.
  • head / tail — вывести начало/конец файла (tail -f для слежения за изменениями).
  • grep — поиск по шаблону (grep -i "error" file.log).

Права и процессы

  • chmod — изменить права доступа (chmod 755 script.sh).
  • ps — список процессов (ps aux | grep nginx).
  • kill — отправить сигнал процессу (kill -9 PID для принудительного завершения).
  • top / htop — интерактивный мониторинг процессов и ресурсов.

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

  • df / du — информация о свободном месте на диске / размер файлов/директорий.
  • ssh / scp — безопасное удалённое подключение и копирование файлов.
  • tar — работа с архивами (tar -czvf archive.tar.gz ./folder/).

Практический пример: анализ логов

# Найти 10 последних ошибок в логе и сохранить их в файл
grep -i "error" /var/log/app.log | tail -n 10 > recent_errors.txt

Ответ 18+ 🔞

А, ну вот, смотри, классика жанра, без этого никуда. Сидишь ты такой в терминале, а вокруг тебя эта тёмная пустошь, и ты нихуя не понимаешь, где находишься. Как в лесу, ёпта.

Где я, сука, и что вокруг?

  • pwd — это типа крик души: «Папа, где я?». Команда тебе честно ответит, в какой папке ты сейчас увяз.
  • ls — «А что тут у нас?». Просто ls покажет, что валяется на полу. А ls -la — это уже разбор полётов: покажет вообще всё, включая скрытые файлы, права доступа и кто тут главный. Пиздец как полезно.
  • cd — команда для путешествий. cd ~ — домой, к маме, на печку. cd .. — назад, на уровень выше, типа «ой, я не туда зашёл».
  • mkdir / rmdir — создать папку и удалить пустую папку. С rmdir будь осторожен, она удаляет только пустые. Если там хоть один файл — будет тебе «директория не пуста», и сиди, мудак, разбирайся.
  • cp, mv, rm — святая троица. Копировать, переместить (или переименовать, что одно и то же) и удалить. Хочешь удалить папку со всем её дерьмом внутри? rm -r. Это как «вынести всё ведро, не глядя». Охуенно мощно, но можно и ногу себе отстрелить, если не глядишь, что удаляешь.

Чтение и поиск: где тут суть?

  • cat — вываливает содержимое файла тебе прямо в терминал. Если файл на гигабайт — получишь поток сознания, который не остановить. Пиздец.
  • less / more — для культурных людей. Показывают по страничке. less — вообще красавчик, туда-сюда листать можно.
  • head / tail — «дай начало» и «дай конец». tail -f — это магия. Подключаешься к логу и смотришь, как он в реальном времени пишется. Как сериал, только про ошибки.
  • grep — король поиска. «Найди мне все строки, где есть слово "error"». grep -i "error" file.log — и он найдёт, даже если оно с большой буквы. Спаситель, блядь.

Кто тут главный и что можно?

  • chmod — раздача прав. chmod 755 script.sh — значит, хозяин может всё, а остальные — только читать и запускать. Без этого твой скрипт — просто текстуха, которую никто не послушает.
  • ps — «Какие процессы у меня тут бегают?». ps aux | grep nginx — классика: «А жив ли мой веб-сервер?».
  • kill — команда-убийца. Вежливо просит процесс завершиться. А kill -9 PID — это уже не просьба, это выстрел в голову. Принудительно и бесповоротно.
  • top / htop — как диспетчер задач, только для крутых. Смотришь, какой процесс жрёт всю память, и думаешь: «Ну что за мудак?».

Инфа по системе и сети: что почём?

  • df — «Сколько свободного места на диске?». Срочно надо знать, когда всё падает.
  • du — «А сколько места жрёт вот эта папка с фотками?». Часто открывает глаза, ёпта.
  • ssh / scp — твой билет на другую машину. Подключиться и скопировать файлы так, чтобы никто не подслушал.
  • tar — архиватор-упаковщик. tar -czvf archive.tar.gz ./folder/ — взять папку, спрессовать её в один файл и чувствовать себя организованным человеком. Ненадолго.

А вот реальный пример, как это всё вместе работает: Допустим, сервер плюётся, а ты должен найти, в чём дело. Делаешь так:

# Выцепить 10 последних ошибок из лога и сложить их в отдельный файл, чтобы начальству показать
grep -i "error" /var/log/app.log | tail -n 10 > recent_errors.txt

Вот и вся магия. Сначала grep выковыривает все строки с «error», потом tail отрезает только десять самых свежих, а > скидывает это добро в файлик. Сидишь потом, читаешь эту подборку и понимаешь, что твой код — говно. Но зато знаешь, какое именно.