by dik
Так как у нас уже начинает складываться некоторая библиотека скриптов для запуска на таблетке, (это и http от Ed и shelltube от Wall ) пора уже подготовить базу для их использования.
Создадим в домашнем каталоге директорию bin для складывания туда скриптов.
$mkdir bin
Чтобы вызывать скрипты только по их имени и не использовать полные путевые имена, сделаем так чтобы наш каталог bin попал в переменную PATH
Сначала скопируем системный файл profile в свой домашний каталог, (насколько я понял, это аналог .bash_profile в bash) :
$cp /etc/profile ~/.profile
Затем добавим в этот файл строки :
# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
PATH=~/bin:”${PATH}”
fi
После выхода из xterm
$exit
Изменения должны начать работать.
Теперь вы сможете находясь в любом каталоге вызывать свои скрипты, находящиеся в каталоге ~/bin, просто по имени, например :
$http.sh
Posted in Software | 2 Comments »
by dik
Благодаря Alexey Sveshnikov и jetxee а также волшебной сетевой утилите netcat, которая вследствие простоты и универсальности заслужила звание “щвейцарский армейский нож” мы имеем возможность быстрого созданий http сервера для раздачи файлов. При запуске скрипта, который умещается во всего одну строку bash, мы получаем лёгкий http сервер с листингом файлов той директории из которой он был запущен. Вот сам код :
true; while [ $? -eq 0 ];do nc -vlp 8080 -c'(r=read;e=echo;$r a b c;E=NOTYET;while [ ${#E} -gt 0 ];do $r E;E=`$e $E|tr -d "\r\n"`;done;f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;h="HTTP/1.0";o="$h 200 OK\r\n";c="Content";if [ -z $f ];then($e -e $o;ls|(while $r n;do if test -f ${n}; then $e "<a href=\"/$n\">$n</a><br>";fi;done););elif [ -f $f ];then $e -e "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`\n";cat $f;else $e -e "$h 404 Not Found\n\n404\n";fi)';done
Что необходимо ?
Устанавливаем netcat :
#apt-get -f install netcat
Качаем скрипт http.sh
Тот же самый скрипт с одной единственной правкой - из команды sed я убрал опцию i (независимость от регистра символов)
sed ’s/[^a-z0-9_.-]//g’
Размещаем его на таблетке в каталоге исполняемых файлов, /usr/bin/
Даём права на выполнение :
#chmod +x /usr/bin/http.sh
Затем, если нам необходимо, заходим в директорию которую необходимо расшарить и даём в ней команду
$http.sh
По ip адресу нашей таблетки и порту 8080 можем наблюдать в браузере листинг файлов, например http://192.168.1.10:8080/
вырубить - по Ctrl+C
А netcat на таблетке пригодится ещё и для проигрывания видео по сети. И для много много чего ещё.
P.S. Если ребята-создатели умеют так же забористо и метко ругаться матом на одном дыхании, как пишут на bash, такие нигде не пропадут :)
Posted in Software | 15 Comments »