Какие команды 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?