Задача: найти все файлы на ВПС, содержащие определенное значение. На свои сервера VPS ставлю ОС Linux, типа Debian 12 или Ubuntu 22.0.4. В моем случае искомый файл должен содержать следующую строку:
x20not\x20support
Задача именно найти файлы содержащие искомую строку, но не удалять или делать замену. Т.е. необходимо выполнить поиск внутри файлов на сервере.
Решение:
- Открываем консоль для подключения через root. Я использую SSH клиент mobaxterm со встроенным диспетчером файлов. имхо топ софтина и никакие Putty — **** рядом не стоят по юзабилити для вебмастеров.
- Открываем Midnight Commander командой:
mc
Если Миднайт Командер еще не установлен, потребуется ввести:
apt install mc
И наконец-то запустить тулзу - Я использую на этом сервере бесплатную FastPanel и у меня папка с сайтами имеет путь: /var/www/.
- Открываю верхнее меню Command и выбираю пункт Find file. Можно еще нажать сочетание клавиш Alt + Shift + ?, но у меня срабатывает в редких случаях.
- В строку Start at вводим ваш путь до папок с сайтами, в моем случае это папки юзеров, потому что каждый сайт под отдельным юзером.
- В строку Content вводим искомую комбинацию символов. Я ввел просто
x20support
и нажал ОК.
Можно еще убрать галку в пункте Case sensitive, если не важен регистр.
- Далее появится список путей к файлам, содержащим искомый текст.
- Через FTP клиент, прямо в MobaXterm, или через файловый менеджер в фаст панели получаю доступ к найденным файлам для работы с ними.
Есть и другие способы поиска файлов на сервере по их содержимому с использованием только команд в консоли, вот статья. Этот способ наиболее нативный, не требующий навыков администрирования.
А какими инструментами вы пользуетесь в случае, когда надо найти все файлы на сервере по строке или слову?