Какие команды Linux Shell вам известны?

Как с помощью команд Linux Shell найти лог-файл и строчку с ошибкой в ​​файле?

🔥 Linux Shell Must Know

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

pwd                  # показать текущую директорию
ls -la               # список файлов с правами и скрытыми файлами
cd <путь>            # перейти в директорию
mkdir test           # создать папку
rm -rf test          # удалить папку/файл (осторожно!)
cp file1.txt file2.txt  # копировать файл
mv file.txt new.txt     # переместить/переименовать

📖 Просмотр содержимого файлов

cat file.txt         # вывести файл целиком
less file.txt        # постраничный просмотр
head -n 10 file.txt  # первые 10 строк
tail -n 20 file.txt  # последние 20 строк
tail -f log.txt      # следить за логом в реальном времени

🔍 Поиск

find . -name "*.py"      # найти все .py файлы в текущей папке
grep "ERROR" log.txt     # найти строки с ERROR
grep -r "TODO" src/      # искать рекурсивно в папке

⚙️ Система и процессы

ps aux              # список процессов
top                 # мониторинг процессов
kill -9 <pid>       # убить процесс
df -h               # диски и свободное место
du -sh *            # размер файлов/папок в текущей директории
free -h             # использование памяти
uname -a            # информация о системе
uptime              # аптайм сервера

🌐 Сеть

ping google.com     # проверить доступность
curl http://site.com  # GET-запрос
wget http://site.com/file.zip  # скачать файл
ip a                # сетевые интерфейсы
ss -tulnp           # занятые порты

👤 Пользователи и права

whoami              # текущий пользователь
chmod 755 file.sh   # изменить права доступа
chown user:group file.txt  # изменить владельца
sudo command        # выполнить команду от root

📦 Пакеты

apt update && apt install <пакет>   # Debian/Ubuntu
yum install <пакет>                 # CentOS

👉 Эти 20 команд закрывают 90% задач, которые обычно нужны тестировщику/разработчику:

  • посмотреть/искать логи

  • управлять файлами

  • проверить сеть

  • убить зависший процесс

  • обновить/поставить пакеты


1️⃣ Найти лог-файл

Если ты не знаешь точное имя файла:

# Найти все файлы с расширением .log в текущей папке и поддиректориях
find . -name "*.log"

# Или искать по части имени
find /var/log -type f -name "*error*.log"
  • . — текущая директория

  • /var/log — системная папка с логами

  • -type f — искать только файлы


2️⃣ Найти строку с ошибкой внутри файла

Используем grep:

# Искать слово "ERROR" в файле
grep "ERROR" app.log

# Игнорировать регистр (error, Error, ERROR)
grep -i "error" app.log

# Показать номер строки
grep -n "error" app.log

# Показать контекст: 3 строки до и после
grep -C 3 "error" app.log

3️⃣ Искать во всех логах сразу

# Рекурсивно искать во всех .log файлах
grep -r "error" /var/log

# С указанием имени файла в выводе
grep -rn "error" /var/log
  • -r — рекурсивно

  • -n — номер строки

  • -i — игнорировать регистр

  • -C N — N строк контекста до и после


4️⃣ Следить за логом в реальном времени

tail -f /var/log/app.log | grep --line-buffered "ERROR"
  • tail -f — смотреть новые строки в лог-файле

  • grep --line-buffered — фильтрует их на лету

Last updated

Was this helpful?