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

Решил зафиксировать, как для себя, так и для других, список 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) утилитой. Однако она требует установки, что не всегда возможно. Но и значительно упрощает работу по анализу занятого места на диске.

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

 888b    888  888     888      d8888   888888b.   
8888b 888 888 888 d8P888 888 "88b
88888b 888 888 888 d8P 888 888 .88P
888Y88b 888 888 888 d8P 888 8888888K.
888 Y88b888 888 888 d88 888 888 "Y88b
888 Y88888 888 888 8888888888 888 888
888 Y8888 Y88b. .d88P 888 888 d88P
888 Y888 "Y88888P" 888 8888888P"


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