вторник, 25 сентября 2012 г.

grep в Windows? Легко!


Многим юниксоидам очень не хватает команды grep при работе в cmd Windows.
Команды с таким названием в Windows нет :(

К счастью, в Windows XP (и выше) появились две команды, которые призваны исправить положение — это find и более мощный вариант — findstr.

Первая простая, и имеет явный недостаток — искомый текст надо заключать в кавычки.
Не знаю, как вам — но мне очень не удобно печатать кавычки каждый раз :)
findstr же этого не требует, и к тому же позволяет искать используя мощь регулярных выражений.
Таким образом, теперь надо помнить, что мы не в bash\zsh\etc, а в Win, и набирать findstr вместо grep.

Ну а на своей машине я сделал следующее:

echo findstr %1 %2 %3 %4 %5 > %systemroot%\grep.cmd

теперь можно не задумываясь грепать вывод:

C:\WINDOWS>netstat -an | grep LISTEN

C:\WINDOWS>findstr LISTEN
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1963 0.0.0.0:0 LISTENING
TCP 10.198.17.58:139 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9051 0.0.0.0:0 LISTENING
TCP 192.168.56.1:139 0.0.0.0:0 LISTENING

ifconfig:
echo IF "%1"=="-a" (ipconfig /all) ELSE (ipconfig %1) > %systemroot%\ifconfig.cmd

man:
echo %1 /?> %systemroot%\man.cmd

ls:
echo IF "%1"=="-a" (dir) ELSE (IF "%1"=="-al" (dir) ELSE (dir %1 %2 %3 %4 %5)) > %systemroot%\ls.cmd
Я часто на автомате даю ключ(и) -a(l) команде ls, по этому добавил их «обработку»

P.S. спасибо AddRemover.

Ссылки:
grep в Windows? Легко!

вторник, 24 июля 2012 г.

Обновление программ в Calculete

Решил написать простой скрипт, который обновляет все программы установленные из портежей.
Флаги берутся из /etc/make.conf  и данные из /etc/portage/package.*.
Т.е. если Вы все ставили по умолчанию или не ленились добавлять значения флагов для портежей и другие данные, то все пройдет гладко
собственно сам скрипт

#!/bin/bash
i=0
for name in  `eix -u --only-names` ;do
echo " Updating $name";
$i=expr $i + 1 ;
emerge -u $name;
done
emerge @preserved-rebuild
echo "Updated $i app"
echo "Done!!!"
Процедура займет прилично времени, т.к. по факту будет пересобрана вся система.
Возможно небольшое количество портежей все же ругнется и придется их пересобрать с теми флагами которые там будут отмечены *
Все!


пятница, 20 июля 2012 г.

Установка пакетов в Tomato

Это логичное продолжение серии статей про прошивку Toamto
Забрасываем помидорами Asus RT-N16 (прошивка Tomato)

Хочется иметь немного расширить функционал и удобство использования роутера.

Для начал нам нужно подготовить flash.
Как это сделать описано в прошлой статье Настройка Tomato "под себя".

Итак теперь я опишу как поставить некоторые полезные программы на Ваш роутер:

Настройка Tomato "под себя"

Этот пост продолжение поста Забрасываем помидорами Asus RT-N16 (прошивка Tomato)
Базовая прошивка обладает достаточно большим рядом возможностей.
Я напишу, что я настраивал и оптимизировал.

Забрасываем помидорами Asus RT-N16 (прошивка Tomato)

Я уже пробовал альтернативную прошивку dd-wrt (подробнее Установка DD-WRT на ASUS RT-N16  ),
также настраивал там VPN server(Настройка OpenVPN с использованием сертификатов X.509 (На примере FreeBSD и роутера на DD-WRT) ).

Появилась проблемка, роутер не хотел принимать подключения по wi-fi.
Пересмотрел все настройки и потратив пару часов, я решил поставить новую прошивку и обратил внимание на прошивку Tomato.
Она обладает простым веб интерфейсом и большими возможностями.
Решил ее поставить.

четверг, 5 июля 2012 г.

Оптимизация NFS в Linux

Столкнулся с небольшой производительностью nfs сервера, начал ковырять, и узнавать, что же можно улучшить?
Я уже рассматривал раньше работу NFS на FreeBSD, там же есть и базовая теория, как это работает.
Так что повторяться не буду.

четверг, 14 июня 2012 г.

Работа с Mysql в Perl (модуль Mysql)

Очень часто приходиться писать различные скрипты на perl.
Большинство скриптов берет или пишет какие либо данные в БД.
Самой популярной БД является MySql, поэтому я опишу основные моменты, как это делать в perl.
Примечание: используемая ОС - Gentoo, но справедливо для любой Linux или *BSD системы.