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

Закрыто
PastorDi
Сообщения: 2656
Зарегистрирован: 25 авг 2011, 12:34
Operating system: IBM DOS, OS/2
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение PastorDi » 17 сен 2011, 23:27

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/rosalab"; 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 kaddafi@srv02:/home/svnstat/* .
7. Скриншот на удаленной машине :) (С запущенными иксами конечно)

Код: Выделить всё

DISPLAY=":0.0" import -window root screenshot.png
8. Качаем и сразу распаковываем :)

Код: Выделить всё

wget -qO - http://example.com/path/to/blah.tar.gz | tar xzf -
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|.*<temp_c data="\([^"]*\)"/>.*|\1|'
11. Список установленных расширений для Firefox

Код: Выделить всё

grep -hIr -m 1 em:name ~/.mozilla/firefox/*.default/extensions.ini|sed 's#\s*##'|tr '<>=' '"""'|cut -f3 -d'"'|sort -u
12. Список установленных расширений для Chromium (с адресом страницы)

Код: Выделить всё

for i in $(find ~/.config/chromium/*/Extensions -name 'manifest.json'); do n=$(grep -hIr name $i| cut -f4 -d '"'| sort);u="https://chrome.google.com/extensions/detail/";ue=$(basename $(dirname $(dirname $i))); echo -e "$n:\n$u$ue\n" ; done
13. Уровень сигнала wifi

Код: Выделить всё

/sbin/iwconfig wlan0 | grep Quality | cut -d = -f2 | awk '{print $1}'
14. Оптимизация sqlite-баз, в которых Firefox хранит всякую служебную информацию. Позволяет немного ускорить его работу

Код: Выделить всё

find ~/.mozilla/firefox -name '*.sqlite' -print -exec sqlite3 {} "VACUUM; REINDEX;" \;
15. Сравнить вывод двух команд

Код: Выделить всё

diff <(tail -10 file1) <(tail -10 file2)
16. Удалить все файлы, кроме одного :) Часто пригождается, чтобы не писать rm тут_куча-имен-файлов

Код: Выделить всё

ls -Q | grep -v "not-for-delete-file" | xargs rm -r
17. Собрать несколько тарболлов в один

Код: Выделить всё

cat 1.tar.gz 2.tar.gz | tar zxvif -
18. Размер окна терминала

Код: Выделить всё

 echo $COLUMNS x $LINES
19. Вывести man-страницу как обычный текст. Удобно для распечатки

Код: Выделить всё

man need-man | col -bx

Аватара пользователя
Chawoosh
Сообщения: 1
Зарегистрирован: 12 сен 2011, 16:54

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

Сообщение Chawoosh » 20 сен 2011, 17:32

Только использовать mail а не sendmail - тогда скрипты будут работать с любым майл-сервером.

Закрыто