<?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>Unix4Me &#187; bash</title>
	<atom:link href="http://unix4me.ru/archives/tag/bash/feed" rel="self" type="application/rss+xml" />
	<link>http://unix4me.ru</link>
	<description>*nix</description>
	<lastBuildDate>Thu, 08 Apr 2010 11:22:56 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Защищаем флешки от вирусов Windows</title>
		<link>http://unix4me.ru/archives/466</link>
		<comments>http://unix4me.ru/archives/466#comments</comments>
		<pubDate>Thu, 28 May 2009 09:20:22 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[MacOS]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=466</guid>
		<description><![CDATA[Как известно вирусов для macos практически не существует - но в системе мелкомягких положение как раз обратное. Для защиты от вирусов ставятся антивирусы, делаются проверки всего компьютера, ставятся антивирусы на шлюзы и так далее (причем бывает доходит до полной переустановки системы). Один из популярных способов распространения вирусов - перенос на флешке и запуск из авторана [...]]]></description>
			<content:encoded><![CDATA[<p>Как известно вирусов для macos практически не существует - но в системе мелкомягких положение как раз обратное. Для защиты от вирусов ставятся антивирусы, делаются проверки всего компьютера, ставятся антивирусы на шлюзы и так далее (причем бывает доходит до полной переустановки системы). Один из популярных способов распространения вирусов - перенос на флешке и запуск из авторана (autorun.inf).<br />
<span id="more-466"></span><br />
Дабы избежать данной проблемы и обезопасить флешку была написана интересная инструкция которую можно найти <a href="http://foboss.livejournal.com/142662.html">здесь</a>. Инструкция позволяет из системы macos обезопасить флешку (которая форматирована под fat32) от дальнейшего заражения на windows машинах. привожу ее практически дословно.</p>
<p>Есть очень простой способ сбить с толку autorun-вирусы: необходимо на сменном носителе создать каталог с таким именем. Проблема в том, что вирусопейсатели тоже не сидят на месте и новые разновидности заразы данный каталог умеют удалять. Решение? Легче легкого! Вспомним врожденные ограничения ОС Windows, а именно невозможность работать с некоторыми именами файлов, например "con". Эта особенность знакома всем, кто застал командную строку MS-DOS. Linux и MacOS подобной рефлексией не страдают и этим можно воспользоваться.</p>
<p>Итоговый алгоритм таков:<br />
1) Удалить с USB-накопителя файл "autorun.inf"<br />
2) Создать папку "AUTORUN.INF" и поместить в нее файл с именем "con"</p>
<p>Ни Windows, ни вирусы такой каталог удалить не смогут. Задача решена. Однако руками это делать, разумеется, не стоит. Машина должна работать, а человек думать.</p>
<p>Автоматизируем процесс средствами Bash и AppleScript:<br />
Создаем в /usr/local/bin sh-скрипт с именем myUnvir.sh:</p>
<pre>#!/bin/sh

FULLPATH=$(echo $1 |sed -e 's/\/$//')
FSTYPE=$(mount | grep ${FULLPATH} | sed -e 's/.*(//' |sed -e 's/, .*//')

if [ ${FSTYPE}x != 'x' ] ; then
    if [ $FSTYPE = 'msdos' ] ; then
        if [ -d $FULLPATH ] ; then
	    rm -rf ${FULLPATH}/AUTORUN.INF
	    rm -rf ${FULLPATH}/autorun.inf
	    mkdir ${FULLPATH}/AUTORUN.INF
	    touch ${FULLPATH}/AUTORUN.INF/con
	fi
    fi
fi</pre>
<p>Создаем в /Library/Scripts/Folder Action Scripts/ applescript с названием antivirus (или любым другим) следующего содержания:</p>
<pre>on adding folder items to target_folder after receiving added_items
	repeat with added_item in added_items
		set thefullpath to POSIX path of added_item
		do shell script "/usr/local/bin/myUnvir.sh " &#038; thefullpath
	end repeat
	quit application "System Events"
end adding folder items to</pre>
<p>Вешаем этот скрипт на директорию /Volumes:<br />
Запускаем /Library/Scripts/Folder Actions/Attach Script to Folder.scpt<br />
Выбираем в меню наш antivirus.scpt и в следующем диалоговом окне нажимаем cmd-shift-g, в открывшейся строке пишем /Volumes</p>
<p>Еще раз выражаю благодарность тем людям которые написали эту статью.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/466/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Изменение кодировки текстового файла</title>
		<link>http://unix4me.ru/archives/181</link>
		<comments>http://unix4me.ru/archives/181#comments</comments>
		<pubDate>Mon, 08 Sep 2008 12:22:43 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[Hackint0sh]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cp-1251]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[koi8-r]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[windows-1251]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=181</guid>
		<description><![CDATA[Проблема кодировки текстового файла всегда была и насколько я понимаю будет еще долго. В винде используется стандарт - windows-1251(cp-1251), в большинстве юниксовых систем - koi8-r, в линуксовых системах, как правило - utf-8. В системе MacOS, как вы знаете, используется utf-8.

Когда работал в винде - использовал замечательную программу SkimEdit. В WinXP - можно заменить (в настройках [...]]]></description>
			<content:encoded><![CDATA[<p>Проблема кодировки текстового файла всегда была и насколько я понимаю будет еще долго. В винде используется стандарт - windows-1251(cp-1251), в большинстве юниксовых систем - koi8-r, в линуксовых системах, как правило - utf-8. В системе MacOS, как вы знаете, используется utf-8.<br />
<span id="more-181"></span><br />
Когда работал в винде - использовал замечательную программу <a href="http://www.skimsoft.com/">SkimEdit</a>. В WinXP - можно заменить (в настройках эта опция есть) стандартный блокнот этой прогой - тогда как в WinVista не советовал Вам этого делать - больше WinVista не загрузится корректно.</p>
<p>Но вот я перешел на MacOS и понял что на этой системе чтение текста в кодировки отличной от стандартной (utf-8) - настоящая проблема. Начал эксперименты с программами:</p>
<p>- Начал с популярной программы <a href="http://www.barebones.com/products/bbedit/">BBEdit</a> и также ее бесплатным аналогом <a href="http://www.barebones.com/products/textwrangler/">TextWrangler</a>. Пользовал довольно долго - но после последнего обновления избавился как от страшного сна. То что настройки сделаны просто через жопу, ftp и ssh клиенты мягко говоря странноваты - но после последнего апдейта посмотрел какие дополнительные символы вводит данный редактор при сохранение.... Короче отказался.</p>
<p>- Далее увидел графическую интерпретацию моего любимого терминального редактора vim - <a href="http://code.google.com/p/macvim/">Macvim</a>. Программа понравилась очень (живет до сих пор на компе). Куча приятных вещей: спокойно подхватила мой .vimrc из домашней директории, работает быстро, бесплатна и естественно все плюсы терминально vim'а. Но не совсем удобно открывать большие текстовые файлы (50-100 МБайт).</p>
<p>- Попробовал замечательную программу <a href="http://www.panic.com/coda/">Coda</a>. Удобна для работы через ftp и ssh, удобная настройка, приятно удаленно работать, как со своим сайтом, так и править скрипты. Таким образом программа оставила самые положительные эмоции - но опять же начинает жутко долго открывать текстовые файлы размером более 5 МБайт.</p>
<p>- Попробовал программу <a href="http://macromates.com/">TextMate</a>. Программа просто замечательная: работает бысто, гибкая в настройке, открывает файлы больших размеров просто моментально, куча мелких удобств. И опять минус - работает ТОЛЬКО с utf-8.</p>
<p>- Конечно использую встроеный в Leopard текстовый редактор <a href="http://en.wikipedia.org/wiki/TextEdit">TextEdit</a>. По умолчанию также открывает в utf-8, но при желании открывает и в других кодировках.</p>
<p>Далее подумал - может быть не пытаться открыть файл в другой кодировки, а перевести принудительно все текстовые фалы в utf-8. После некоторых раздумий решил написать скрипт для перевода файлов находящихся в нужной директории в кодировку utf-8. Сразу скажу спасибо <a href="http://www.macfaq.ru/index.php?action=artikel&#038;cat=60&#038;id=76&#038;artlang=ru">статье</a> - позволила съэкономит массу времени. Вот собственно скрипт:</p>
<p><code>#!/bin/bash<br />
#<br />
#<br />
if [ -z "$1" ]<br />
then<br />
echo 'Change encodings in /ПутьКПапкеПоУмолчанию/';<br />
find "/ПутьКПапкеПоУмолчанию/" -name "*.txt" | while read i; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; chmod 644 "$i"; done<br />
exit 1;<br />
else<br />
echo 'Change encodings in' $1;<br />
find "$1" -name "*.txt" | while read i; do iconv -f windows-1251 -t utf-8 "$i" >tmp; mv tmp "$i"; chmod 644 "$i"; done<br />
fi</code></p>
<p>Как видно из кода - скрипт запускатся с переменной. Переменная - это полный путь к папке с файлами необходимыми для перекодирования, либо, если переменная пустая, перекодировка совершается в ПапкеПоУмолчанию. Причем перекодируются все файлы с расширением txt, как в самой папке так и в подпапках.</p>
<p>Естественно если заменить windows-1251 на koi8-r будет происходить перекодирование из koi8-r в utf-8. Чтобы узнать все типы кодировок которые использует приложение iconv необходимо в терминале дать команду:</p>
<blockquote><p>iconv -l</p></blockquote>
<p>Далее - сохранил данный скрипт в файл с расширение .sh, в настройках сделал файл запускаемым и назначил открытие по умолчанию данного типа файлов программой Terminal.</p>
<p>Вот и все - теперь при необходимости перевожу нужные текстовые файлы в utf-8 и работаю с ними. Если необходимо отправлять файл пользователям винды - тем же скриптом (толька меняю местами utf-8 и windows-1251) перекодирую в windows-1251 и отравляю.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/181/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash на iPhone</title>
		<link>http://unix4me.ru/archives/4</link>
		<comments>http://unix4me.ru/archives/4#comments</comments>
		<pubDate>Fri, 20 Jun 2008 14:12:32 +0000</pubDate>
		<dc:creator>sart</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://unix4me.ru/?p=4</guid>
		<description><![CDATA[Как Вы уже знаете на iPhone стоит macos с моим любимым bash'ом, и естественно хочется использовать его полноценно. Если интересно - позже расскажу про программу под названием mobileterminal(term-vt100). Но сейчас хотелось бы дать маленький совет, как использовать свои настройки.

У любого пользователя bash есть файл с настройками, алиасами и остальным - .bashrc. Но для его использования [...]]]></description>
			<content:encoded><![CDATA[<p>Как Вы уже знаете на iPhone стоит macos с моим любимым bash'ом, и естественно хочется использовать его полноценно. Если интересно - позже расскажу про программу под названием mobileterminal(term-vt100). Но сейчас хотелось бы дать маленький совет, как использовать свои настройки.<br />
<span id="more-4"></span><br />
У любого пользователя bash есть файл с настройками, алиасами и остальным - .bashrc. Но для его использования - необходимо чтобы bash увидел и прочитал этот файл. Для этого в директории пользователя:</p>
<blockquote><p>root: /private/var/root/<br />
mobile: /private/var/mobile/</p></blockquote>
<p>создаем файл .profile в который добавляем:</p>
<blockquote><p>if [ -r ~/.bashrc ] ; then<br />
source ~/.bashrc<br />
fi</p></blockquote>
<p>и кладем туда наш .bashrc. Выставляем права нашего пользователя, перелогиниваемся и получаем свои настроки, алиасы и т.д.</p>
<p>Кстати, маленькая ремарка - по умолчанию уже используются алиасы:</p>
<blockquote><p>less='less -R'<br />
ls='ls -Fb --color=auto -T 0'</p></blockquote>
<p>Смотрите, кому интересно это использовать.</p>
]]></content:encoded>
			<wfw:commentRss>http://unix4me.ru/archives/4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
