воскресенье, 28 февраля 2010 г.

Консольные хитрости

Опытные юниксоиды знают и осознают всю мощь использования командной строки и немного “свысока” посматривают на “мышевозов” :) Но и в консоли есть свои недостатки, которые побеждаются с помощью каких-то приемов. У каждого свой набор, а я хочу поделиться своими наработками-находками-привычками, которые появились за долгие годы использования командной строки. Эдакий небольшой cheat-sheet.
Начнем :)

1. Копирование файлов с указанием прогресса. Всегда чертовски не хватало информативности в cp

rsync --progress file1 file2

2. Преобразование текста в картинку. Использовал для создания простенькой капчи

echo -e "Some Text Line1\nSome Text Line 2" | convert -background none -density 196  -resample 72 -unsharp 0x.5 -font "Courier" text:- -trim +repage -bordercolor white -border 3  text.gif

3. Поиск и замена в текстовых файлах

find . -iname "FILENAME" -exec sed -i 's/SEARCH_STRING/REPLACE_STRING/g' {} \;

4. Метод Столлмана! Отправка веб-странички по почте :)

{ u="http://twitter.com/boombick"; echo "Subject: $u"; echo "Mime-Version: 1.0"; echo -e "Content-Type: text/html; charset=utf-8\n\n"; curl $u ; } | sendmail recipient@example.com

5. Запись iso-файла на диск

cdrecord -v speed=4 driveropts=burnfree dev=/dev/scd0 cd.iso

6. Ограничение канала для scp. В данном случае ограничен 10kbps

scp -l10 boombick@srv02:/home/svnstat/* .

7. Скриншот на удаленной машине :) (С запущенными иксами конечно)

DISPLAY=":0.0" import -window root screenshot.png

8. Качаем и сразу распаковываем :)

wget -qO - http://example.com/path/to/blah.tar.gz | tar xvf -

9. url_encode :) Достаточно примитивно, но часто помогает

echo "$url" | sed 's/%/%25/g;s/ /%20/g;s/!/%21/g;s/"/%22/g;s/#/%23/g;s/\$/%24/g;s/\&/%26/g;s/'\''/%27/g;s/(/%28/g;s/)/%29/g'

10. Погода в Москве :) Подставьте свой город

curl -s "http://www.google.com/ig/api?weather=Moscow" | sed 's|.*.*|\1|'

Пока все, to be continued

взято отсюда


Комментариев нет: