Best of Vim Tips

Апрель 7, 2008

Mount CDROM

Март 20, 2008

Удобный скрипт монтирования сменных носителей

#!/bin/sh
retval=`/bin/mount | grep /mnt/cdrom`
if [ -n "$retval" ];
then /bin/umount /mnt/cdrom 1> /dev/null 2> /dev/null
if [ "$?" -ne 0 ];
then echo “Не могу размонтировать CDROM”
else echo “Размонтировал CDROM”
eject /dev/cdrom
fi
else /bin/mount /dev/cdrom 1> /dev/null 2> /dev/null
if [ "$?" -ne 0 ];
then echo “Не могу смонтировать CDROM”
else echo “Примонтировал CDROM”
fi
fi

imdb.com search

Март 18, 2008

Если вы часто качаете фильмы из сети и не всегда уверены стоит ли качать фильм, возможно вам окажется полезным скрипт:

#!/bin/sh
request=”$@”
file=”imdb_dump.html”

wget -U Firefox “http://www.google.com/search?q=$request site:imdb.com&btnI=I\`m Feeling Lucky” -O “$file”
title=$(grep “<title>” “$file” | sed -e ’s/<[^ ]*>//g’)
rating=$(grep -A1 “<b>User Rating:</b>” “$file” | grep -o ‘[0-9][0-9./]*’)
votes=$(grep -o ‘[0-9,]* votes’ “$file”)
genre=$(grep -A1 “<h5>Genre:</h5>” “$file” | grep -o “>[A-Z][a-zA-Z]*<” \
| sed -e ’s/[<>]//g’ | paste - - - - - - - - - | sed -e ’s/[ \t]*$//’ -e ’s/\t/,/g’)
url=http://www.imdb.com/$(grep -o ‘title/tt[0-9]*’ “$file” | head -1)
echo “$request|$title|$url|$genre|$rating|$votes” | tee -a movies.csv

imdb-search.sh

Read the rest of this entry »

Есть проблемы? Иногда проще прервать процесс и запустить его снова.

 -Почему компьютеры имеют кнопку Reset?
Потому что они поставляются с операционной системой от Microsoft. Эта шутка так стара, что ее слышали еще динозавры. По-вашему, программы Linux никогда не падают? Ядро Linux очень стабильно, и крах приложений обычно слабо влияет на состояние системы. Но иногда дефектный процесс может навредить, если захватит все процессорные циклы или всю память (или все вместе) и в итоге потребует перезагрузки. Или случайно запаниковавшее ядро может заморозить процесс загрузки.
-Значит, нам все-таки надо нажимать на Reset?
А вот и нет. Ядро Linux немного умеет колдовать: если вы нажмете Alt + SysRq и командную клавишу, ядро всегда воспримет команду, даже будучи полностью заблокированным. Так как это функция ядра, она готова к работе сразу после его загрузки, и вы можете использовать ее
во время запуска. Read the rest of this entry »

Когда есть необходимость передать файл с одной машины на другую,
а под рукой нет общедоступных ресурсов, можно сделать так:

nc -l -p 8080 < file или netcat -l 8080 < file

на клиенте достаточно в браузере набрать http://192.168.0.123:8080
Собственно, все. Впрочем…
Read the rest of this entry »

Иногда, когда пишешь пост, хочется вставить какой-нибудь символ, типа © или ™, литературных кавычек « и » или буквы с ударением ó, á, а лезть за ними в таблицу символов слишком долго. Можно конечно воспользоваться специальным апплетом, из которого легко копируются в буфер обмена нужные сиволы. Но тогда придётся отрывать руки от клавиатуры, брать мышь, клацать на символе, а потом вставлять его в нужное место.
Read the rest of this entry »

Terminus в ядре

Февраль 22, 2008

Когда загружается ядро, информация на экран выводится шрифтом, который “зашит” в ядро. Его возможно сменить только после загрузки с помощью утилиты setfont из пакета kbd. Но мне хочется, чтобы мой любимый шрифт был уже на начальном этапе загрузки ядра. Что же делать?
Read the rest of this entry »

Progress bar for cp

Февраль 19, 2008

In action:

% cp_p /debian-2.2r4potato-i386-netinst.iso /dev/null
76% [===========================================>

Read the rest of this entry »

Anti-ssh-bruteforce

Февраль 19, 2008

  1. Нужна поддержка recent match в ядре
  2. Добавьте следующие правила в подходящем порядке в соответствии с уже созданными правилами.
iptables -A INPUT -p tcp –syn –dport 22 -m recent –name radiator –set
iptables -A INPUT -p tcp –syn –dport 22 -m recent –name radiator –update –seconds 60 –hitcount 3 -j DROP

После 3 попыток подключиться в течение 60 секунд, робот блокируется и отваливает :) и почти нет мусора в логах, а главное - лишнего траффика, в отличие от pam_abl. По желанию можно увеличить параметры –hitcount и –seconds.