Пропустить навигацию.

Блог пользователя GogA

Поиск подстроки в файлах на сервере FreeBSD

Ок, чтобы долго не бегать, сразу дам ответ на вопрос «Как найти строку во всех файлах в текущей папке»:

find $PWD -name '*.*' -exec grep -l "TEST" {} \;

Использовать по протоколу ssh, $PWD указывает на текущую директорию (можно посмотреть путь командой pwd).

Параметр -name '*.*' указывает что идёт поиск всех файлов по маске *.*. К этим файлам выполняем (-exec) команду grep, которая ищет строку TEST в списке файлов и (можете изменять на свою, не забывайте только экранировать некоторые символы, например кавычки) и выводит список всех файлов (-l).

Вроде просто.

Как создать и распакавать архив tar и tar.gz

Судя по вопросам в аську, вопрос для некоторых актуальный, ведь при бекапе сайта (или переносе на другой хостинг), удобно запаковывать все файлы в архив, который потом, при необходимости, можно распаквать.

Условимся, что все операции выполняются по протоколу ssh.

Вопрос: Как создать tar архив?

Ответ: tar -cf arc.tar *

«No space left on device» или ищем кто занимает всё место на жёстком диске

du -h -d 1 /

Видим список файлов с указанием их размера. Например какая-то ошибка в скрипте вызывает постоянное логирование в файл в папке /var, то есть вижу что-то вроде:

781M /var

Ок:

du -h -d 1 /var

...

du -h -d 1 /var/log

И т.д., пока не найдём пожиратель дискового пространства.

Может быть есть более изящный способ определения причны «No space left on device», но и этот хорошо работает.

Пара трюков в работе: dns сервера, /etc/hosts и vim

Так случилось, что ночью перестал открываться liveinternet.ru, а ping liveinternet.ru показал, что пинг идёт на 127.0.0.1.

«Хм, странно,» — cказал я себе: «это не винда и вирусов быть не должно». Посмотрев файл /etc/hosts понял что дело не в нём. Там только мои записи были.

Хорошо, тогда попробуем посмотреть цепочку запросов-ответов.

whois liveinternet.ru

% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http www ripn.net/about/servpol.html#3.2 (in Russian)

Групповое переименование файлов в FreeBSD, Linux, Mac OS X

Групповое переименование файлов в папке с нумерацией по порядку делается так:

x=1; for i in *.jpg ; do mv $i $x.jpg;x=$(($x+1)); done

Как видно, обычный цикл с переименованием всех картинок (которые попадают под шаблон *.jpg, его, кстати, можно поменять) в их порядковые номера.

Просто и работает. До этого мучался с командой ls, сохранением вывода в файл и на основе этого файла команда mv толи paste переименовывала файлы.

ps. написал тут, чтобы потом опять по другим сайтам не искать заветную строку.

Первая запись в блоге маньяка и ученика FreeBSD

А что? Мучаемся с другом с сервером. Точней я мучаюсь, а у него получается играться с настройками как у виртуоза-профессионала.

В один момент светлая идея «завести блог» озарила нас. Если бы удалось завести его месяца два назад, то информации было бы уже с маленькую книжку. Через пару месяцев можно это будет проверить.

Чуть позже на блоге появится два раздела:
— от профи
— от новичка

В которых мы будем публиковать интересные записи.

Хватит слов, поехали!

RSS-материал