<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>::RiZN BLOG:: &#187; bash</title>
	<atom:link href="http://blog.rizn.org/category/bash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rizn.org</link>
	<description>Обо всем</description>
	<lastBuildDate>Sun, 16 Jan 2011 01:11:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>В консоли, как у себя дома</title>
		<link>http://blog.rizn.org/n800-xterm-enter-key/</link>
		<comments>http://blog.rizn.org/n800-xterm-enter-key/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 09:33:06 +0000</pubDate>
		<dc:creator>RiZN</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[n800]]></category>
		<category><![CDATA[tabletpc]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.rizn.org/n800-xterm-enter-key/</guid>
		<description><![CDATA[Для повышения удобства работы в консоли на n800 можно использовать ярлыки самых нажимаемых клавиш (тех самых, под которыми наиболее сильно протёрта защитная плёнка :) ) Например, у меня вынесены Esc, PgUp, PgDn, Up, Down, Enter, Tab и Ctrl. Немного помучаться пришлось с Enter&#8217;ом, так как значение &#8220;Return&#8221; открывает/закрывает экранную клавиатуру, а не завершает ввод строки. [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.rizn.org/wp-content/uploads/2008/02/shot-2008-02-22-12-04-01.png' title='shot-2008-02-22-12-04-01.png'><img src='http://blog.rizn.org/wp-content/uploads/2008/02/shot-2008-02-22-12-04-01.png' alt='shot-2008-02-22-12-04-01.png' width='400' /></a><br />
Для повышения удобства работы в консоли на n800 можно использовать ярлыки самых нажимаемых клавиш (тех самых, под которыми наиболее сильно протёрта защитная плёнка :) ) Например, у меня вынесены Esc, PgUp, PgDn, Up, Down, Enter, Tab и Ctrl. Немного помучаться пришлось с Enter&#8217;ом, так как значение &#8220;Return&#8221; открывает/закрывает экранную клавиатуру, а не завершает ввод строки. Возможно, решение этой проблемы уже давно есть, но так как мне было лень искать, я решил разобраться сам. Решение лежало на поверхности — Достаточно ввести значение &#8220;KP_Enter&#8221; — это код клавиши Enter на цифровом блоке полноразмерной клавиатуры, который был невозбранно найден с помощью xev. Теперь некоторые основные операции, например, браузинг хистори команд, можно делать не закрывая треть экрана клавиатурой.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rizn.org/n800-xterm-enter-key/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bash-httpd ­- веб-сервер длиной в одну строку</title>
		<link>http://blog.rizn.org/bash-httpd-%c2%ad-veb-server-dlinoy-v-odnu-stroku/</link>
		<comments>http://blog.rizn.org/bash-httpd-%c2%ad-veb-server-dlinoy-v-odnu-stroku/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 08:59:06 +0000</pubDate>
		<dc:creator>RiZN</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.rizn.org/bash-httpd-%c2%ad-veb-server-dlinoy-v-odnu-stroku/</guid>
		<description><![CDATA[Удивительное явление! Статья по достаточно специфичной теме попала на главную н2, да еще и покраснела :) А всё потому, что статья действительно интересная и окажется полезной любому, кто хочет увидеть &#8220;силу командной строки&#8221; или очень быстро поднять веб-сервер для передачи пары файлов на соседний компьютер. Итак, вот оно, лаконичное решение проблемы: true; while [ $? [...]]]></description>
			<content:encoded><![CDATA[<p>Удивительное явление! Статья по достаточно специфичной теме попала на главную <a href="http://news2.ru">н2</a>, да еще и покраснела :) А всё потому, что статья действительно интересная и окажется полезной любому, кто хочет увидеть &#8220;силу командной строки&#8221; или очень быстро поднять веб-сервер для передачи пары файлов на соседний компьютер.<br />
Итак, вот оно, лаконичное решение проблемы:</p>
<blockquote><p><code>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 "&lt;a href=\"/$n\"&gt;$n&lt;/a&gt;&lt;br&gt;";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<br /></code></p></blockquote>
<p>Благодарности направляем <a href="http://alexey.sveshnikov.ru/blog/2007/08/30/bash-httpd-2/">автору идеи</a>, а также <a href="http://sovety.blogspot.com/2007/08/21.html">автору</a> той версии, которая выложена здесь.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rizn.org/bash-httpd-%c2%ad-veb-server-dlinoy-v-odnu-stroku/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Основные команды linux</title>
		<link>http://blog.rizn.org/osnovnyie-komandyi-linux/</link>
		<comments>http://blog.rizn.org/osnovnyie-komandyi-linux/#comments</comments>
		<pubDate>Fri, 03 Aug 2007 12:48:56 +0000</pubDate>
		<dc:creator>RiZN</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.rizn.org/osnovnyie-komandyi-linux/</guid>
		<description><![CDATA[На Digg.com сегодня нашел ссылку на справочник команд Linux в таких категориях: Файловые команды, Управление процессами, Права доступа на файлы, SSH, Поиск, Системная информация, Архивация, Сеть, Установка пакетов, Клавиатурные сочетания. Я сделал перевод, думаю новичкам будет полезно Ещё бы! Заходим, качаем, благодарим.]]></description>
			<content:encoded><![CDATA[<blockquote><p>На Digg.com сегодня нашел ссылку на справочник команд Linux в таких категориях:<br />
Файловые команды, Управление процессами, Права доступа на файлы, SSH, Поиск, Системная информация, Архивация, Сеть, Установка пакетов, Клавиатурные сочетания.<br />
Я сделал перевод, думаю новичкам будет полезно</p></blockquote>
<p>Ещё бы! <a href="http://ulmencave.blogspot.com/2007/08/unixlinux-cheat-sheet.html">Заходим, качаем, благодарим</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rizn.org/osnovnyie-komandyi-linux/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Системное приглашение на прокачку</title>
		<link>http://blog.rizn.org/sistemnoe-priglashenie-na-prokachku/</link>
		<comments>http://blog.rizn.org/sistemnoe-priglashenie-na-prokachku/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 17:06:26 +0000</pubDate>
		<dc:creator>RiZN</dc:creator>
				<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://blog.rizn.org/sistemnoe-priglashenie-na-prokachku/</guid>
		<description><![CDATA[Хммм, блог так и не добавился (это я про прошлый пост). Ну да ладно. Что можно настроить &#8220;под себя&#8221; в линуксе? Да всё, что угодно. Одним таким способом тюнинга любимой оси мы и займёмся. Когда человеку надоедает работа в иксах, он перелезает в консоль и радуется большому спектру возможностей, высокой производительности и прочим преимуществом отсутствия [...]]]></description>
			<content:encoded><![CDATA[<p>Хммм, блог так и не добавился (это я про прошлый пост). Ну да ладно.<br />
Что можно настроить &#8220;под себя&#8221; в линуксе? Да всё, что угодно. Одним таким способом тюнинга любимой оси мы и займёмся. Когда человеку надоедает работа в иксах, он перелезает в консоль и радуется большому спектру возможностей, высокой производительности и прочим преимуществом отсутствия графических свистелок. А что главное в консоли? Системное приглашение, конечно же. Именно его-то мы и настроим. Работать будет в bash, пользуясь её распространенностью.<br />
Дефолтное системное приглашение выглядит примерно вот так:<br />
<code>user@host:directory$ -- для юзера и<br />
root@host:directory# -- для рута</code><br />
Скучно и уныло. Возможно, я всегда работаю на локальной машине и отображение хоста лишь занимает лишнее место и мешает. А может, мне хочется всегда быть в курсе точного времени, да и вообще, хочу красиво и в цвете! Нет ничего проще, если читать маны. Для таких же ленивцев, как и я, возникла идея написать русскоязычное пособие по настройке системного приглашения bash.<br />
<span id="more-48"></span><br />
Вид системного приглашения задается с помощью четырёх переменных:PS1, PS2, PS3 и PS4, которые, будучи заданы, влияют на:</p>
<ul>
<li>PS1 &#8211; Основное системное приглашение</li>
<li>PS2 &#8211; Дополнительное системное приглашение. По умолчанию, &#8220;>&#8221;</li>
<li>PS3 &#8211; Системное приглашение выбранной команды</li>
<li>PS4 &#8211; Значение этой переменной выводится до каждой команды, отображаемой bash во время исполнения чего-то. Первый символ переменной выводится для показания того, что процесс выполняется в несколько строк. По умолчанию, это &#8220;+&#8221;</li>
</ul>
<p>Начать стоит с того, что посмотреть текущее значение этих переменных, что очень просто<br />
<code>$ echo $PS1</code><br />
У меня вывелось примерно следующее:</p>
<blockquote><p>${debian_chroot:+($debian_chroot)}\u@\h:\w\$</p></blockquote>
<p>Ничего, изменим так, как нам нужно. Введём<br />
<code> PS1="Hello: "</code><br />
и увидим, как изменилось наше системное приглашение. Теперь пришло время заняться делом :) Вот список специальных символов, которые можно использовать:</p>
<ul>
<li><b>\a</b> :     ASCII-символ &#8220;bell&#8221;</li>
<li><b>\d</b> :     текущая дата в формате “день_недели месяц число” (например, “Птн Июн 22″)</li>
<li><b>\e</b> :     ASCII-символ &#8220;escape&#8221; (033)</li>
<li><b>\h</b> :     имя хоста до первой ‘.’</li>
<li><b>\H</b> :     имя хоста целиком</li>
<li><b>\j</b> :     количество задач, выполняемых в шелле</li>
<li><b>\l</b> :     базовое имя текущего терминала (или порядковый номер)</li>
<li><b>\n</b> :     перенос строки</li>
<li><b>\r</b> :     возврат каретки</li>
<li><b>\s</b> :     имя шелла</li>
<li><b>\t</b> :     текущее время в 24-часовом HH:MM:SS формате</li>
<li><b>\T</b> :     текущее время в 12-часовом HH:MM:SS формате</li>
<li><b>\@</b> :    текущее время в 12-часовом am/pm формате</li>
<li><b>\A</b> :     текущее время в 24-часовом HH:MM формате</li>
<li><b>\u</b> :     имя текущего пользователя</li>
<li><b>\v</b> :     номер версии баша</li>
<li><b>\V</b> :     номер релиза баша (версия + патчлевел)</li>
<li><b>\w</b> :     полный путь до текущей директории</li>
<li><b>\W</b> :     имя только текущей директории (без пути)</li>
<li><b>\!</b> :     номер текущей команды в хистори</li>
<li><b>\#</b> :     номер команды в списке команд</li>
<li><b>\$</b> :     если текущий UID равен 0, покажет #, иначе $</li>
<li><b>\nnn</b> :  покажет символ по его восьмеричному коду &#8220;nnn&#8221;</li>
<li><b>\\</b> :     бэкслэш</li>
<li><b>\[</b> :     начало последовательности непечатаемых символов</li>
<li><b>\]</b> :     конец последовательности непечатаемых символов</li>
</ul>
<p>Введем например следующую последовательность:<br />
<code>PS1="\t \d \w \$"</code><br />
и увидим</p>
<blockquote><p>20:56:35 Птн Июн 22 /etc/ $</p></blockquote>
<p>Конечно же, это не идеал системного приглашения, но уже интереснее. И последнее, что важно знать, что всё, что мы бы не наделали, сбросится после перезагрузки. Чтобы закрепить понравившийся вариант, надо открыть текстовым редактором файл /etc/bashrc (для изменения системного приглашения для рута) или ~/.bashrc (для конкретного юзера) и прописать туда значение переменной вместо стандартной.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rizn.org/sistemnoe-priglashenie-na-prokachku/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

