<?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>Shalunix Blog</title>
	<atom:link href="http://www.artsoft.kz/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.artsoft.kz</link>
	<description>О Linux и не только</description>
	<lastBuildDate>Sat, 17 Sep 2011 11:36:35 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Чистим базы WordPress средствами SQL запросов.</title>
		<link>http://www.artsoft.kz/chistim-bazy-wordpress-sredstvami-sql-zaprosov/</link>
		<comments>http://www.artsoft.kz/chistim-bazy-wordpress-sredstvami-sql-zaprosov/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 11:48:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.artsoft.kz/?p=117</guid>
		<description><![CDATA[WordPress безусловно самый лучший движок для создания своего электронного дневника в интернете. Но как не прискорбно, и у него есть свои минусы. Самая главная проблема – это использование базы данных. Речь пойдет о том, как можно не прибегая к помощи &#8230; <a href="http://www.artsoft.kz/chistim-bazy-wordpress-sredstvami-sql-zaprosov/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.artsoft.kz/wp-content/uploads/2011/08/wordpress-must-dos.jpg"><img class="size-full wp-image-121 alignleft" title="wordpress-must-dos" src="http://www.artsoft.kz/wp-content/uploads/2011/08/wordpress-must-dos.jpg" alt="" width="300" height="278" /></a>WordPress безусловно самый лучший движок для создания своего электронного дневника в интернете. Но как не прискорбно, и у него есть свои минусы. Самая главная проблема – это использование базы данных.</p>
<p style="text-align: justify;">Речь пойдет о том, как можно не прибегая к помощи плагинов, самому без усилий оптимизировать базу данных WordPress всего за пару кликов. Прежде всего, зайдите в свою панель управления сайтом, а там и в PhpMyAdmin.</p>
<p style="text-align: justify;">Шаг 1. Удаляем резервные копии постов (т.н. ревизии) Наша проблема. WordPress устроен таким образом, что при написании новых постов (или редактировании старых) он периодически (примерно один раз в минуту) создает их резервные копии, что можно четко увидеть в самом низу страницы, при работе с новым или корректировкой старого поста. Но что самое интересное, так это то, что после публикации конечной версии поста, движок WordPress`а автоматически не удаляет эти резервные копии (post revisions). Получается, что при длительной работе с одним постом в базе данных может остаться от пары копий этого поста до бесконечности.</p>
<p style="text-align: justify;"><strong>Решение данной проблемы</strong>. В панели PhpMyAdmin своей базы данных переходим на вкладку SQL. Появится окно для создания запроса к БД. Вставляем нижеследующий запрос в окно и выполняем ее нажав кнопку OK:</p>
<p style="text-align: justify;">DELETE FROM wp_posts WHERE post_type = &laquo;revision&raquo;;</p>
<p style="text-align: justify;">Разъяснение запроса. Таблица wp_posts имеет поле post_type. Оно может иметь одно из следующих значений: «post», «page» или «revision». Т.к. мы хотим избавиться от всех резервных постов, то наше значение – «revision». Просто запускаем команду, чтобы удалить все элементы в таблице wp_posts, в которой поле post_type равно «revision».</p>
<p style="text-align: justify;">Шак 2. Удаляем СПАМные комментарии Наша проблема. Все комментарии, которые хотя бы однажды попадали на блог навсегда остаются в базе данных. Это касается одобренных, удаленных и спамных комментариев. Решение данной проблемы. В панели PhpMyAdmin своей базы данных переходим на вкладку SQL. Появится окно для создания запроса к БД. Вставляем нижеследующий запрос в окно и выполняем ее нажав кнопку OK:</p>
<p style="text-align: justify;">DELETE FROM wp_comments WHERE comment_approved = &#8216;spam&#8217;;</p>
<p style="text-align: justify;">На многих блогах имеется большое количество вообще не рассмотренных комментариев. Чтобы удалить их все, выполните следующую команду в том же окне, пердварительно стерев предыдущий запрос:</p>
<p style="text-align: justify;">DELETE FROM wp_comments WHERE comment_approved = &#8217;0&#8242;;</p>
<p style="text-align: justify;">Разъяснение запроса. Таблица wp_comments содержит поле с именем comment_approved. Именно здесь делается отметка для каждого комментария: одобрен – 1, удален или еще не одобрен – 0, спам – spam. Запустив поочередно эти команды (в одиночных ковычках меняем значения по очереди, т.е. сначала выполняем со значение ’0′, затем – ’1′ и напоследок – ‘spam’, таким образом мы удаляем все комментарии, которые отвечают нашим критериям. Строки базы данных WordPress по-умолчанию, т.е. создаются они при инсталяции движка. Многие плагины создают свои строки (таблицы) в базе данных WordPress и не удаляют их после своей деактивации. Проблема решается простым удалением таких строк вручную. А чтобы было легче найти лишние строки, вот вам список строк, которые должны быть в базе данных по-умолчанию: wp_comments</p>
<ul>
<li>wp_links</li>
<li>wp_options</li>
<li>wp_postmeta</li>
<li>wp_posts</li>
<li>wp_terms</li>
<li>wp_term_relationships</li>
<li>wp_term_taxonomy</li>
<li>wp_usermeta</li>
<li>wp_users</li>
</ul>
<p style="text-align: justify;"><strong>Внимание!</strong> Прежде чем удалять лишние строки убедитесь, что:</p>
<ol>
<li>Ваша база данных сохранена, – это на всякий случай, если у вас уже есть какой то контент наблоге.</li>
<li>Убедитесь, что плагин, таблицы которого вы хотите удалить, действительно уже не используется (деактивирован).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/chistim-bazy-wordpress-sredstvami-sql-zaprosov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu &amp; Grub</title>
		<link>http://www.artsoft.kz/ubuntu-grub/</link>
		<comments>http://www.artsoft.kz/ubuntu-grub/#comments</comments>
		<pubDate>Wed, 18 May 2011 03:17:17 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[Grub]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=111</guid>
		<description><![CDATA[Случилось так, что при установке Ubuntu 11.04 в загрузчике Grub потерялся пункт Windows. Обычно я считал это прерогативой винды, затирать загрузчик не заботясь о том, что там было до неё. Как всегда в Линукс всё до безобразия просто. Выполняем: # sudo grub &#8230; <a href="http://www.artsoft.kz/ubuntu-grub/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Случилось так, что при установке Ubuntu 11.04 в загрузчике Grub потерялся пункт Windows. Обычно я считал это прерогативой винды, затирать загрузчик не заботясь о том, что там было до неё. Как всегда в Линукс всё до безобразия просто. Выполняем:<br />
# sudo grub update<br />
и всё вернулось на свои места, т.е. появился пункт загрузки винды.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/ubuntu-grub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка Ubuntu (не видны разделы винчестера)</title>
		<link>http://www.artsoft.kz/ustanovka-ubuntu-ne-vidnyi-razdelyi-vinchestera/</link>
		<comments>http://www.artsoft.kz/ustanovka-ubuntu-ne-vidnyi-razdelyi-vinchestera/#comments</comments>
		<pubDate>Mon, 16 May 2011 10:15:46 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=108</guid>
		<description><![CDATA[Последние версии Ubuntu почему то напрочь отказывались при установке видеть разделы моего винчестера. Выяснилось, дело было в том, что я подключал винт через pci-sata контролер. Решением в данном случае оказалось удаление пакета dmraid и libdmraid перед установкой. Еще предлагалось выполнить &#8230; <a href="http://www.artsoft.kz/ustanovka-ubuntu-ne-vidnyi-razdelyi-vinchestera/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Последние версии Ubuntu почему то напрочь отказывались при установке видеть разделы моего винчестера. Выяснилось, дело было в том, что я подключал винт через pci-sata контролер. Решением в данном случае оказалось удаление пакета dmraid и libdmraid перед установкой. Еще предлагалось выполнить sudo dmraid -rE /devdisk, но удалять запись я не решился.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/ustanovka-ubuntu-ne-vidnyi-razdelyi-vinchestera/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проверка домена в Yandex</title>
		<link>http://www.artsoft.kz/proverka-domena-v-yandex/</link>
		<comments>http://www.artsoft.kz/proverka-domena-v-yandex/#comments</comments>
		<pubDate>Fri, 13 May 2011 19:33:21 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Yandex]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[yandex]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=105</guid>
		<description><![CDATA[Проверка количества страниц, клейя, ТИЦ. YAP:   http://yandex.ru/yandsearch?serverurl=www.bla.com&#38;lr=213 Clue:  http://bar-navig.yandex.ru/u?ver=2&#38;show=32&#38;url=http://bla.com ТИЦ:  http://search.yaca.yandex.ru/yca/cy/ch/bla.com/]]></description>
			<content:encoded><![CDATA[<p>Проверка количества страниц, клейя, ТИЦ.<br />
YAP:   http://yandex.ru/yandsearch?serverurl=www.bla.com&amp;lr=213</p>
<p>Clue:  http://bar-navig.yandex.ru/u?ver=2&amp;show=32&amp;url=http://bla.com</p>
<p>ТИЦ:  http://search.yaca.yandex.ru/yca/cy/ch/bla.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/proverka-domena-v-yandex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Русификаия FireFox4</title>
		<link>http://www.artsoft.kz/rusifikaiya-firefox4/</link>
		<comments>http://www.artsoft.kz/rusifikaiya-firefox4/#comments</comments>
		<pubDate>Fri, 13 May 2011 19:17:06 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[FireFox]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=95</guid>
		<description><![CDATA[Для русификации 4-ой версии лисы заходим: http://releases.mozilla.org/pub/mozilla.org/firefox/releases/4.0.1/linux-i686/xpi/ Жмем на ru.xpi, подтверждаем. Всё, лиса русифицирована. Соответственно если версия отличается просто выбираем нужную версию и далее как описано выше.]]></description>
			<content:encoded><![CDATA[<p>Для русификации 4-ой версии лисы заходим:</p>
<p>http://releases.mozilla.org/pub/mozilla.org/firefox/releases/4.0.1/linux-i686/xpi/</p>
<p>Жмем на ru.xpi, подтверждаем. Всё, лиса русифицирована.</p>
<p>Соответственно если версия отличается просто выбираем нужную версию и далее как описано выше.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/rusifikaiya-firefox4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux. WebCam. Skype.</title>
		<link>http://www.artsoft.kz/linux-webcam-skype/</link>
		<comments>http://www.artsoft.kz/linux-webcam-skype/#comments</comments>
		<pubDate>Sat, 11 Dec 2010 07:23:32 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[Ubuntu. WebCam]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=84</guid>
		<description><![CDATA[У многих существуют проблемы с настройкой вебкамеры под Линукс (под виндой, как правило, все работает отлично). Я использую вебкамеру Genius Eye 110 и под Линукс (Ubuntu 10.10) она отображает все в темно-коричневых тонах, а в Skype &#171;проверка&#187; вообще не работает. &#8230; <a href="http://www.artsoft.kz/linux-webcam-skype/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>У многих существуют проблемы с настройкой вебкамеры под Линукс (под виндой, как правило, все работает отлично). Я использую вебкамеру Genius Eye 110 и под Линукс (Ubuntu 10.10) она отображает все в темно-коричневых тонах, а в Skype &laquo;проверка&raquo; вообще не работает. Проблема решается следующим образом:</p>
<ol>
<li>Заходим в &laquo;Система &#8211; Параметры &#8211; Главное меню, находим скайп и меняем команду skype на  <strong>bash -c &#8216;LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype&#8217;<br />
</strong></li>
<li>Запускаем через консоль <strong>v4l2ucp </strong>и регуляторами добиваемся наилудшего изображения.  У меня вот такие настройки:</li>
</ol>
<p><noindex><a href="http://www.artsoft.kz/8a8dff/CkBGSFkaHhVcG1QNDgUXCFtRVkkTQkxXWl9HUQ9MThASWF1ZB0YeVARSBk5QUBYWUFVaBwkcEVpS/"><img class="aligncenter size-full wp-image-85" title="webcam" src="http://www.artsoft.kz/8a8dff/CkBGSFkaHhVcG1QNDgUXCFtRVkkTQkxXWl9HUQ9MThASWF1ZB0YeVARSBk5QUBYWUFVaBwkcEVpS/" alt="" width="588" height="562" /></a></noindex></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/linux-webcam-skype/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Заголовки окон в Linux.</title>
		<link>http://www.artsoft.kz/effektyi-rabochego-stola/</link>
		<comments>http://www.artsoft.kz/effektyi-rabochego-stola/#comments</comments>
		<pubDate>Tue, 12 Oct 2010 10:28:51 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Compiz]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[рабочий стол]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=71</guid>
		<description><![CDATA[Как то экспериментируя с эффектами рабочего стола в Линукс у меня пропали заголовки окон, окна не перетаскивались между рабочими местами. Почитал в инете как это исправить, там предлагалось различными методами через команды консоли их восстановление. Затем вновь заголовки пропадали или перебивались другие &#8230; <a href="http://www.artsoft.kz/effektyi-rabochego-stola/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Как то экспериментируя с эффектами рабочего стола в Линукс у меня пропали заголовки окон, окна не перетаскивались между рабочими местами. Почитал в инете как это исправить, там предлагалось различными методами через команды консоли их восстановление. Затем вновь заголовки пропадали или перебивались другие настройки. Для себя всё это решил следующим образом:</p>
<p style="text-align: left;">1.Система-&gt;Параметры-&gt;Внешний вид-&gt;Визуальные эффекты-включить &laquo;стандартный&raquo; или &laquo;экстра&raquo;</p>
<p style="text-align: left;">2.Система-&gt;Параметры-&gt;Менеджер настройки CompizConfig (если не установлен, установить sudo apt-get install compizconfig-settings-manager) -&gt;Эффекты-&gt; Оформление окна-поставить галку затем нажать на кнопку в открывшейся вкладке &laquo;Общие&raquo; в строке &laquo;Команда&raquo; сбросить настройку на значение по умолчанию (крестик с права) в моем случае это значение &laquo;/usr/bin/compiz-decorator&raquo;.</p>
<p style="text-align: justify;">Всё заработало, окна перетаскиваются, куб вращается, заголовки присутствуют.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/effektyi-rabochego-stola/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Консоль Linux.</title>
		<link>http://www.artsoft.kz/konsol-linux/</link>
		<comments>http://www.artsoft.kz/konsol-linux/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 20:06:38 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Consol]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=67</guid>
		<description><![CDATA[Команды Linux Системная информация arch отобразить архитектуру компьютера uname -m uname -r отобразить используемую версию ядра dmidecode -q показать аппаратные системные компоненты &#8211; (SMBIOS / DMI) hdparm -i /dev/hda вывести характеристики жесткого диска hdparm -tT /dev/sda протестировать производительность чтения данных &#8230; <a href="http://www.artsoft.kz/konsol-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Команды Linux<br />
</strong><br />
<span style="font-size: 12px;"> </span></p>
<div class="smallfont" style="margin-bottom: 0px;"><a onclick="obj=this.parentNode.parentNode.getElementsByTagName('div')[1].getElementsByTagName('div')[0].style; tmp=(obj.display!='') ? '' : 'none'; obj.display=tmp; return true;"><strong>Системная информация</strong></a></div>
<div class="alt2" style="margin: 0px; padding: 0px;">
<div><span style="color: olive;"><br />
arch отобразить архитектуру компьютера<br />
uname -m<br />
uname -r отобразить используемую версию ядра<br />
dmidecode -q показать аппаратные системные компоненты &#8211; (SMBIOS / DMI)<br />
hdparm -i /dev/hda вывести характеристики жесткого диска<br />
hdparm -tT /dev/sda протестировать производительность чтения данных с жесткого диска<br />
cat /proc/cpuinfo отобразить информацию о процессоре<br />
cat /proc/interrupts показать прерывания<br />
cat /proc/meminfo проверить использование памяти<br />
cat /proc/swaps показать файл(ы) подкачки<br />
cat /proc/version вывести версию ядра<br />
cat /proc/net/dev показать сетевые интерфейсы и статистику по ним<br />
cat /proc/mounts отобразить смонтированные файловые системы<br />
lspci -tv показать в виде дерева PCI устройства<br />
lsusb -tv показать в виде дерева USB устройства<br />
date вывести системную дату<br />
cal 2009 вывести таблицу-календарь 2009-го года<br />
date 111020002009.00 установить системные дату и время ММДДЧЧммГГГГ.СС<br />
(МесяцДеньЧасМинутыГод.Секунды)<br />
clock -w сохранить системное время в BIOS <span id="more-67"></span></span></div>
</div>
<p><strong>Остановка системы</strong></p>
<p>shutdown -h now Остановить систему<br />
init 0<br />
telinit 0<br />
shutdown -h hours:minutes &amp; запланировать остановку системы на указанное время<br />
shutdown -c отменить запланированную по расписанию остановку системы<br />
shutdown -r now перегрузить систему<br />
reboot<br />
logout выйти из системы</p>
<p><strong>Файлы и директории</strong></p>
<p>cd /home перейти в директорию &#8216;/home&#8217;<br />
cd .. перейти в директорию уровнем выше<br />
cd ../.. перейти в директорию двумя уровнями выше<br />
cd перейти в домашнюю директорию<br />
cd ~user перейти в домашнюю директорию пользователя user<br />
cd &#8211; перейти в директорию, в которой находились до перехода в текущую директорию<br />
pwd показать текущюю директорию<br />
ls отобразить содержимое текущей директории<br />
ls -F отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих тип<br />
ls -l показать детализированое представление файлов и директорий в текущей директории<br />
ls -a показать скрытые файлы и директории в текущей директории<br />
ls *[0-9]* показать файлы и директории содержащие в имени цифры<br />
tree показать дерево файлов и директорий, начиная от корня (/)<br />
lstree<br />
mkdir dir1 создать директорию с именем &#8216;dir1&#8242;<br />
mkdir dir1 dir2 создать две директории одновременно<br />
mkdir -p /tmp/dir1/dir2 создать дерево директорий<br />
rm -f file1 удалить файл с именем &#8216;file1&#8242;<br />
rmdir dir1 удалить директорию с именем &#8216;dir1&#8242;<br />
rm -rf dir1 удалить директорию с именем &#8216;dir1&#8242; и рекурсивно всё её содержимое<br />
rm -rf dir1 dir2 удалить две директории и рекурсивно их содержимое<br />
mv dir1 new_dir переименовать или переместить файл или директорию<br />
cp file1 file2 сопировать файл file1 в файл file2<br />
cp dir/* . копировать все файлы директории dir в текущую директорию<br />
cp -a /tmp/dir1 . копировать директорию dir1 со всем содержимым в текущую директорию<br />
cp -a dir1 dir2 копировать директорию dir1 в директорию dir2<br />
ln -s file1 lnk1 создать символическую ссылку на файл или директорию<br />
ln file1 lnk1 создать &laquo;жёсткую&raquo; (физическую) ссылку на файл или директорию<br />
touch -t 0712250000 fileditest модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)</p>
<p><strong>Поиск файлов</strong></p>
<p>find / -name file1 найти файлы и директории с именем file1. Поиск начать с корня (/)<br />
find / -user user1 найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)<br />
find /home/user1 -name &laquo;*.bin&raquo; Найти все файлы и директории, имена которых оканчиваются на &#8216;.<br />
bin&#8217;. Поиск начать с &#8216;/ home/user1&#8242;<br />
find /usr/bin -type f -atime +100 найти все файлы в &#8216;/usr/bin&#8217;, время последнего обращения к которым более 100 дней<br />
find /usr/bin -type f -mtime -10 найти все файлы в &#8216;/usr/bin&#8217;, созданные или изменённые в течении последних 10 дней<br />
find / -name *.rpm -exec chmod 755 &#8216;{}&#8217; \; найти все фалы и директории, имена которых оканчиваются на &#8216;.rpm&#8217;, и изменить права доступа к ним<br />
find / -xdev -name &laquo;*.rpm&raquo; найти все фалы и директории, имена которых оканчиваются на &#8216;.rpm&#8217;, игнорируя съёмные носители, такие как cdrom, floppy и т.п.<br />
locate &laquo;*.ps&raquo; найти все файлы, сожержащие в имени &#8216;.ps&#8217;. Предварительно рекомендуется выполнить команду &#8216;updatedb&#8217;<br />
whereis halt показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу &#8216;halt&#8217;<br />
which halt отображает полный путь к файлу &#8216;halt&#8217;</p>
<p><strong>Монтирование файловых систем</strong></p>
<p>mount /dev/hda2 /mnt/hda2 монтирует раздел &#8216;hda2&#8242; в точку монтирования &#8216;/mnt/hda2&#8242;. Убедитесь в наличии директории-точки монтирования &#8216;/mnt/hda2&#8242;<br />
umount /dev/hda2 размонтирует раздел &#8216;hda2&#8242;. Перед выполнением, покиньте &#8216;/mnt/hda2&#8242;<br />
fuser -km /mnt/hda2 принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем<br />
umount -n /mnt/hda2 выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты &laquo;только чтение&raquo; или недостаточно места на диске<br />
mount /dev/fd0 /mnt/floppy монтировать флоппи-диск<br />
mount /dev/cdrom /mnt/cdrom монтировать CD или DVD<br />
mount /dev/hdc /mnt/cdrecorder монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)<br />
mount -o loop file.iso /mnt/cdrom смонтировать ISO-образ<br />
mount -t vfat /dev/hda5 /mnt/hda5 монтировать файловую систему Windows FAT32<br />
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share монтировать сетевую файловую систему Windows (SMB/CIFS)<br />
mount -o bind /home/user/prg /var/ftp/user &laquo;монтирует&raquo; директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в &laquo;песочнице&raquo; (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user</p>
<p><strong>Дисковое пространство</strong></p>
<p>df -h отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)<br />
ls -lSr |more выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр<br />
du -sh dir1 подсчитывает и выводит размер, занимаемый директорией &#8216;dir1&#8242; (Прим.переводчика. ключ -h работает не во всех *nix системах)<br />
du -sk * | sort -rn отображает размер и имена файлов и директорий, с соритровкой по размеру<br />
rpm -q -a &#8211;qf &#8216;%10{SIZE}t%{NAME}n&#8217; | sort -k1,1n показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)<br />
dpkg-query -W -f=&#8217;${Installed-Size;10}t${Package}n&#8217; | sort -k1,1n показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)</p>
<p><strong>Пользователи и группы</strong></p>
<p>groupadd group_name создать новую группу с именем group_name<br />
groupdel group_name удалить группу group_name<br />
groupmod -n new_group_name old_group_name переименовать группу old_group_name в new_group_name<br />
useradd -c &laquo;Nome Cognome&raquo; -g admin -d /home/user1 -s /bin/bash user1 создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell&#8217;а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome<br />
useradd user1 создать пользователя user1<br />
userdel -r user1 удалить пользователя user1 и его домашний каталог<br />
usermod -c &laquo;User FTP&raquo; -g system -d /ftp/user1 -s /bin/nologin user1 изменить атрибуты пользователя<br />
passwd сменить пароль<br />
passwd user1 сменить пароль пользователя user1 (только root)<br />
chage -E 2005-12-31 user1 установить дату окончания действия учётной записи пользователя user1<br />
pwck проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow<br />
grpck проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group newgrp [-] group_name изменяет первичную группу текущего пользователя. Если указать &laquo;-&raquo;, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd</p>
<p><strong>Выставление/изменение полномочий на файлы</strong></p>
<p>ls -lh просмотр полномочий на файлы и директории в текущей директории<br />
ls /tmp | pr -T5 -W$COLUMNS вывести содержимое директории /tmp и разделить вывод на пять колонок<br />
chmod ugo+rwx directory1 добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) &#8211; всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1<br />
chmod go-rwx directory1 отобрать у группы и всех остальных все полномочия на директорию directory1.<br />
chown user1 file1 назначить владельцем файла file1 пользователя user1<br />
chown -R user1 directory1 назначить рекурсивно владельцем директории directory1 пользователя user1<br />
chgrp group1 file1 сменить группу-владельца файла file1 на group1<br />
chown user1:group1 file1 сменить владельца и группу владельца файла file1<br />
find / -perm -u+s найти, начиная от корня, все файлы с выставленным SUID<br />
chmod u+s /bin/binary_file назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.<br />
chmod u-s /bin/binary_file снять SUID-бит с файла /bin/binary_file.<br />
chmod g+s /home/public назначить SGID-бит директории /home/public.<br />
chmod g-s /home/public снять SGID-бит с директории /home/public.<br />
chmod o+t /home/public назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам<br />
chmod o-t /home/public снять STIKY-бит с директории /home/public</p>
<p><strong>Специальные атрибуты файлов</strong></p>
<p>chattr +a file1 позволить открывать файл на запись только в режиме добавления<br />
chattr +c file1 позволяет ядру автоматически сжимать/разжимать содержимое файла.<br />
chattr +d file1 указавет утилите dump игнорировать данный файл во время выполнения backup&#8217;а<br />
chattr +i file1 делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.<br />
chattr +s file1 позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных.<br />
chattr +S file1 указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync<br />
chattr +u file1 данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить lsattr показать атрибуты файлов</p>
<p><strong>Архивирование и сжатие файлов</strong></p>
<p>bunzip2 file1.bz2 разжимает файл &#8216;file1.bz2&#8242;<br />
gunzip file1.gz разжимает файл &#8216;file1.gz&#8217;<br />
gzip file1 сжимает файл &#8216;file1&#8242;<br />
bzip2 file1 сжимает файл &#8216;file1&#8242;<br />
gzip -9 file1 сжать файл file1 с максимальным сжатием<br />
rar a file1.rar test_file создать rar-архив &#8216;file1.rar&#8217; и включить в него файл test_file<br />
rar a file1.rar file1 file2 dir1 создать rar-архив &#8216;file1.rar&#8217; и включить в него file1, file2 и dir1<br />
rar x file1.rar распаковать rar-архив<br />
unrar x file1.rar<br />
tar -cvf archive.tar file1 создать tar-архив archive.tar, содержащий файл file1<br />
tar -cvf archive.tar file1 file2 dir1 создать tar-архив archive.tar, содержащий файл file1, file2 и dir1<br />
tar -tf archive.tar показать содержимое архива<br />
tar -xvf archive.tar распаковать архив<br />
tar -xvf archive.tar -C /tmp распаковать архив в /tmp<br />
tar -cvfj archive.tar.bz2 dir1 создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)<br />
tar -xvfj archive.tar.bz2 разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)<br />
tar -cvfz archive.tar.gz dir1 создать архив и сжать его с помощью gzip<br />
tar -xvfz archive.tar.gz разжать архив и распаковать его<br />
zip file1.zip file1 создать сжатый zip-архив<br />
zip -r file1.zip file1 file2 dir1 создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий<br />
unzip file1.zip разжать и распаковать zip-архив</p>
<p><strong>RPM пакеты (Fedora, Red Hat и тому подобное)</strong></p>
<p>rpm -ivh package.rpm установить пакет с выводом сообщений и прогресс-бара<br />
rpm -ivh &#8211;nodeps package.rpm установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей<br />
rpm -U package.rpm обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен<br />
rpm -F package.rpm обновить пакет только если он установлен<br />
rpm -e package_name.rpm удалить пакет<br />
rpm -qa отобразить список всех пакетов, установленных в системе<br />
rpm -qa | grep httpd среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени &laquo;httpd&raquo;<br />
rpm -qi package_name вывести информацию о конкрентном пакете<br />
rpm -qg &laquo;System Environment/Daemons&raquo; отобразить пакеты входящие в группу пакетов<br />
rpm -ql package_name вывести список файлов, входящих в пакет<br />
rpm -qc package_name вывести список конфигурационных файлов, входящих в пакет<br />
rpm -q package_name &#8211;whatrequires вывести список пакетов, необходимых для установки конкретного пакета по зависимостям<br />
rpm -q package_name &#8211;whatprovides show capability provided by a rpm package<br />
rpm -q package_name &#8211;scripts отобразит скрипты, запускаемые при установке/удалении пакета<br />
rpm -q package_name &#8211;changelog вывести историю ревизий пакета<br />
rpm -qf /etc/httpd/conf/httpd.conf проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.<br />
rpm -qp package.rpm -l отображает список файлов, входящих в пакет, но ещё не установленных в систему<br />
rpm &#8211;import /media/cdrom/RPM-GPG-KEY ипортировать публичный ключ цифровой подписи<br />
rpm &#8211;checksig package.rpm проверит подпись пакета<br />
rpm -qa gpg-pubkey проверить целостность установленного содержимого пакета<br />
rpm -V package_name проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета<br />
rpm -Va проверить содержимое всех пакетов в системе. Выполняйте с осторожностью!<br />
rpm -Vp package.rpm проверить пакет, который ещё не установлен в систему<br />
rpm2cpio package.rpm | cpio &#8211;extract &#8211;make-directories *bin* извлечь из пакета файлы содержащие в своём имени bin<br />
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm установить пакет, собранный из исходных кодов<br />
rpmbuild &#8211;rebuild package_name.src.rpm собрать пакет из исходных кодов<br />
YUM &#8211; средство обновления пакетов(Fedora, RedHat и тому подобное)<br />
yum install package_name закачать и установать пакет<br />
yum update обновить все пакеты, установленные в систему<br />
yum update package_name обновить пакет<br />
yum remove package_name удалить пакет<br />
yum list вывести список всех пакетов, установленных в систему<br />
yum search package_name найти пакет в репозитории<br />
yum clean packages очисть rpm-кэш, удалив закачанные пакеты<br />
yum clean headers удалить все заголовки файлов, которые система использует для разрешения зависимостей<br />
yum clean all очисть rpm-кэш, удалив закачанные пакеты и заголовки</p>
<p><strong>DEB пакеты (Debian, Ubuntu и тому подобное)</strong></p>
<p>dpkg -i package.deb установить / обновить пакет<br />
dpkg -r package_name удалить пакет из системы<br />
dpkg -l показать все пакеты, установленные в систему<br />
dpkg -l | grep httpd среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени &laquo;httpd&raquo;<br />
dpkg -s package_name отобразить инфрмацию о конкретном пакете<br />
dpkg -L package_name вывести список файлов, входящих в пакет, установленный в систему<br />
dpkg &#8211;contents package.deb отобразить список файлов, входящих в пакет, который ешё не установлен в систему<br />
dpkg -S /bin/ping найти пакет, в который входит указанный файл.<br />
APT &#8211; средство управление пакетами (Debian, Ubuntu и тому подобное)<br />
apt-get install package_name установить / обновить пакет<br />
apt-cdrom install package_name установить / обновить пакет с cdrom&#8217;а<br />
apt-get update получить обновлённые списки пакетов<br />
apt-get upgrade обновить пакеты, установленные в систему<br />
apt-get remove package_name удалить пакет, установленный в систему с сохранением файлов конфигурации<br />
apt-get purge package_name удалить пакет, установленный в систему с удалением файлов конфигурации<br />
apt-get check проверить целостность зависимостей<br />
apt-get clean удалить загруженные архивные файлы пакетов<br />
apt-get autoclean удалить старые загруженные архивные файлы пакетов</p>
<p><strong>Просмотр содержимого файлов</strong></p>
<p>cat file1 вывести содержимое файла file1 на стандартное устройсво вывода<br />
tac file1 вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)<br />
more file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода<br />
less file1 постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.<br />
head -2 file1 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк<br />
tail -2 file1 вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк<br />
tail -f /var/log/messages выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.</p>
<p><strong>Манипуляции с текстом</strong></p>
<p>cat file_originale | [operation: sed, grep, awk, grep и т.п.] &gt; result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый<br />
cat file_originale | [operazione: sed, grep, awk, grepи т.п.] &gt;&gt; result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан<br />
grep Aug /var/log/messages из файла &#8216;/var/log/messages&#8217; отобрать и вывести на стандартное устройство вывода строки, содержащие &laquo;Aug&raquo;<br />
grep ^Aug /var/log/messages из файла &#8216;/var/log/messages&#8217; отобрать и вывести на стандартное устройство вывода строки, начинающиеся на &laquo;Aug&raquo;<br />
grep [0-9] /var/log/messages из файла &#8216;/var/log/messages&#8217; отобрать и вывести на стандартное устройство вывода строки, содержащие цифры<br />
grep Aug -R /var/log/* отобрать и вывести на стандартное устройство вывода строки, содержащие &laquo;Aug&raquo;, во всех файлах, находящихся в директории /var/log и ниже<br />
sed &#8216;s/stringa1/stringa2/g&#8217; example.txt в файле example.txt заменить &laquo;string1&#8243; на &laquo;string2&#8243;, результат вывести на стандартное устройство вывода.<br />
sed &#8216;/^$/d&#8217; example.txt удалить пустые строки из файла example.txt<br />
sed &#8216;/ *#/d; /^$/d&#8217; example.txt удалить пустые строки и комментарии из файла example.txt<br />
echo &#8216;esempio&#8217; | tr &#8216;[:lower:]&#8216; &#8216;[:upper:]&#8216; преобразовать символы из нижнего регистра в верхний<br />
sed -e &#8217;1d&#8217; result.txt удалить первую строку из файла example.txt<br />
sed -n &#8216;/string1/p&#8217; отобразить только строки содержашие &laquo;string1&#8243;<br />
sed -e &#8216;s/ *$//&#8217; example.txt удалить пустые символы в в конце каждой строки<br />
sed -e &#8216;s/string1//g&#8217; example.txt удалить строку &laquo;string1&#8243; из текста не изменяя всего остального<br />
sed -n &#8217;1,8p;5q&#8217; example.txt взять из файла с первой по восьмую строки и из них вывести первые пять<br />
sed -n &#8217;5p;5q&#8217; example.txt вывести пятую строку<br />
sed -e &#8216;s/0*/0/g&#8217; example.txt заменить последовательность из любого количества нулей одним нулём<br />
cat -n file1 пронумеровать строки при выводе содержимого файла<br />
cat example.txt | awk &#8216;NR%2==1&#8242; при выводе содержимого файла, не выводить чётные строки файла<br />
echo a b c | awk &#8216;{print $1}&#8217; вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции<br />
echo a b c | awk &#8216;{print $1,$3}&#8217; вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции<br />
paste file1 file2 объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m<br />
paste -d &#8216;+&#8217; file1 file2 объединить содержимое file1 и file2 в виде таблицы с разделителем &laquo;+&raquo;<br />
sort file1 file2 отсортировать содержимое двух файлов<br />
sort file1 file2 | uniq отсортировать содержимое двух файлов, не отображая повторов<br />
sort file1 file2 | uniq -u отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)<br />
sort file1 file2 | uniq -d отсортировать содержимое двух файлов, отображая только повторяющиеся строки<br />
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу &#8216;file1&#8242;<br />
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу &#8216;file2&#8242;<br />
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах</p>
<p><strong>Преобразование наборов символов и файловых форматов</strong></p>
<p>dos2unix filedos.txt fileunix.txt конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)<br />
unix2dos fileunix.txt filedos.txt конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)<br />
recode ..HTML &lt; page.txt &gt; page.html конвертировать содержимое тестового файла page.txt в html-файл page.html<br />
recode -l | more вывести список доступных форматов</p>
<p><strong>Анализ файловых систем</strong></p>
<p>badblocks -v /dev/hda1 проверить раздел hda1 на наличие bad-блоков<br />
fsck /dev/hda1 проверить/восстановить целостность linux-файловой системы раздела hda1<br />
fsck.ext2 /dev/hda1 проверить/восстановить целостность файловой системы ext2 раздела hda1<br />
e2fsck /dev/hda1<br />
e2fsck -j /dev/hda1 проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же<br />
fsck.ext3 /dev/hda1 проверить/восстановить целостность файловой системы ext3 раздела hda1<br />
fsck.vfat /dev/hda1 проверить/восстановить целостность файловой системы fat раздела hda11<br />
fsck.msdos /dev/hda1<br />
dosfsck /dev/hda1</p>
<p><strong>Форматирование файловых систем</strong></p>
<p>mkfs /dev/hda1 создать linux-файловую систему на разделе hda1<br />
mke2fs /dev/hda1 создать файловую систему ext2 на разделе hda1<br />
mke2fs -j /dev/hda1 создать журналирующую файловую систему ext3 на разделе hda1<br />
mkfs -t vfat 32 -F /dev/hda1 создать файловую систему FAT32 на разделе hda1<br />
fdformat -n /dev/fd0 форматирование флоппи-диска без проверки<br />
mkswap /dev/hda3 создание swap-пространства на разделе hda3</p>
<p><strong>swap-пространство</strong></p>
<p>mkswap /dev/hda3 создание swap-пространства на разделе hda3<br />
swapon /dev/hda3 активировать swap-пространство, расположенное на разделе hda3<br />
swapon /dev/hda2 /dev/hdb3 активировать swap-пространства, расположенные на разделах hda2 и hdb3</p>
<p><strong>Создание резервных копий (backup)</strong></p>
<p>dump -0aj -f /tmp/home0.bak /home создать полную резервную копию директории /home в файл /tmp/home0.bak<br />
dump -1aj -f /tmp/home0.bak /home создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak<br />
restore -if /tmp/home0.bak восстановить из резервной копии /tmp/home0.bak<br />
rsync -rogpav &#8211;delete /home /tmp синхронизировать /tmp с /home<br />
rsync -rogpav -e ssh &#8211;delete /home ip_address:/tmp синхронизировать через SSH-туннель<br />
rsync -az -e ssh &#8211;delete ip_addr:/home/public /home/local синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием<br />
rsync -az -e ssh &#8211;delete /home/local ip_addr:/home/public синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием<br />
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr &#8216;dd of=hda.gz&#8217; сделать &laquo;слепок&raquo; локального диска в файл на удалённом компьютере через ssh-туннель<br />
tar -Puf backup.tar /home/user создать инкрементальную резервную копию директории &#8216;/home/user&#8217; в файл backup.tar с сохранением полномочий<br />
( cd /tmp/local/ &amp;&amp; tar c . ) | ssh -C user@ip_addr &#8216;cd /home/share/ &amp;&amp; tar x -p&#8217; копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/<br />
( tar c /home ) | ssh -C user@ip_addr &#8216;cd /home/backup-home &amp;&amp; tar x -p&#8217; копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home<br />
tar cf &#8211; . | (cd /tmp/backup ; tar xf &#8211; ) копирование одной директории в другую с сохранением полномочий и линков<br />
find /home/user1 -name &#8216;*.txt&#8217; | xargs cp -av &#8211;target-directory=/home/backup/ &#8211;parents поиск в /home/user1 всех файлов, имена которых оканчиваются на &#8216;.txt&#8217;, и копирование их в другую директорию<br />
find /var/log -name &#8216;*.log&#8217; | tar cv &#8211;files-from=- | bzip2 &gt; log.tar.bz2 поиск в /var/log всех файлов, имена которых оканчиваются на &#8216;.log&#8217;, и создание bzip-архива из них<br />
dd if=/dev/hda of=/dev/fd0 bs=512 count=1 создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск<br />
dd if=/dev/fd0 of=/dev/hda bs=512 count=1 восстановить MBR с флоппи-диска на /dev/hda</p>
<p><strong>CDROM</strong></p>
<p>cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force clean a rewritable cdrom<br />
mkisofs /dev/cdrom &gt; cd.iso create an iso image of cdrom on disk<br />
mkisofs /dev/cdrom | gzip &gt; cd_iso.gz create a compressed iso image of cdrom on disk<br />
mkisofs -J -allow-leading-dots -R -V &laquo;Label CD&raquo; -iso-level 4 -o ./cd.iso data_cd create an iso image of a directory<br />
cdrecord -v dev=/dev/cdrom cd.iso burn an ISO image<br />
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom &#8211; burn a compressed ISO image<br />
mount -o loop cd.iso /mnt/iso mount an ISO image<br />
cd-paranoia -B rip audio tracks from a CD to wav files<br />
cd-paranoia &#8212; &laquo;-3&#8243; rip first three audio tracks from a CD to wav files<br />
cdrecord &#8211;scanbus scan bus to identify the channel scsi</p>
<p><strong>Сеть (LAN и WiFi)</strong></p>
<p>ifconfig eth0 показать конфигурацию сетевого интерфейса eth0<br />
ifup eth0 активировать (поднять) интерфейс eth0<br />
ifdown eth0 деактивировать (опустить) интерфейс eth0<br />
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 выставить интерфейсу eth0 ip-адрес и маску подсети<br />
ifconfig eth0 promisc перевести интерфейс eth0 в promiscuous-режим для &laquo;отлова&raquo; пакетов (sniffing)<br />
ifconfig eth0 -promisc отключить promiscuous-режим на интерфейсе eth0<br />
dhclient eth0 активировать интерфейс eth0 в dhcp-режиме.<br />
route -n вывести локальную таблицу маршрутизации<br />
netstat -rn route add -net 0/0 gw IP_Gateway задать ip-адрес шлюза по умолчанию (default gateway)<br />
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1<br />
route del 0/0 gw IP_gateway удалить ip-адрес шлюза по умолчанию (default gateway)<br />
echo &laquo;1&#8243; &gt; /proc/sys/net/ipv4/ip_forward разрешить пересылку пакетов (forwarding) hostname отобразить имя компьютера<br />
host http://www.linuxguide.it разрешить имя http://www.linuxguide.it хоста в ip-адрес и наоборот<br />
host 62.149.140.85<br />
ip link show отобразить состояние всех интерфейсов<br />
mii-tool eth0 отобразить статус и тип соединения для интерфейса eth0<br />
ethtool eth0 отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения<br />
netstat -tupn отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID&#8217;ы и имена процессов, обеспечивающих эти соединения<br />
netstat -tupln отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID&#8217;ы и имена процессов, слушающих порты<br />
tcpdump tcp port 80 отобразить весь трафик на TCP-порт 80 (обычно &#8211; HTTP)<br />
iwlist scan просканировать эфир на предмет, доступности беспроводных точек доступа<br />
iwconfig eth1 показать конфигурацию беспроводного сетевого интерфейса eth1</p>
<p><strong>Microsoft Windows networks(SAMBA)</strong></p>
<p>nbtscan ip_addr разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba.<br />
nmblookup -A ip_addr<br />
smbclient -L ip_addr/hostname отобразить ресурсы, предоставленные в общий доступ на windows-машине<br />
smbget -Rr smb://ip_addr/share подобно wget может получить файлы с windows-машин через smb-протокол<br />
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему</p>
<p><strong>IPTABLES (firewall)</strong></p>
<p>iptables -t filter -nL отобразить все цепочки правил<br />
iptables -nL<br />
iptables -t nat -L отобразить все цепочки правил в NAT-таблице<br />
iptables -t filter -F очистить все цепочки правил в filter-таблице<br />
iptables -F<br />
iptables -t nat -F очистить все цепочки правил в NAT-таблице<br />
iptables -t filter -X удалить все пользовательские цепочки правил в filter-таблице<br />
iptables -t filter -A INPUT -p tcp &#8211;dport telnet -j ACCEPT позволить входящее подключение telnet&#8217;ом<br />
iptables -t filter -A OUTPUT -p tcp &#8211;dport http -j DROP блокировать исходящие HTTP-соединения<br />
iptables -t filter -A FORWARD -p tcp &#8211;dport pop3 -j ACCEPT позволить &laquo;прокидывать&raquo; (forward)</p>
<p><strong>POP3-соединения</strong></p>
<p>iptables -t filter -A INPUT -j LOG &#8211;log-prefix &laquo;DROP INPUT&raquo; включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса &laquo;DROP INPUT&raquo;<br />
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.<br />
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp &#8211;dport 22 -j DNAT &#8211;to-destination 10.0.0.2:22 перенаправление пакетов, адресованных одному хосту, на другой хост</p>
<p><strong>Мониторинг и отладка</strong></p>
<p>top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)<br />
ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)<br />
ps -e -o pid,args &#8211;forest вывести PID&#8217;ы и процессы в виде дерева<br />
pstree отобразить дерево процессов<br />
kill -9 98989 &laquo;убить&raquo; процесс с PID 98989 &laquo;на смерть&raquo; (без соблюдения целостности данных) kill -KILL 98989<br />
kill -TERM 98989 Корректно завершить процесс с PID 98989<br />
kill -1 98989 заставить процесс с PID 98989 перепрочитать файл конфигурации<br />
kill -HUP 98989<br />
lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989<br />
lsof /home/user1 отобразить список открытых файлов из директории /home/user1<br />
strace -c ls &gt;/dev/null вывести список системных вызовов, созданных и полученных процессом ls<br />
strace -f -e open ls &gt;/dev/null вывести вызовы бибилотек<br />
watch -n1 &#8216;cat /proc/interrupts&#8217; отображать прерывания в режиме реального времени<br />
last reboot отобразить историю перезагрузок системы<br />
last user1 отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней<br />
lsmod вывести загруженные модули ядра<br />
free -m показать состояние оперативной памяти в мегабайтах<br />
smartctl -A /dev/hda контроль состояния жёсткого диска /dev/hda через SMART<br />
smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda<br />
tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра<br />
tail /var/log/messages вывести десять последних записей из системного журнала</p>
<p><strong>Другие полезные команды</strong></p>
<p>apropos &#8230;keyword выводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду<br />
man ping вызов руководства по работе с программой, в данном случае, &#8211; ping<br />
whatis &#8230;keyword отображает описание действий указанной программы<br />
mkbootdisk &#8211;device /dev/fd0 `uname -r` создаёт загрузочный флоппи-диск<br />
gpg -c file1 шифрует файл file1 с помощью GNU Privacy Guard<br />
gpg file1.gpg дешифрует файл file1 с помощью GNU Privacy Guard<br />
wget -r http://www.example.com загружает рекурсивно содержимое сайта http://www.example.com<br />
wget -c http://www.example.com/file.iso загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии<br />
echo &#8216;wget -c http://www.example.com/files.iso&#8217; | at 09:00 начать закачку в указанное время<br />
ldd /usr/bin/ssh вывести список библиотек, необходимых для работы ssh<br />
alias hh=&#8217;history&#8217; назначить алиас hh команде history</p>
<h3><span style="color: #000080;">Дополнительно:</span></h3>
<p><strong>Перенести <strong>в Ubuntu </strong>кнопки окна слева на право:</strong><br />
<code>$gconftool-2 --set /apps/metacity/general/button_layout --type string "menu:minimize,maximize,close"</code></p>
<p><strong>Перекодировать текстовый файл в utf-8:</strong></p>
<p>iconv -t utf-8 index.php</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/konsol-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка squid</title>
		<link>http://www.artsoft.kz/ustanovka-squid/</link>
		<comments>http://www.artsoft.kz/ustanovka-squid/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 16:02:25 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[squid]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=21</guid>
		<description><![CDATA[Скачайть последнюю версию исходных текстов с www.squid-cache.com. Нужно, чтоб это была СТАБИЛЬНАЯ (STABLE) версия, а не разрабатываемая (DEVEL). Одна из стабильных версий squid-2.3.STABLE1.tar.gz. Разархивировать архив (&#171;tar -xzf &#60;filename&#62;&#187;). Запустить скрипт автоконфигурации (&#171;./configure&#187;), скомпилировать (&#171;make&#187;) и установить squid (&#171;make install&#187;). Теперь &#8230; <a href="http://www.artsoft.kz/ustanovka-squid/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Скачайть последнюю версию исходных текстов с www.squid-cache.com. Нужно, чтоб это была СТАБИЛЬНАЯ (STABLE) версия, а не разрабатываемая (DEVEL). Одна из стабильных версий squid-2.3.STABLE1.tar.gz.<span id="more-21"></span></p>
<p>Разархивировать архив (&laquo;tar -xzf &lt;filename&gt;&raquo;). Запустить скрипт автоконфигурации (&laquo;./configure&raquo;), скомпилировать (&laquo;make&raquo;) и установить squid (&laquo;make install&raquo;).</p>
<p>Теперь нужно отредактировать файл squid.conf (по умолчанию он находится в /usr/local/squid/etc/squid.conf). В нем много комментариев, и, на самом деле, самая лучшая документация по squid находится в файле squid.conf. После того, как все запустилось и работает, нужно вернуться в этот файл и настроить одну вещь. Найти следующие опции, раскомментировать их, и присвойть им соответствующие значения:</p>
<ul>
<li>httpd_accel_host virtual</li>
<li> httpd_accel_port 80</li>
<li> httpd_accel_with_proxy on httpd_accel_uses_host_header on</li>
</ul>
<p>И наконец, найти директиву http_access. Значение по умолчанию скорее всего будет установлено в &laquo;http_access deny all&raquo;. Это запрещает всем использовать squid. Можно изменить это на &laquo;http_access allow all&raquo;, но как только это заработает, возможно нужно будет прочитать об ACL (Access Control List) и установить доступ к squid только пользователям своей сети. Желательно ввести некоторые ограничения в доступе к squid. Люди, находящиеся за фильтрующим firewall (таким как порно-фильтр или фильтры для стран, язык которых непонятен) часто &laquo;садятся&raquo; на открытый прокси и засоряют канал.</p>
<p>Создайть структуру каталогов, запустив &laquo;squid -z&raquo; (если squid установлен в первый раз).</p>
<p>Теперь, запустить squid, используя скрипт RunCache, находящийся в каталоге /usr/local/squid/bin/. Если он запустился, нужно настроить обозреватель на использование в качестве прокси-сервера своей машины и порта 3128 (если не меняли порт по умолчанию) и попробовать squid в качестве обычного прокси-сервера.</p>
<p>Дополнительная информация  к squid FAQ на www.squid-cache.org.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/ustanovka-squid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Структура каталогов Linux</title>
		<link>http://www.artsoft.kz/struktura-katalogov-linux/</link>
		<comments>http://www.artsoft.kz/struktura-katalogov-linux/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 15:44:45 +0000</pubDate>
		<dc:creator>Shalunix</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://shxblog.info/?p=16</guid>
		<description><![CDATA[/ корневой каталог. /bin основные системные программы. /boot загрузочные файлы ядра ОС. /dev описания устройств компьютера. /etc конфигурационные файлы системы и подкаталоги с конфигурационными файлами прикладных программ. /home подкаталоги (домашние каталоги) пользователей. /lib динамические библиотеки. /lost+found информация об удаленных файлах, &#8230; <a href="http://www.artsoft.kz/struktura-katalogov-linux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<dl>
<dt><strong>/</strong> корневой каталог. </dt>
<dt><strong>/bin </strong>основные системные программы. </dt>
<dt><strong>/boot </strong>загрузочные файлы ядра ОС. </dt>
<dt><strong>/dev </strong>описания устройств компьютера. </dt>
<dt><strong>/etc </strong>конфигурационные файлы системы и подкаталоги с конфигурационными файлами прикладных программ. </dt>
<dt><strong>/home </strong>подкаталоги (домашние каталоги) пользователей. </dt>
<dt><strong>/lib </strong>динамические библиотеки. </dt>
<dt><strong>/lost+found </strong>информация об удаленных файлах, при некоторых условиях помогающая  восстановить данные. </dt>
<dt><strong>/mnt </strong>подкаталоги стандартные точки монтирования сменных устройств, таких как  дисковод CD-ROM. </dt>
<dt><strong>/root </strong>домашний каталог суперпользователя. </dt>
<dt><strong>/sbin </strong>системные программы. </dt>
<dt><strong>/usr </strong>прикладные программы и библиотеки. </dt>
<dt><strong>/var </strong>рабочие каталоги программ. </dt>
</dl>
<p><span id="more-59"></span> &#8212;</p>
<ul>
<li>/usr/bin — утилиты, доступные пользователям;</li>
<li>/usr/include — файлы заголовков, нужные для написания программ на C;</li>
<li>/usr/lib — библиотеки для программ;</li>
<li>/usr/local — предшественник каталога /opt;</li>
<li>/usr/sbin — склад программ;</li>
<li>/usr/share — в основном документы, мануалы и данные, не зависящие от архитектуры процессора;</li>
<li>/usr/X11R6 — тут находится графическая подсистема Linux;</li>
<li>/usr/games — игры;</li>
<li>/usr/src — исходные коды, присутствующие в системе;</li>
<li>/usr/share/dict — словари, которые используются для проверки орфографии;</li>
<li>/usr/share/doc — документация;</li>
<li>/usr/share/games — картинки, текстовые файлы, музыка и прочие данные подобного типа для игр;</li>
<li>/usr/share/info — каталог информационной системы GNU;</li>
<li>/usr/share/locale — файлы локализации системы;</li>
<li>/usr/share/man — справочная система man;</li>
<li>/usr/share/zoneinfo — информация о временных зонах (часовых поясах).</li>
</ul>
<p>&#8212;</p>
<ul>
<li>/proc/bus — информация по шинам (PCI, ISA);</li>
<li>/proc/driver —  драйверы;</li>
<li>/proc/fs — файловые системы;</li>
<li>/proc/ide — информация по IDE-устройствам (винчестер, CD-ROM);</li>
<li>/proc/irq — маски прерываний;</li>
<li>/proc/net — сеть;</li>
<li>/proc/sys — системная информация;</li>
<li>/proc/tty — tty драйверы.</li>
<li>/proc/apm — управление питанием;</li>
<li>/proc/cpuinfo — информация о процессоре;</li>
<li>/proc/devices — блочные и символьные устройства;</li>
<li>/proc/dma — каналы прямого доступа к памяти;</li>
<li>/proc/filesystems — используемые файловые системы;</li>
<li>/proc/interrupts — прерывания системы;</li>
<li>/proc/iomem — карта памяти;</li>
<li>/proc/ioports — информация о портах;</li>
<li>/proc/isapnp — данные по ISA-устройствам;</li>
<li>/proc/kmsg — сообщения ядра;</li>
<li>/proc/locks — файлы-«защелки» ядра;</li>
<li>/proc/mdstat — актуально для систем с RAID-массивами;</li>
<li>/proc/meminfo — информация по памяти;</li>
<li>/proc/misc — информационное «ассорти»;</li>
<li>/proc/modules — загруженные модули;</li>
<li>/proc/partitions — доступные разделы дисков;</li>
<li>/proc/pci — сейчас файл стал ссылкой на /proc/bus/pci;</li>
<li>/proc/rts — часы реального времени;</li>
<li>/proc/scsi — SCSI-устройства;</li>
<li>/proc/stat — статистика;</li>
<li>/proc/swaps — используемые разделы swap;</li>
<li>/proc/uptime — время работы системы без перезагрузки;</li>
<li>/proc/version — версия ядра;</li>
<li>/proc/video — видео.</li>
</ul>
<p>&#8212;</p>
<ul>
<li>/sys/block —  могут лежать например каталоги /hda (первый винчестер) и /ramX, где X — номер диска;</li>
<li>/sys/bus — шины, присутствующие в системе</li>
<li>/sys/bus/eisa — ISA;</li>
<li>/sys/bus/ide — IDE (винчестер и СD-ROM);</li>
<li>/sys/bus/pci — PCI (звуковая карта, сетевая карта, etc.);</li>
<li>/sys/bus/scsi — SCSI;</li>
<li>/sys/cdev — консольные устройства;</li>
<li>/sys/class — разнообразные классы устройств.</li>
<li>/sys/class/input — устройства ввода (кроме клавиатуры);</li>
<li>/sys/class/mem — память;</li>
<li>/sys/class/misc — данные, не вошедшие в другие каталоги;</li>
<li>/sys/class/net — сеть;</li>
<li>/sys/class/sound — звуковые устройства;</li>
<li>/sys/class/tty — консольные устройства.</li>
<li>/sys/devices — работающие в данный момент устройства;</li>
<li>/sys/firmware — нестандартные устройства;</li>
<li>/sys/power — управление питанием.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.artsoft.kz/struktura-katalogov-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

