Команды для работы с файлами через командную строку

Решил зафиксировать, как для себя, так и для других, список unix команд и их опций, которые помогают работать с файлами на удаленном веб-сервере. В основном это команды для анализа логов, поиска кусков кода.

Список команд

grep "KEY" path/to/file.log
– поиск текста в указанном файле; все символы пунктуации, спецсимволы и даже пробелы должны быть экранированы обратным слэшем;
grep -n "KEY" path/to/file.log
– поиск текста с отображением номера строки;
grep -r "KEY" .
– рекурсивный поиск текста по всем директориям, начиная с текущей;
grep -A 2 -B 3 "KEY" path/to/file.log
– поиск текста в файле, однако выводит дополнительно 2 строки выше и 3 ниже искомой;
grep -m 5 "KEY" path/to/file.log
– поиск текста в файле с выводом только первых 5 строк;
grep -o "KEY" path/to/file.log | wc -l
– подсчет количества строк с искомым текстом в файле;
zgrep "KEY" path/to/file.tar.gz
– поиск текста в сжатых файлах/архивах;
cat path/to/file.log
– вывести в консоль все содержимое файла;
sed -n 5p path/to/file.log
– отобразить содержимое 5 строки указанного файла (удобно анализировать ошибки PHP, когда указана строка);
sed -n -e 5p -e 8p path/to/file.log
– отобразить содержимое 5 и 8 строки указанного файла ;
sed -n 5,8p path/to/file.log
– отобразить содержимое 5-8 строки указанного файла ;
sed -i -e 7d path/to/file.log
– удалить 7 строку из файла;
sed -i -e 's/search/replace/g' path/to/file.log
– заменить строку "search" на "replace" во всем файле;
head -n 10 path/to/file.log
– вывести 10 строк файла с начала;
tail -n 10 path/to/file.log
– вывести 10 строка файла с конца;
tail -f path/to/file.log
– динамически наблюдать за обновлением содержимого файла (например, при мониторинге лог файлов);
find path/to/folder  -name "*.install"
– найти файл по маске имени в укзанной директории (работает рекурсивно);
echo "TEXT" >> path/to/file.txt
– добавить текст в конец файла;
du -hs ./* | sort -hr | head -5
– disk usage: подсчитать общий размер папок/файлов в текущей директории и отсортировать по убыванию; выводит топ-5 по размеру;

Утилиты

Если необходимо найти директории и файлы, которые занимают много места на сервере, то можно воспользоваться ncdu (NCurses Disk Usage) утилитой. Однако она требует установки, что не всегда возможно. Но и значительно упрощает работу по анализу занятого места на диске.

Добавить комментарий

 888888b.    88888888888  888       8888888b.  
888 "88b 888 888 888 Y88b
888 .88P 888 888 888 888
8888888K. 888 88888b. 888 d88P
888 "Y88b 888 888 "88b 8888888P"
888 888 888 888 888 888 T88b
888 d88P 888 888 888 888 T88b
8888888P" 888 888 888 888 T88b


Зарегистрируйтесь для добавления материалов без проверки.