Linux-команды для работы с файлами и поиском: Ubuntu, CentOS и практические примеры для Bitrix, Laravel и WordPress
Подробный и практический разбор Linux-команд для работы с файлами и поиска: find, grep, ripgrep, locate, xargs, rsync, tar. Примеры из реальной серверной практики на BitrixVM, Laravel и WordPress.
Linux-команды для работы с файлами и поиска
Ubuntu и CentOS — разбор с практическими примерами
Есть два подхода к работе на сервере:
- Понимать, где что лежит, и находить это командами.
- Открывать файловый менеджер, долго смотреть и в итоге ничего не найти.
Эта статья — про первый подход.
Здесь собраны базовые и продвинутые команды Linux для работы с файлами и поиска:
на Ubuntu и CentOS, в окружениях BitrixVM, Laravel и WordPress.
Без абстрактной теории — только то, что действительно используется в ежедневной серверной практике.
Типовая структура проектов на сервере
Bitrix / BitrixVM
- корень сайта:
/home/bitrix/ext_www/DOMAIN/public_html/ - логи nginx:
/var/log/nginx/ - логи Apache:
/var/log/httpd/(CentOS) или/var/log/apache2/(Ubuntu) - cron-задачи:
/etc/crontab,/etc/cron.d/,crontab -e
Laravel
- корень проекта:
/var/www/projectили/home/user/project - логи приложения:
storage/logs/laravel.log - конфигурация:
.env, каталогconfig/
WordPress
- корень сайта:
/var/www/siteили/home/.../public_html - конфигурация:
wp-config.php - плагины и загрузки:
wp-content/
Просмотр файлов и структуры каталога
Список файлов и размеры
ls -lah
ls -lahS
Подробная информация о файле
stat wp-config.php
Команда полезна, когда нужно проверить:
- дату изменения;
- владельца и группу;
- реальные права доступа.
Быстрый просмотр структуры
tree -L 2
Поиск файлов: команда find
Поиск по имени
find . -type f -name "wp-config.php"
find /home/bitrix/ext_www -type f -name ".env"
Поиск без учёта регистра
find . -type f -iname "*.log"
Поиск недавно изменённых файлов
find . -type f -mtime -2
Пример из практики: После взлома сайта нужно понять, какие PHP-файлы появились или изменились за последние сутки.
cd /home/bitrix/ext_www/DOMAIN/public_html
find . -type f -name "*.php" -mtime -1
Поиск подозрительных файлов в upload-каталогах
Bitrix и WordPress часто становятся жертвами загрузки PHP-файлов в каталоги для медиа.
find upload -type f -name "*.php"
find wp-content/uploads -type f -name "*.php"
Поиск файлов по размеру
find . -type f -size +200M
Полезно, когда заканчивается место на диске и нужно быстро найти источник проблемы.
Поиск текста внутри файлов
grep — классический инструмент
grep -RIn "eval(" .
grep -RIn "base64_decode" .
Флаги:
-R— рекурсивно;-I— игнорировать бинарные файлы;-n— показывать номера строк.
Пример из практики WordPress: Сайт начал делать редиректы на сторонние ресурсы.
grep -RIn "gzinflate" wp-content
grep -RIn "base64_decode" wp-content
ripgrep (rg) — современная альтернатива
Если доступен, использовать его предпочтительнее: быстрее и удобнее.
rg -n "APP_KEY"
rg -n "DB_HOST"
Пример из практики Laravel: Нужно найти, где используется конкретная переменная окружения.
rg -n "PAYMENT_PROVIDER" .
Комбинация find и xargs
Позволяет выполнять действия над результатами поиска.
find . -type f -name "*.php" -print0 | xargs -0 grep -n "eval("
Использование -print0 и -0 защищает от проблем с пробелами в именах файлов.
Быстрый поиск по системе: locate
locate php.ini
locate wp-config.php
Важно помнить, что locate ищет по базе, которая может быть неактуальной.
Обновление базы:
updatedb
Работа с логами
Просмотр последних записей
tail -n 200 /var/log/nginx/error.log
tail -f /var/log/nginx/access.log
Чтение с поиском
less /var/log/nginx/error.log
systemd-журналы
journalctl -u nginx -n 200 --no-pager
journalctl -u php-fpm -n 200 --no-pager
journalctl -xe
Проверка дискового пространства
df -h
du -sh *
Поиск самых “тяжёлых” файлов:
du -ah . | sort -hr | head -n 30
Архивирование: tar
tar -czf site.tar.gz public_html
Исключение кешей и временных файлов:
tar -czf site.tar.gz public_html \
--exclude="public_html/bitrix/cache" \
--exclude="public_html/bitrix/managed_cache" \
--exclude="public_html/upload/tmp"
Синхронизация и переносы: rsync
Пробный запуск:
rsync -avhn --delete ./ public_html/
Реальный перенос:
rsync -avh --delete ./ user@server:/var/www/site/
Права и владельцы
Проверка:
ls -lah
stat index.php
Исправление владельца (BitrixVM):
chown -R bitrix:bitrix /home/bitrix/ext_www/DOMAIN/public_html
Рекомендуемые права:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;
Итог
Команды Linux — это не “магия для администраторов”, а рабочий инструмент разработчика.
Если уметь:
- искать файлы (
find); - искать текст (
grep,rg); - читать логи;
- контролировать дисковое пространство;
- аккуратно работать с правами;
то сервер перестаёт быть источником хаоса и превращается в предсказуемую систему.



Комментарии