<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Guria</id>
		<title>Linuxformat - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Guria"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Contributions/Guria"/>
		<updated>2026-05-13T11:53:53Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F</id>
		<title>Текущие события</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F"/>
				<updated>2008-03-17T08:04:32Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Давайте здесь устроим мини-форум. Новые топики вначале. [http://wiki.linuxformat.ru/index.php?title=%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F&amp;amp;action=edit&amp;amp;section=0 Добавить топик]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Опрос ==&lt;br /&gt;
Сейчас с именованием статей [[Участник:Lockal|весьма плохо]]. Предлагаю установить правила именования:&lt;br /&gt;
: Установить форму названия учебника в виде «номера выпуска:» +термина, характеризующего серию статей. &lt;br /&gt;
: Установить названия всех статей из серии «Первые шаги» и «Hardcore Linux» в «Первые шаги» и «Hardcore Linux» соответственно&lt;br /&gt;
: В рубрике «Обзор» включать в имя статьи номер версии, если таковой присутствует&lt;br /&gt;
: В рубрике «Сравнение» называть статью по шаблону «LXF??:''Объект сравнения''», например, «LXF85:Java IDE»&lt;br /&gt;
: В рубрике «Интервью» находится статья вида «LXF??:Интервью»&lt;br /&gt;
: В рубрике «Ответы» находится статья вида «LXF??:Ответы», содержащая все вопросы, а также дополнительные статьи, вроде «Подсказка месяца: ''Тема''», «Краткая справка: ''Тема''», «Frequently Asked Questions: ''Тема''».&lt;br /&gt;
Это всего лишь моё видение системы именования, прошу прокомментировать с вашей точки зрения. --[[Участник:Lockal|Lockal]] 00:17, 17 марта 2008 (MSK)&lt;br /&gt;
:: Поддерживаю это видение, довольно всё органично. --[[Участник:Guria|Guria]] 11:04, 17 марта 2008 (MSK)&lt;br /&gt;
&lt;br /&gt;
== Организация категорий ==&lt;br /&gt;
Предлагаю все статьи сразу располагать по категориям, т.к. это облегчает восприятие материала и облегчает поиск.&lt;br /&gt;
--Zerg 09:58, 12 марта 2008 (MSK)&lt;br /&gt;
&lt;br /&gt;
== [[Шаблон:Цикл статей]] ==&lt;br /&gt;
Предлагаю соорудить шаблон для цикла статей в разных номерах, например для [[LXF97:Bash]] [[LXF98:Bash3]] (ну и где-то должна быть первая часть этого цикла) --[[Участник:Guria|Guria]] 18:12, 10 марта 2008 (MSK)&lt;br /&gt;
* Сначала всё викифицируем, а потом и подобные шаблоны создадим, тем более тут не один цикл статей. --[[Участник:Yaleks|Yaleks]] 18:46, 10 марта 2008 (MSK)&lt;br /&gt;
** На самом деле не хватает единого стиля, некоторые работы выделяются хорошим оформлением, а некоторые явно хромают. поддерживаю полностью автора. например использование подсветки кода где возможно было бы дополнительным плюсом --Zerg 22:04, 11 марта 2008 (MSK)&lt;br /&gt;
*** Не торопитесь, ещё и недели работы не прошло :) Добавить красоты всегда можно. --[[Участник:Yaleks|Yaleks]] 22:23, 11 марта 2008 (MSK)&lt;br /&gt;
**** по своему опыту знаю что если это не сделать сразу то рискуещь погрязнуть в этом...--Zerg 22:24, 11 марта 2008 (MSK)&lt;br /&gt;
&lt;br /&gt;
== Пожалуй начну ==&lt;br /&gt;
Учавствовал в русской википедии, но довольно давно. Пара вопросов:&lt;br /&gt;
* Почему [[Шаблон:Врезка]] не плавает справа как это задумано?&lt;br /&gt;
* Кто организует работу, правила, участники, рекомендпции и т.д.? --[[Участник:Guria|Guria]] 17:26, 10 марта 2008 (MSK)&lt;br /&gt;
: [[Шаблон:Врезка]] предназначен для добавления в статьи врезок с текстом и (опционально) заголовком. Такие врезки могут «плавать» сбоку от основного текста. Пример использования можно найти в статье «[[LXF85:Xandros Desktop]]». Документация на странице шаблона. --[[Участник:Lockal|Lockal]] 17:38, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/Linuxformat:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0</id>
		<title>Linuxformat:Портал сообщества</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/Linuxformat:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0"/>
				<updated>2008-03-10T15:36:52Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: + линк на Информация для авторов&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Обязательно к прочтению: [[Информация для авторов]]&lt;br /&gt;
{{:Участник:Lockal}}&lt;br /&gt;
----&lt;br /&gt;
{{:План работ}}&lt;br /&gt;
&lt;br /&gt;
Для пробы wiki-разметки: [[Песочница]]&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Guria</id>
		<title>Участник:Guria</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Guria"/>
				<updated>2008-03-10T15:30:39Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Гурьянов Алексей Александрович ==&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Guria</id>
		<title>Участник:Guria</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Guria"/>
				<updated>2008-03-10T15:30:10Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: == Гурьянов Алексей Алксандрович ==&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Гурьянов Алексей Алксандрович ==&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F</id>
		<title>Текущие события</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F"/>
				<updated>2008-03-10T15:12:19Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Давайте здесь устроим мини-форум. Новые топики вначале. [http://wiki.linuxformat.ru/index.php?title=%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F&amp;amp;action=edit&amp;amp;section=0 Добавить топик]&lt;br /&gt;
----&lt;br /&gt;
== [[Шаблон:Цикл статей]] ==&lt;br /&gt;
Предлагаю соорудить шаблон для цикла статей в разных номерах, например для [[LXF97:Bash]] [[LXF98:Bash3]] (ну и где-то должна быть первая часть этого цикла) --[[Участник:Guria|Guria]] 18:12, 10 марта 2008 (MSK)&lt;br /&gt;
&lt;br /&gt;
== Пожалуй начну ==&lt;br /&gt;
Учавствовал в русской википедии, но довольно давно. Пара вопросов:&lt;br /&gt;
* Почему [[Шаблон:Врезка]] не плавает справа как это задумано?&lt;br /&gt;
* Кто организует работу, правила, участники, рекомендпции и т.д.? --[[Участник:Guria|Guria]] 17:26, 10 марта 2008 (MSK)&lt;br /&gt;
: [[Шаблон:Врезка]] предназначен для добавления в статьи врезок с текстом и (опционально) заголовком. Такие врезки могут «плавать» сбоку от основного текста. Пример использования можно найти в статье «[[LXF85:Xandros Desktop]]». Документация на странице шаблона. --[[Участник:Lockal|Lockal]] 17:38, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F</id>
		<title>Текущие события</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F"/>
				<updated>2008-03-10T15:05:51Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Давайте здесь устроим мини-форум. Новые топики вначале. [http://wiki.linuxformat.ru/index.php?title=%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F&amp;amp;action=edit&amp;amp;section=0 Добавить топик]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Пожалуй начну ==&lt;br /&gt;
Учавствовал в русской википедии, но довольно давно. Пара вопросов:&lt;br /&gt;
* Почему [[Шаблон:Врезка]] не плавает справа как это задумано?&lt;br /&gt;
* Кто организует работу, правила, участники, рекомендпции и т.д.? --[[Участник:Guria|Guria]] 17:26, 10 марта 2008 (MSK)&lt;br /&gt;
: [[Шаблон:Врезка]] предназначен для добавления в статьи врезок с текстом и (опционально) заголовком. Такие врезки могут «плавать» сбоку от основного текста. Пример использования можно найти в статье «[[LXF85:Xandros Desktop]]». Документация на странице шаблона. --[[Участник:Lockal|Lockal]] 17:38, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF97:Bash</id>
		<title>LXF97:Bash</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF97:Bash"/>
				<updated>2008-03-10T14:59:55Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Подправил вторую врезку&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bash: Используем командную строку ==&lt;br /&gt;
''Часть 2 Хотите проводить в командной строке больше времени? '''Рэйчел Проберт'''&lt;br /&gt;
расскажет о grep, pipe и других командах, которые обязательно надо знать.''&lt;br /&gt;
&lt;br /&gt;
В прошлый раз мы говорили о действиях, потенциально способных &lt;br /&gt;
отобрать много времени: например, необходимо быстро найти отчет, &lt;br /&gt;
написанный когда-то давно. Вы забыли имя файла, но помните, что &lt;br /&gt;
темой отчета было соглашение с компанией ABC. После обнаружения &lt;br /&gt;
документа его содержимое нужно отправить коллеге или шефу.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat filename | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Для начала мы разомнемся с помощью нескольких команд для &lt;br /&gt;
опытных пользователей. Они вряд ли пригодятся обычным пользователям для каждодневной работы, но если вы администратор системы &lt;br /&gt;
и устанавливаете программы для своих пользователей, значение этих &lt;br /&gt;
команд повышается.&lt;br /&gt;
Команда  whoami не вовлечет вас в философские дискуссии по &lt;br /&gt;
самопознанию, но напомнит, под каким именем пользователя вы вошли в систему; очень удобно, когда вы работаете с несколькими учетными записями, используемыми для решения различных задач, и постоянно переключаетесь между ними. Похожая команда, whatis, позволит &lt;br /&gt;
понять, что делает та или иная программа. В Linux сотни программ, и &lt;br /&gt;
невозможно запомнить, что делает каждая из них. Например, напечатав whatis grep, вы увидите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep (1) - print lines matching a pattern&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Команда whereis поможет найти другие нужные вам команды или&lt;br /&gt;
программы. Если вы загружаете из Интернета программу, для работы&lt;br /&gt;
которой нужна другая программа, вам захочется узнать, установлена&lt;br /&gt;
ли она в вашей системе. Чтобы выяснить местонахождение программы&lt;br /&gt;
и ее man-страницы, наберите whereis [имя программы]. Так, например,&lt;br /&gt;
находится расположение популярного текстового редактора vi:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 whereis vi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Echo – небольшая команда, повторяющая все, что вы ни напечатали. Например, если набрать echo hello, на экране появится слово &amp;quot;hello&amp;quot;.&lt;br /&gt;
Вообще говоря, обычно это делать незачем: команда echo может пригодиться вам в будущем, если вы начнете писать скрипты. (Скрипт – это&lt;br /&gt;
небольшая программа, позволяющая выполнить несколько команд за&lt;br /&gt;
один раз.) В скриптах  echo может использоваться для отображения&lt;br /&gt;
действий скрипта в каждый момент времени, или чтобы попросить&lt;br /&gt;
пользователя что-нибудь сделать, например, ввести текст.&lt;br /&gt;
Команда  last выведет список пользователей, заходивших сегодня в систему, и терминалы, которые они используют (использовали).&lt;br /&gt;
Набрав  exit, вы завершите сеанс работы с терминалом. Если нужно&lt;br /&gt;
зайти в систему под другим пользователем, используйте вместо нее&lt;br /&gt;
команду logout.&lt;br /&gt;
&lt;br /&gt;
=== Часть 1: По Grep’у! ===&lt;br /&gt;
{{Врезка&lt;br /&gt;
|Заголовок=Помощь по grep&lt;br /&gt;
|Содержание=&lt;br /&gt;
Поскольку  grep производит поиск соответствий по шаблонам, вы &lt;br /&gt;
должны предоставить ему регулярное выражение для этого шаблона. &lt;br /&gt;
Регулярные выражения бывают простыми и сложными. Наиболее распространенные (и простые) типы регулярных выражений выглядят так:&lt;br /&gt;
*abc Соответствует строкам, которые содержат &amp;quot;abc&amp;quot; в любом месте.&lt;br /&gt;
*^abc Соответствует строкам, начинающимся с &amp;quot;abc&amp;quot;.&lt;br /&gt;
|Ширина=200px}}&lt;br /&gt;
Вот теперь повеселимся! Grep – команда, которая находит слова в &lt;br /&gt;
файлах. Охотно сказала бы, что ее название произошло от слова &lt;br /&gt;
&amp;quot;поиск&amp;quot; по-клингонски, но это было бы неправдой и только укрепило бы стереотип, что все технари любят Star Trek! На самом деле &lt;br /&gt;
название команды – сокращение от &amp;quot;Глобальный Парсер Регулярных &lt;br /&gt;
Выражений&amp;quot; (Global Regular Expression Parser), что означает &amp;quot;глобальный поиск строк, соответствующих регулярному выражению, и их &lt;br /&gt;
вывод на экран&amp;quot;. Название команды происходит от команды текстового &lt;br /&gt;
редактора ed g/re/p, выполняющей подобные действия.&lt;br /&gt;
Начнем с создания специального каталога, где будем размещать новые &lt;br /&gt;
файлы. Чтобы убедиться, что каталог создан, используйте команду ls.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mkdir Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Откроем текстовый редактор и создадим новый файл report1.txt:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico report1.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Pico – это текстовый редактор, который я использовала при написании &lt;br /&gt;
этой статьи. В дистрибутив Linux включено несколько текстовых редакторов; выбор одного из них определяется лишь вашими предпочтениями и наличием у редактора специальных функций, которые помогут &lt;br /&gt;
в решении именно вашей задачи. Когда текстовый редактор откроется, &lt;br /&gt;
напечатайте слово CompanyABC. Затем точно так же создайте второй &lt;br /&gt;
файл с именем report2.txt, который будет содержать слово companyabc. &lt;br /&gt;
Закончив, введите команду ls, и вы увидите примерно такой список:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music report1.txt report2.txt Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что файлы, которые мы создали, находятся рядом &lt;br /&gt;
с каталогом Work. Давайте переместим их в нужный каталог:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mv report*.txt /home/probert/Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Звездочка (*) – это специальный символ, который позволяет нам &lt;br /&gt;
делать все, что мы хотим, с файлами, название которых начинается со &lt;br /&gt;
слова  report; каждый из таких файлов включается в команду. У меня &lt;br /&gt;
есть правила именования файлов и разделения их на категории, которых я строго придерживаюсь. Например, названия всех файлов отчетов &lt;br /&gt;
начинаются со слова report, счетов – со слова invoice и т.д. Пускай это &lt;br /&gt;
выглядит как ритуальные действия безнадежно больного ОКР, зато при &lt;br /&gt;
наличии методичного подхода нужные вещи находятся очень быстро!&lt;br /&gt;
Переместимся в каталог Work и снова используем ls, чтобы убедиться,&lt;br /&gt;
что все файлы перемещены:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cd Work&lt;br /&gt;
 probert@ubuntu:~/Work$ ls&lt;br /&gt;
 report1.txt report2.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Сейчас мы сделаем следующий шаг в поисках этого крайне важного &lt;br /&gt;
файла для нашего коллеги. Команда grep обладает множеством опций &lt;br /&gt;
(их список выведет команда man grep). Опция -r позволяет выполнить &lt;br /&gt;
рекурсивный поиск файлов, начиная с названного каталога, а опция  -i &lt;br /&gt;
выполнит поиск без учета регистра. Попробуйте следующие команды с &lt;br /&gt;
опцией -i и без -i и посмотрите, как это повлияет на результаты поиска.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~/Work$ grep -r -i ‘CompanyABC’ /home/&lt;br /&gt;
 probert/Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /home/probert/Work/report1.txt:CompanyABC&lt;br /&gt;
 /home/probert/Work/report2.txt:companyabc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Итак, мы нашли этот неуловимый файл; что же дальше?&lt;br /&gt;
&lt;br /&gt;
=== Часть 2: Стандартный ввод-вывод ===&lt;br /&gt;
{{Врезка|Заголовок=Мини-проект: команды для умных|&lt;br /&gt;
Содержание=Есть несколько общих команд, о которых &lt;br /&gt;
полезно знать. Привожу некоторые из них без &lt;br /&gt;
объяснений; эти команды можно использовать &lt;br /&gt;
независимо от дополнительных опций. &lt;br /&gt;
Наберите их и посмотрите на результат.&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{!}}date&lt;br /&gt;
{{!}}df&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%D&lt;br /&gt;
{{!}}free&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%T&lt;br /&gt;
{{!}}du&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal&lt;br /&gt;
{{!}}top&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal 1066&lt;br /&gt;
{{!}}ps&lt;br /&gt;
{{!}}}&lt;br /&gt;
| Ширина=300px}}&lt;br /&gt;
Стандартный ввод/вывод позволяет вводить данные в программу из&lt;br /&gt;
любого источника и выводить данные в любой источник. Таким образом, можно направить вывод одной команды непосредственно на ввод&lt;br /&gt;
другой команды... правда, мило? Linux предоставляет три канала ввода/вывода, более известных как потоки ввода/вывода. По умолчанию стандартный ввод подразумевает клавиатуру, стандартный вывод – экран.&lt;br /&gt;
Третий поток ввода/вывода – это на самом деле поток вывода для сообщений об ошибках, предупреждений и оповещений: так легче отличить&lt;br /&gt;
сообщения об ошибках от остальных сообщений. Поток ошибок обычно&lt;br /&gt;
также выводится на экран, но (как и каждый из трех стандартных потоков) может быть перенаправлен. Этим мы сейчас и займемся.&lt;br /&gt;
Есть два основных способа перенаправления потоков данных; мы&lt;br /&gt;
можем использовать &amp;gt; или | (перенаправление и каналы соответственно). Если нужно просто направить стандартный вывод в файл, можно&lt;br /&gt;
напечатать команда &amp;gt; файл. Давайте попробуем это на реальном примере: найдем все файлы с именем passwd в каталоге /etc. Наберите&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 find /etc -name passwd &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким (он зависит от особенностей вашего&lt;br /&gt;
дистрибутива Linux):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что команда генерирует как стандартный поток&lt;br /&gt;
вывода, так и поток ошибок. Сейчас мы создадим файл  findresult и&lt;br /&gt;
перенаправим стандартный поток вывода в этот файл, оставив на экране только ошибки.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd &amp;gt; findresult&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Перенаправим эти ошибки в другой файл, finderrors, используя 2&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt; finderrors&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Наберите ls, и вы получите результат, похожий на мой.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples finderrors findresult LAN Music&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы прочитать содержимое этих файлов, можно открыть их в текстовом редакторе pico:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Я предпочитаю просматривать небольшие файлы с помощью команды &lt;br /&gt;
cat. Ниже я использовала эту команду для просмотра результатов поиска в файлах findresult и finderrors.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cat findresult&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 probert@ubuntu:~$ cat finderrors&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы также можете добавить информацию в файл с помощью команды &lt;br /&gt;
&amp;gt;&amp;gt;. Давайте перенаправим стандартный вывод, чтобы добавить информацию в наш первый файл findresult следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt;&amp;gt; findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы можете снова проверить результаты с помощью команды  cat &lt;br /&gt;
findresult. Второй способ перенаправления потоков – вывод одной &lt;br /&gt;
команды прямо на вход другой (канализация). Давайте проверим &lt;br /&gt;
содержимое каталога  /usr/lib, где находятся объектные файлы, библиотеки и системные двоичные файлы. В моем каталоге  /usr/lib примерно полторы тысячи файлов – многовато, чтобы прокручивать этот &lt;br /&gt;
список один за другим! Если мы перенаправим вывод ls на ввод команды less, то получим список, в котором можно перемещаться по страницам, в удобном для нас темпе. Попробуйте:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Достигнув конца документа, нажмите клавишу  Q, чтобы вернуться в &lt;br /&gt;
командную строку. Вы также можете предварительно отсортировать &lt;br /&gt;
этот список по убыванию, например, таким образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | sort -r | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Краеугольный камень философии Unix заключается в том, чтобы каждая программа делала что-то одно по-настоящему хорошо, позволяя &lt;br /&gt;
использовать свой вывод как ввод другой программы. Использование &lt;br /&gt;
каналов позволяет провести этот принцип в жизнь, создавая очень &lt;br /&gt;
эффективные цепочки команд.&lt;br /&gt;
Теперь, разузнав, как работают  grep и каналы, сведем их вместе для &lt;br /&gt;
поиска того самого отчета и отправим его нашему коллеге:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat report1.txt | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Миссия завершена!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Через месяц Moнтирование, создание резервных копий, распаковка файлов из tar и zip.&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0</id>
		<title>Песочница</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0"/>
				<updated>2008-03-10T14:55:31Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: == Песочница == {{Врезка| Заголовок=А ещё…| Содержание=Lockal считает Ubuntu лучшей операционной системой!| Ши...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Песочница ==&lt;br /&gt;
{{Врезка|&lt;br /&gt;
Заголовок=А ещё…|&lt;br /&gt;
Содержание=Lockal считает Ubuntu лучшей операционной системой!|&lt;br /&gt;
Ширина=100px}}&lt;br /&gt;
Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.&lt;br /&gt;
Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.&lt;br /&gt;
Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.  Съешь ещё этих мягких французских булок, да выпей чаю.&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF97:Bash</id>
		<title>LXF97:Bash</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF97:Bash"/>
				<updated>2008-03-10T14:55:21Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Подправил врезку&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bash: Используем командную строку ==&lt;br /&gt;
''Часть 2 Хотите проводить в командной строке больше времени? '''Рэйчел Проберт'''&lt;br /&gt;
расскажет о grep, pipe и других командах, которые обязательно надо знать.''&lt;br /&gt;
&lt;br /&gt;
В прошлый раз мы говорили о действиях, потенциально способных &lt;br /&gt;
отобрать много времени: например, необходимо быстро найти отчет, &lt;br /&gt;
написанный когда-то давно. Вы забыли имя файла, но помните, что &lt;br /&gt;
темой отчета было соглашение с компанией ABC. После обнаружения &lt;br /&gt;
документа его содержимое нужно отправить коллеге или шефу.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat filename | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Для начала мы разомнемся с помощью нескольких команд для &lt;br /&gt;
опытных пользователей. Они вряд ли пригодятся обычным пользователям для каждодневной работы, но если вы администратор системы &lt;br /&gt;
и устанавливаете программы для своих пользователей, значение этих &lt;br /&gt;
команд повышается.&lt;br /&gt;
Команда  whoami не вовлечет вас в философские дискуссии по &lt;br /&gt;
самопознанию, но напомнит, под каким именем пользователя вы вошли в систему; очень удобно, когда вы работаете с несколькими учетными записями, используемыми для решения различных задач, и постоянно переключаетесь между ними. Похожая команда, whatis, позволит &lt;br /&gt;
понять, что делает та или иная программа. В Linux сотни программ, и &lt;br /&gt;
невозможно запомнить, что делает каждая из них. Например, напечатав whatis grep, вы увидите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep (1) - print lines matching a pattern&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Команда whereis поможет найти другие нужные вам команды или&lt;br /&gt;
программы. Если вы загружаете из Интернета программу, для работы&lt;br /&gt;
которой нужна другая программа, вам захочется узнать, установлена&lt;br /&gt;
ли она в вашей системе. Чтобы выяснить местонахождение программы&lt;br /&gt;
и ее man-страницы, наберите whereis [имя программы]. Так, например,&lt;br /&gt;
находится расположение популярного текстового редактора vi:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 whereis vi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Echo – небольшая команда, повторяющая все, что вы ни напечатали. Например, если набрать echo hello, на экране появится слово &amp;quot;hello&amp;quot;.&lt;br /&gt;
Вообще говоря, обычно это делать незачем: команда echo может пригодиться вам в будущем, если вы начнете писать скрипты. (Скрипт – это&lt;br /&gt;
небольшая программа, позволяющая выполнить несколько команд за&lt;br /&gt;
один раз.) В скриптах  echo может использоваться для отображения&lt;br /&gt;
действий скрипта в каждый момент времени, или чтобы попросить&lt;br /&gt;
пользователя что-нибудь сделать, например, ввести текст.&lt;br /&gt;
Команда  last выведет список пользователей, заходивших сегодня в систему, и терминалы, которые они используют (использовали).&lt;br /&gt;
Набрав  exit, вы завершите сеанс работы с терминалом. Если нужно&lt;br /&gt;
зайти в систему под другим пользователем, используйте вместо нее&lt;br /&gt;
команду logout.&lt;br /&gt;
&lt;br /&gt;
=== Часть 1: По Grep’у! ===&lt;br /&gt;
Вот теперь повеселимся! Grep – команда, которая находит слова в &lt;br /&gt;
файлах. Охотно сказала бы, что ее название произошло от слова &lt;br /&gt;
&amp;quot;поиск&amp;quot; по-клингонски, но это было бы неправдой и только укрепило бы стереотип, что все технари любят Star Trek! На самом деле &lt;br /&gt;
название команды – сокращение от &amp;quot;Глобальный Парсер Регулярных &lt;br /&gt;
Выражений&amp;quot; (Global Regular Expression Parser), что означает &amp;quot;глобальный поиск строк, соответствующих регулярному выражению, и их &lt;br /&gt;
вывод на экран&amp;quot;. Название команды происходит от команды текстового &lt;br /&gt;
редактора ed g/re/p, выполняющей подобные действия.&lt;br /&gt;
Начнем с создания специального каталога, где будем размещать новые &lt;br /&gt;
файлы. Чтобы убедиться, что каталог создан, используйте команду ls.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mkdir Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Откроем текстовый редактор и создадим новый файл report1.txt:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico report1.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Pico – это текстовый редактор, который я использовала при написании &lt;br /&gt;
этой статьи. В дистрибутив Linux включено несколько текстовых редакторов; выбор одного из них определяется лишь вашими предпочтениями и наличием у редактора специальных функций, которые помогут &lt;br /&gt;
в решении именно вашей задачи. Когда текстовый редактор откроется, &lt;br /&gt;
напечатайте слово CompanyABC. Затем точно так же создайте второй &lt;br /&gt;
файл с именем report2.txt, который будет содержать слово companyabc. &lt;br /&gt;
Закончив, введите команду ls, и вы увидите примерно такой список:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music report1.txt report2.txt Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что файлы, которые мы создали, находятся рядом &lt;br /&gt;
с каталогом Work. Давайте переместим их в нужный каталог:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mv report*.txt /home/probert/Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Звездочка (*) – это специальный символ, который позволяет нам &lt;br /&gt;
делать все, что мы хотим, с файлами, название которых начинается со &lt;br /&gt;
слова  report; каждый из таких файлов включается в команду. У меня &lt;br /&gt;
есть правила именования файлов и разделения их на категории, которых я строго придерживаюсь. Например, названия всех файлов отчетов &lt;br /&gt;
начинаются со слова report, счетов – со слова invoice и т.д. Пускай это &lt;br /&gt;
выглядит как ритуальные действия безнадежно больного ОКР, зато при &lt;br /&gt;
наличии методичного подхода нужные вещи находятся очень быстро!&lt;br /&gt;
Переместимся в каталог Work и снова используем ls, чтобы убедиться,&lt;br /&gt;
что все файлы перемещены:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cd Work&lt;br /&gt;
 probert@ubuntu:~/Work$ ls&lt;br /&gt;
 report1.txt report2.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Сейчас мы сделаем следующий шаг в поисках этого крайне важного &lt;br /&gt;
файла для нашего коллеги. Команда grep обладает множеством опций &lt;br /&gt;
(их список выведет команда man grep). Опция -r позволяет выполнить &lt;br /&gt;
рекурсивный поиск файлов, начиная с названного каталога, а опция  -i &lt;br /&gt;
выполнит поиск без учета регистра. Попробуйте следующие команды с &lt;br /&gt;
опцией -i и без -i и посмотрите, как это повлияет на результаты поиска.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~/Work$ grep -r -i ‘CompanyABC’ /home/&lt;br /&gt;
 probert/Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /home/probert/Work/report1.txt:CompanyABC&lt;br /&gt;
 /home/probert/Work/report2.txt:companyabc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Итак, мы нашли этот неуловимый файл; что же дальше?&lt;br /&gt;
&lt;br /&gt;
=== Часть 2: Стандартный ввод-вывод ===&lt;br /&gt;
{{Врезка|Заголовок=Мини-проект: команды для умных|&lt;br /&gt;
Содержание=Есть несколько общих команд, о которых &lt;br /&gt;
полезно знать. Привожу некоторые из них без &lt;br /&gt;
объяснений; эти команды можно использовать &lt;br /&gt;
независимо от дополнительных опций. &lt;br /&gt;
Наберите их и посмотрите на результат.&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{!}}date&lt;br /&gt;
{{!}}df&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%D&lt;br /&gt;
{{!}}free&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%T&lt;br /&gt;
{{!}}du&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal&lt;br /&gt;
{{!}}top&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal 1066&lt;br /&gt;
{{!}}ps&lt;br /&gt;
{{!}}}&lt;br /&gt;
| Ширина=300px}}&lt;br /&gt;
Стандартный ввод/вывод позволяет вводить данные в программу из&lt;br /&gt;
любого источника и выводить данные в любой источник. Таким образом, можно направить вывод одной команды непосредственно на ввод&lt;br /&gt;
другой команды... правда, мило? Linux предоставляет три канала ввода/вывода, более известных как потоки ввода/вывода. По умолчанию стандартный ввод подразумевает клавиатуру, стандартный вывод – экран.&lt;br /&gt;
Третий поток ввода/вывода – это на самом деле поток вывода для сообщений об ошибках, предупреждений и оповещений: так легче отличить&lt;br /&gt;
сообщения об ошибках от остальных сообщений. Поток ошибок обычно&lt;br /&gt;
также выводится на экран, но (как и каждый из трех стандартных потоков) может быть перенаправлен. Этим мы сейчас и займемся.&lt;br /&gt;
Есть два основных способа перенаправления потоков данных; мы&lt;br /&gt;
можем использовать &amp;gt; или | (перенаправление и каналы соответственно). Если нужно просто направить стандартный вывод в файл, можно&lt;br /&gt;
напечатать команда &amp;gt; файл. Давайте попробуем это на реальном примере: найдем все файлы с именем passwd в каталоге /etc. Наберите&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 find /etc -name passwd &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким (он зависит от особенностей вашего&lt;br /&gt;
дистрибутива Linux):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что команда генерирует как стандартный поток&lt;br /&gt;
вывода, так и поток ошибок. Сейчас мы создадим файл  findresult и&lt;br /&gt;
перенаправим стандартный поток вывода в этот файл, оставив на экране только ошибки.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd &amp;gt; findresult&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Перенаправим эти ошибки в другой файл, finderrors, используя 2&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt; finderrors&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Наберите ls, и вы получите результат, похожий на мой.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples finderrors findresult LAN Music&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы прочитать содержимое этих файлов, можно открыть их в текстовом редакторе pico:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Я предпочитаю просматривать небольшие файлы с помощью команды &lt;br /&gt;
cat. Ниже я использовала эту команду для просмотра результатов поиска в файлах findresult и finderrors.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cat findresult&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 probert@ubuntu:~$ cat finderrors&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы также можете добавить информацию в файл с помощью команды &lt;br /&gt;
&amp;gt;&amp;gt;. Давайте перенаправим стандартный вывод, чтобы добавить информацию в наш первый файл findresult следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt;&amp;gt; findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы можете снова проверить результаты с помощью команды  cat &lt;br /&gt;
findresult. Второй способ перенаправления потоков – вывод одной &lt;br /&gt;
команды прямо на вход другой (канализация). Давайте проверим &lt;br /&gt;
содержимое каталога  /usr/lib, где находятся объектные файлы, библиотеки и системные двоичные файлы. В моем каталоге  /usr/lib примерно полторы тысячи файлов – многовато, чтобы прокручивать этот &lt;br /&gt;
список один за другим! Если мы перенаправим вывод ls на ввод команды less, то получим список, в котором можно перемещаться по страницам, в удобном для нас темпе. Попробуйте:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Достигнув конца документа, нажмите клавишу  Q, чтобы вернуться в &lt;br /&gt;
командную строку. Вы также можете предварительно отсортировать &lt;br /&gt;
этот список по убыванию, например, таким образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | sort -r | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Краеугольный камень философии Unix заключается в том, чтобы каждая программа делала что-то одно по-настоящему хорошо, позволяя &lt;br /&gt;
использовать свой вывод как ввод другой программы. Использование &lt;br /&gt;
каналов позволяет провести этот принцип в жизнь, создавая очень &lt;br /&gt;
эффективные цепочки команд.&lt;br /&gt;
Теперь, разузнав, как работают  grep и каналы, сведем их вместе для &lt;br /&gt;
поиска того самого отчета и отправим его нашему коллеге:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat report1.txt | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Миссия завершена!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Через месяц Moнтирование, создание резервных копий, распаковка файлов из tar и zip.&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/Linuxformat:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0</id>
		<title>Linuxformat:Портал сообщества</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/Linuxformat:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0"/>
				<updated>2008-03-10T14:44:21Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:Участник:Lockal}}&lt;br /&gt;
----&lt;br /&gt;
{{:План работ}}&lt;br /&gt;
&lt;br /&gt;
Для пробы wiki-разметки: [[Песочница]]&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF97:Bash</id>
		<title>LXF97:Bash</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF97:Bash"/>
				<updated>2008-03-10T14:39:30Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: /* Часть 2: Стандартный ввод-вывод */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bash: Используем командную строку ==&lt;br /&gt;
''Часть 2 Хотите проводить в командной строке больше времени? '''Рэйчел Проберт'''&lt;br /&gt;
расскажет о grep, pipe и других командах, которые обязательно надо знать.''&lt;br /&gt;
&lt;br /&gt;
В прошлый раз мы говорили о действиях, потенциально способных &lt;br /&gt;
отобрать много времени: например, необходимо быстро найти отчет, &lt;br /&gt;
написанный когда-то давно. Вы забыли имя файла, но помните, что &lt;br /&gt;
темой отчета было соглашение с компанией ABC. После обнаружения &lt;br /&gt;
документа его содержимое нужно отправить коллеге или шефу.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat filename | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Для начала мы разомнемся с помощью нескольких команд для &lt;br /&gt;
опытных пользователей. Они вряд ли пригодятся обычным пользователям для каждодневной работы, но если вы администратор системы &lt;br /&gt;
и устанавливаете программы для своих пользователей, значение этих &lt;br /&gt;
команд повышается.&lt;br /&gt;
Команда  whoami не вовлечет вас в философские дискуссии по &lt;br /&gt;
самопознанию, но напомнит, под каким именем пользователя вы вошли в систему; очень удобно, когда вы работаете с несколькими учетными записями, используемыми для решения различных задач, и постоянно переключаетесь между ними. Похожая команда, whatis, позволит &lt;br /&gt;
понять, что делает та или иная программа. В Linux сотни программ, и &lt;br /&gt;
невозможно запомнить, что делает каждая из них. Например, напечатав whatis grep, вы увидите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep (1) - print lines matching a pattern&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Команда whereis поможет найти другие нужные вам команды или&lt;br /&gt;
программы. Если вы загружаете из Интернета программу, для работы&lt;br /&gt;
которой нужна другая программа, вам захочется узнать, установлена&lt;br /&gt;
ли она в вашей системе. Чтобы выяснить местонахождение программы&lt;br /&gt;
и ее man-страницы, наберите whereis [имя программы]. Так, например,&lt;br /&gt;
находится расположение популярного текстового редактора vi:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 whereis vi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Echo – небольшая команда, повторяющая все, что вы ни напечатали. Например, если набрать echo hello, на экране появится слово &amp;quot;hello&amp;quot;.&lt;br /&gt;
Вообще говоря, обычно это делать незачем: команда echo может пригодиться вам в будущем, если вы начнете писать скрипты. (Скрипт – это&lt;br /&gt;
небольшая программа, позволяющая выполнить несколько команд за&lt;br /&gt;
один раз.) В скриптах  echo может использоваться для отображения&lt;br /&gt;
действий скрипта в каждый момент времени, или чтобы попросить&lt;br /&gt;
пользователя что-нибудь сделать, например, ввести текст.&lt;br /&gt;
Команда  last выведет список пользователей, заходивших сегодня в систему, и терминалы, которые они используют (использовали).&lt;br /&gt;
Набрав  exit, вы завершите сеанс работы с терминалом. Если нужно&lt;br /&gt;
зайти в систему под другим пользователем, используйте вместо нее&lt;br /&gt;
команду logout.&lt;br /&gt;
&lt;br /&gt;
=== Часть 1: По Grep’у! ===&lt;br /&gt;
Вот теперь повеселимся! Grep – команда, которая находит слова в &lt;br /&gt;
файлах. Охотно сказала бы, что ее название произошло от слова &lt;br /&gt;
&amp;quot;поиск&amp;quot; по-клингонски, но это было бы неправдой и только укрепило бы стереотип, что все технари любят Star Trek! На самом деле &lt;br /&gt;
название команды – сокращение от &amp;quot;Глобальный Парсер Регулярных &lt;br /&gt;
Выражений&amp;quot; (Global Regular Expression Parser), что означает &amp;quot;глобальный поиск строк, соответствующих регулярному выражению, и их &lt;br /&gt;
вывод на экран&amp;quot;. Название команды происходит от команды текстового &lt;br /&gt;
редактора ed g/re/p, выполняющей подобные действия.&lt;br /&gt;
Начнем с создания специального каталога, где будем размещать новые &lt;br /&gt;
файлы. Чтобы убедиться, что каталог создан, используйте команду ls.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mkdir Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Откроем текстовый редактор и создадим новый файл report1.txt:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico report1.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Pico – это текстовый редактор, который я использовала при написании &lt;br /&gt;
этой статьи. В дистрибутив Linux включено несколько текстовых редакторов; выбор одного из них определяется лишь вашими предпочтениями и наличием у редактора специальных функций, которые помогут &lt;br /&gt;
в решении именно вашей задачи. Когда текстовый редактор откроется, &lt;br /&gt;
напечатайте слово CompanyABC. Затем точно так же создайте второй &lt;br /&gt;
файл с именем report2.txt, который будет содержать слово companyabc. &lt;br /&gt;
Закончив, введите команду ls, и вы увидите примерно такой список:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music report1.txt report2.txt Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что файлы, которые мы создали, находятся рядом &lt;br /&gt;
с каталогом Work. Давайте переместим их в нужный каталог:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mv report*.txt /home/probert/Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Звездочка (*) – это специальный символ, который позволяет нам &lt;br /&gt;
делать все, что мы хотим, с файлами, название которых начинается со &lt;br /&gt;
слова  report; каждый из таких файлов включается в команду. У меня &lt;br /&gt;
есть правила именования файлов и разделения их на категории, которых я строго придерживаюсь. Например, названия всех файлов отчетов &lt;br /&gt;
начинаются со слова report, счетов – со слова invoice и т.д. Пускай это &lt;br /&gt;
выглядит как ритуальные действия безнадежно больного ОКР, зато при &lt;br /&gt;
наличии методичного подхода нужные вещи находятся очень быстро!&lt;br /&gt;
Переместимся в каталог Work и снова используем ls, чтобы убедиться,&lt;br /&gt;
что все файлы перемещены:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cd Work&lt;br /&gt;
 probert@ubuntu:~/Work$ ls&lt;br /&gt;
 report1.txt report2.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Сейчас мы сделаем следующий шаг в поисках этого крайне важного &lt;br /&gt;
файла для нашего коллеги. Команда grep обладает множеством опций &lt;br /&gt;
(их список выведет команда man grep). Опция -r позволяет выполнить &lt;br /&gt;
рекурсивный поиск файлов, начиная с названного каталога, а опция  -i &lt;br /&gt;
выполнит поиск без учета регистра. Попробуйте следующие команды с &lt;br /&gt;
опцией -i и без -i и посмотрите, как это повлияет на результаты поиска.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~/Work$ grep -r -i ‘CompanyABC’ /home/&lt;br /&gt;
 probert/Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /home/probert/Work/report1.txt:CompanyABC&lt;br /&gt;
 /home/probert/Work/report2.txt:companyabc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Итак, мы нашли этот неуловимый файл; что же дальше?&lt;br /&gt;
&lt;br /&gt;
=== Часть 2: Стандартный ввод-вывод ===&lt;br /&gt;
{{ Врезка | Заголовок = Мини-проект: команды для умных |&lt;br /&gt;
Содержание = Есть несколько общих команд, о которых &lt;br /&gt;
полезно знать. Привожу некоторые из них без &lt;br /&gt;
объяснений; эти команды можно использовать &lt;br /&gt;
независимо от дополнительных опций. &lt;br /&gt;
Наберите их и посмотрите на результат.&lt;br /&gt;
&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{!}}date&lt;br /&gt;
{{!}}df&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%D&lt;br /&gt;
{{!}}free&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%T&lt;br /&gt;
{{!}}du&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal&lt;br /&gt;
{{!}}top&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal 1066&lt;br /&gt;
{{!}}ps&lt;br /&gt;
{{!}}}&lt;br /&gt;
| Ширина=200px |&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Стандартный ввод/вывод позволяет вводить данные в программу из&lt;br /&gt;
любого источника и выводить данные в любой источник. Таким образом, можно направить вывод одной команды непосредственно на ввод&lt;br /&gt;
другой команды... правда, мило? Linux предоставляет три канала ввода/вывода, более известных как потоки ввода/вывода. По умолчанию стандартный ввод подразумевает клавиатуру, стандартный вывод – экран.&lt;br /&gt;
Третий поток ввода/вывода – это на самом деле поток вывода для сообщений об ошибках, предупреждений и оповещений: так легче отличить&lt;br /&gt;
сообщения об ошибках от остальных сообщений. Поток ошибок обычно&lt;br /&gt;
также выводится на экран, но (как и каждый из трех стандартных потоков) может быть перенаправлен. Этим мы сейчас и займемся.&lt;br /&gt;
Есть два основных способа перенаправления потоков данных; мы&lt;br /&gt;
можем использовать &amp;gt; или | (перенаправление и каналы соответственно). Если нужно просто направить стандартный вывод в файл, можно&lt;br /&gt;
напечатать команда &amp;gt; файл. Давайте попробуем это на реальном примере: найдем все файлы с именем passwd в каталоге /etc. Наберите&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 find /etc -name passwd &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким (он зависит от особенностей вашего&lt;br /&gt;
дистрибутива Linux):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что команда генерирует как стандартный поток&lt;br /&gt;
вывода, так и поток ошибок. Сейчас мы создадим файл  findresult и&lt;br /&gt;
перенаправим стандартный поток вывода в этот файл, оставив на экране только ошибки.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd &amp;gt; findresult&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Перенаправим эти ошибки в другой файл, finderrors, используя 2&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt; finderrors&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Наберите ls, и вы получите результат, похожий на мой.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples finderrors findresult LAN Music&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы прочитать содержимое этих файлов, можно открыть их в текстовом редакторе pico:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Я предпочитаю просматривать небольшие файлы с помощью команды &lt;br /&gt;
cat. Ниже я использовала эту команду для просмотра результатов поиска в файлах findresult и finderrors.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cat findresult&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 probert@ubuntu:~$ cat finderrors&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы также можете добавить информацию в файл с помощью команды &lt;br /&gt;
&amp;gt;&amp;gt;. Давайте перенаправим стандартный вывод, чтобы добавить информацию в наш первый файл findresult следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt;&amp;gt; findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы можете снова проверить результаты с помощью команды  cat &lt;br /&gt;
findresult. Второй способ перенаправления потоков – вывод одной &lt;br /&gt;
команды прямо на вход другой (канализация). Давайте проверим &lt;br /&gt;
содержимое каталога  /usr/lib, где находятся объектные файлы, библиотеки и системные двоичные файлы. В моем каталоге  /usr/lib примерно полторы тысячи файлов – многовато, чтобы прокручивать этот &lt;br /&gt;
список один за другим! Если мы перенаправим вывод ls на ввод команды less, то получим список, в котором можно перемещаться по страницам, в удобном для нас темпе. Попробуйте:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Достигнув конца документа, нажмите клавишу  Q, чтобы вернуться в &lt;br /&gt;
командную строку. Вы также можете предварительно отсортировать &lt;br /&gt;
этот список по убыванию, например, таким образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | sort -r | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Краеугольный камень философии Unix заключается в том, чтобы каждая программа делала что-то одно по-настоящему хорошо, позволяя &lt;br /&gt;
использовать свой вывод как ввод другой программы. Использование &lt;br /&gt;
каналов позволяет провести этот принцип в жизнь, создавая очень &lt;br /&gt;
эффективные цепочки команд.&lt;br /&gt;
Теперь, разузнав, как работают  grep и каналы, сведем их вместе для &lt;br /&gt;
поиска того самого отчета и отправим его нашему коллеге:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat report1.txt | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Миссия завершена!&lt;br /&gt;
&lt;br /&gt;
==== Помощь по grep (врезка) ====&lt;br /&gt;
Поскольку  grep производит поиск соответствий по шаблонам, вы &lt;br /&gt;
должны предоставить ему регулярное выражение для этого шаблона. &lt;br /&gt;
Регулярные выражения бывают простыми и сложными. Наиболее распространенные (и простые) типы регулярных выражений выглядят так:&lt;br /&gt;
*abc Соответствует строкам, которые содержат &amp;quot;abc&amp;quot; в любом месте.&lt;br /&gt;
*^abc Соответствует строкам, начинающимся с &amp;quot;abc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Через месяц Moнтирование, создание резервных копий, распаковка файлов из tar и zip.&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F</id>
		<title>Текущие события</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F"/>
				<updated>2008-03-10T14:26:56Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Давайте здесь устроим мини-форум. Новые топики вначале.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Пожалуй начну ==&lt;br /&gt;
Учавствовал в русской википедии, но довольно давно. Пара вопросов:&lt;br /&gt;
* Почему [[Шаблон:Врезка]] не плавает справа как это задумано?&lt;br /&gt;
* Кто организует работу, правила, участники, рекомендпции и т.д.?&lt;br /&gt;
--[[Участник:Guria|Guria]] 17:26, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F</id>
		<title>Текущие события</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%A2%D0%B5%D0%BA%D1%83%D1%89%D0%B8%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F"/>
				<updated>2008-03-10T14:17:36Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: Давайте здесь устроим мини-форум. Новые топики вначале.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Давайте здесь устроим мини-форум. Новые топики вначале.&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0:%D0%92%D1%80%D0%B5%D0%B7%D0%BA%D0%B0</id>
		<title>Обсуждение шаблона:Врезка</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0:%D0%92%D1%80%D0%B5%D0%B7%D0%BA%D0%B0"/>
				<updated>2008-03-10T14:11:00Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: Что-то он не очень плавает, чтоя делаю не так?  --~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Что-то он не очень плавает, чтоя делаю не так?  --[[Участник:Guria|Guria]] 17:11, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0:!</id>
		<title>Обсуждение шаблона:!</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B0:!"/>
				<updated>2008-03-10T14:09:14Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: А менее извращённого способа нет или это единственный вариант? --~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;А менее извращённого способа нет или это единственный вариант? --[[Участник:Guria|Guria]] 17:09, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:WikiSysop</id>
		<title>Обсуждение участника:WikiSysop</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:WikiSysop"/>
				<updated>2008-03-10T14:05:25Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: очепятка&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Загрузка файлов ==&lt;br /&gt;
На этом вики-сайте загрузка файлов запрещена&amp;lt;sup&amp;gt;[[Служебная:Upload|1]]&amp;lt;/sup&amp;gt;. Включите, пожалуйста. --[[Участник:Lockal|Lockal]] 15:59, 10 марта 2008 (MSK)&lt;br /&gt;
&lt;br /&gt;
А не пора ли оформить страницы Сообщество и Текущие события? --[[Участник:Guria|Guria]] 16:58, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF97:%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B5_%D1%88%D0%B0%D0%B3%D0%B8</id>
		<title>LXF97:Первые шаги</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF97:%D0%9F%D0%B5%D1%80%D0%B2%D1%8B%D0%B5_%D1%88%D0%B0%D0%B3%D0%B8"/>
				<updated>2008-03-10T14:05:02Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Шаблон:Врезка&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Органайзер: ==&lt;br /&gt;
''Лекарством для недугов наших дней (кроме снижения затрат ископаемого топлива)&lt;br /&gt;
была бы лучшая организация. '''Энди Ченнел''' – хозяин своего времени...''&lt;br /&gt;
&lt;br /&gt;
Темп жизни, похоже, не собирается замедляться, и потерянное&lt;br /&gt;
искусство тянуть время становится, хм, все более потерянным.&lt;br /&gt;
Но так не обязательно должно быть. При содействии некоторых&lt;br /&gt;
стандартных программ Linux и правильного планирования все еще&lt;br /&gt;
возможно (по крайней мере, иногда) спихнуть на завтра то, что нужно&lt;br /&gt;
сделать сегодня. На самом деле, без этого не обойтись!&lt;br /&gt;
&lt;br /&gt;
Ключом к продуктивным проволочкам является умение точно&lt;br /&gt;
представить, когда дело должно быть сделано, сколько времени оно&lt;br /&gt;
займет и что важнее. А ключевые типы программ, помогающие этого&lt;br /&gt;
добиться – Календарь и Список задач [To Do]. К счастью, в Linux есть&lt;br /&gt;
прекрасные программы для обоих рабочих столов, Gnome и KDE, в&lt;br /&gt;
лице Evolution и Kontact соответственно, но существуют также и кроссплатформенные пакеты, вроде Sunbird – и его дочернего проекта&lt;br /&gt;
Lightning, интегрированного в Thunderbird – а также целый диапазон&lt;br /&gt;
онлайн-решений, идущих ноздря в ноздрю с настольными соперниками. Ради простоты мы выбрали для данного урока Sunbird/Lightning,&lt;br /&gt;
но приведенные здесь методы подходят к практически любому мыслимому приложению, управляющему расписанием. Sunbird делает все&lt;br /&gt;
необходимое для контроля за нашим временем; мы создадим календари для задач, добавляя и редактируя события, установим напоминания,&lt;br /&gt;
подписавшись на сетевые списки событий, синхронизирумся с нашим&lt;br /&gt;
сетевым календарем и расставим приоритеты работ, настроив список&lt;br /&gt;
задач. Через страницу мы также покажем, как идти в ногу со временем&lt;br /&gt;
вдали от вашего Linux-компьютера при помощи новаторского (и очень&lt;br /&gt;
дешевого) органайзера Graphite.&lt;br /&gt;
&lt;br /&gt;
Кое-что из этого основано на идее Getting Things Done (GTD) Дэвида&lt;br /&gt;
Аллена [David Allen] (www.davidco.com): как наиболее эффективно&lt;br /&gt;
управлять информацией и временем ''[в русском переводе: Д. Аллен&lt;br /&gt;
«Как привести дела в порядок. Искусство продуктивности без стресса»,&lt;br /&gt;
Вильямс, 2007 г.]''. И хотя вся GDT-«индустрия» полнится рекламной&lt;br /&gt;
шумихой и почти непознаваемым корпоративным сленгом, по сути она&lt;br /&gt;
выливается в несколько здравых идей, которые можно реализовать, не&lt;br /&gt;
прибегая к дорогому ПО, книгам или интенсивным семинарам.&lt;br /&gt;
&lt;br /&gt;
=== Получаем программы ===&lt;br /&gt;
Для начала нам необходимы две программы, первая из которых – сама&lt;br /&gt;
Sunbird. На момент написания была доступна версия 0.5, на www.&lt;br /&gt;
mozilla.org/projects/calendar/sunbird/, она имеется на DVD этого месяца. Загрузив файл, дважды щелкните на архиве и распакуйте его куданибудь, где у вас хранятся приложения или двоичные файлы (в нашем&lt;br /&gt;
случае, это /home/downloads/имя_приложения). Затем сам архив можно удалить. Теперь просмотрите каталог Sunbird и найдите элемент с&lt;br /&gt;
именем Sunbird (вообще-то это скрипт) и дважды щелкните на нем.&lt;br /&gt;
Перед вами появится окно с выбором: показать файл, запустить его в&lt;br /&gt;
терминале или просто запустить. Выберите Запустить [Run] и подождите пока приложение запускается. При первом запуске вам предоставится возможность импорта данных календаря из других источников,&lt;br /&gt;
включая Evolution, а затем перед вами предстанет само приложение, по&lt;br /&gt;
умолчанию отображающее вид День. Абсолютно понятный набор других видов, доступный в верхнем меню окна, включает Месяц [Month]&lt;br /&gt;
и Неделю [Week].&lt;br /&gt;
&lt;br /&gt;
Прежде чем двинуться дальше, сделаем на рабочем столе ярлык&lt;br /&gt;
для этого приложения и заставим его запускаться при каждой загрузке&lt;br /&gt;
системы – это удобный способ известить себя о насущных задачах на&lt;br /&gt;
день: календарь должен быть первым, что вы видите.&lt;br /&gt;
&lt;br /&gt;
== Успеть все! ==&lt;br /&gt;
Итак, в Gnome щелкните где-нибудь на рабочем столе и выберите&lt;br /&gt;
Создать кнопку запуска... Добавьте соответствующее Имя, затем щелкните по кнопке Просмотреть... рядом с областью Команда. Перейдите к&lt;br /&gt;
элементу Sunbird, на котором вы щелкали ранее, и выберите его. Теперь&lt;br /&gt;
щелкните по кнопке с текстом Нет значка, выберите Просмотреть и&lt;br /&gt;
найдите каталог /Icon внутри каталога Sunbird. Выберите большую из&lt;br /&gt;
двух иконок и нажмите кнопку OK. Можете также добавить подсказку&lt;br /&gt;
для элемента, поместив текст в строку Примечание. Если иконка получилась слегка великоватой для вашего рабочего стола, то щелкните&lt;br /&gt;
на ней правой кнопкой мыши, выберите Растянуть значок, а затем&lt;br /&gt;
измените его размер, используя один из четырех квадратиков по углам&lt;br /&gt;
иконки. Теперь нажмите Система &amp;gt; Параметры &amp;gt; Сеансы и выберите&lt;br /&gt;
вкладку Запускаемые при старте программы. Нажмите Создать, задайте имя и, уже в последний раз, Просмотреть для перемещения в соответствующее место, чтобы выбрать приложение Sunbird.&lt;br /&gt;
&lt;br /&gt;
Процедура для KDE весьма похожа, за исключением того, что&lt;br /&gt;
после правого щелчка при создании ярлыка на рабочем столе следует&lt;br /&gt;
выбрать Ссылка на приложение... (и далее то же). Чтобы приложение&lt;br /&gt;
запускалось автоматически, откройте ваш каталог в /home, выведите&lt;br /&gt;
скрытые файлы (Вид &amp;gt; Показывать скрытые файлы), перейдите в .kde/&lt;br /&gt;
Autostart и создайте в нем ссылку на приложение Sunbird.&lt;br /&gt;
&lt;br /&gt;
Теперь, когда бы вы ни включили свой ПК, Sunbird в Gnome или KDE&lt;br /&gt;
будет запускаться автоматически, и вы точно будете знать, чему посвятите свой день – конечно, если позаботитесь о вводе этих данных.&lt;br /&gt;
&lt;br /&gt;
Вторая необходимая нам программа также есть на DVD. Она назы-&lt;br /&gt;
вается Provider и позволяет Sunbird (или Lightning) осуществлять двустороннюю синхронизацию с календарем Google. Это значит, что если&lt;br /&gt;
вы обновите календарь Sunbird, то эти изменения попадут и в ваш сетевой календарь, и наоборот; а значит, открываете ли вы свои данные в&lt;br /&gt;
домашнем уюте или в интернет-кафе в Москве, вы всегда будете иметь&lt;br /&gt;
верную информацию под рукой. Последняя версия доступна на https://&lt;br /&gt;
addons.mozilla.org/en-US/sunbird/addon/4631. Однако если вы просто&lt;br /&gt;
щелкнете по кнопке Установить [Install Now], ничего не произойдет,&lt;br /&gt;
потому что расширение разработано для Sunbird, а ссылка работает&lt;br /&gt;
только в Firefox. Вместо этого щелкните на ссылке правой кнопкой&lt;br /&gt;
мыши и сохраните ее на вашем рабочем столе. Теперь откройте Sunbird,&lt;br /&gt;
выполните Инструменты &amp;gt; Дополнения и внизу слева нажмите кнопку&lt;br /&gt;
Установить... Откроется стандартный диалог открытия файла, и вы&lt;br /&gt;
сможете выбрать в нем загруженный XPI-файл. По завершении установки понадобится перезапустить Sunbird.&lt;br /&gt;
&lt;br /&gt;
=== Добавляем содержимое ===&lt;br /&gt;
Итак, мы справились с установкой, но пока данных нет, проку от этого&lt;br /&gt;
мало. Первое, что мы добавим – праздники своей страны: это легко,&lt;br /&gt;
благодаря тому, что web-сайт проекта в разделе Docs &amp;amp; Extras имеет&lt;br /&gt;
набор календарей праздников. Отыщите ссылку на вашу страну и сохраните файл на свой жесткий диск. Вернитесь в Sunbird, выполните Файл&lt;br /&gt;
&amp;gt; Открыть календарь... [File &amp;gt; Open Calendar File...] и переместитесь к&lt;br /&gt;
только что загруженному файлу. Теперь, выбрав вид Месяц, вы должны увидеть, что календарь заселен различными событиями. Можете&lt;br /&gt;
отключить эти события, перейдя на вкладку Календари [Calendars]&lt;br /&gt;
(слева от главного окна) и сняв галочку напротив RussiaHolidays.&lt;br /&gt;
Поскольку Sunbird использует распространенный формат файловкалендарей ICS, можно загружать из сети всевозможные варианты –&lt;br /&gt;
например, игры сборной Манчестера на сезон–2007/2008, и это будет&lt;br /&gt;
отдельный календарь внутри приложения.&lt;br /&gt;
&lt;br /&gt;
Собственные события можно добавить в календарь, дважды щел-&lt;br /&gt;
кнув на дате или во временной секции любого из видов и добавив&lt;br /&gt;
соответствующую информацию. Каждое событие должно иметь дату,&lt;br /&gt;
время и продолжительность (если только это не событие на весь день),&lt;br /&gt;
и выбранный Календарь (то есть частью какого календаря оно является). Среди других опций, пригодится флажок Повторять, который&lt;br /&gt;
также позволяет повторить событие согласно определенному шаблону,&lt;br /&gt;
если, например, надо учесть событие, происходящее в 10:00, но только по будням и только до 22 декабря. После определения события оно&lt;br /&gt;
тут же появится в соответствующем окошке, подкрашенное цветом,&lt;br /&gt;
выбранным для данного календаря. Вы можете изменить детали события, дважды щелкнув на нем; или, если необходимо изменить только&lt;br /&gt;
дату (или время в виде День), можете перенести выбранную секцию в&lt;br /&gt;
другое место.&lt;br /&gt;
&lt;br /&gt;
Для грамотного управления временем необходимо изучить две&lt;br /&gt;
основные концепции: разделение и приоритет. Примером первой является собрание всех российских праздников в один календарь Sunbird.&lt;br /&gt;
Эта информация может быть включена или выключена, то есть при&lt;br /&gt;
желании вы можете полностью ее игнорировать, пока она снова не&lt;br /&gt;
понадобится. Вторая связана с использованием списков задач с приоритетами – Sunbird их тоже поддерживает, но мы воспользуемся сетевым сервисом: он более гибок и прекрасно интегрируется с Sunbird.&lt;br /&gt;
&lt;br /&gt;
Предположим, в вашей жизни есть три главных приоритета: семья,&lt;br /&gt;
работа и дела общественные; последнее – в форме заведования школой. Надо также отслеживать важные даты релиз-цикла Fedora. На все&lt;br /&gt;
это требуется пять календарей, включая уже имеющийся календарь&lt;br /&gt;
российских праздников. Конечно, можно сгрести все эти данные в один&lt;br /&gt;
календарь, но смысл отдельных календарей в том, что вы можете предвидеть свою жизнь, если хотите – то в виде баланса работа/жизнь, на&lt;br /&gt;
месяц вперед и, если необходимо, полностью «отключить» какую-то из&lt;br /&gt;
линий, если требуется сосредоточиться на другом.&lt;br /&gt;
&lt;br /&gt;
Первым делом надо переименовать домашний календарь по умолчанию – Мой календарь: он идеально подойдет как календарь обще-&lt;br /&gt;
ственных мероприятий, поскольку к нему не нужен удаленный доступ.&lt;br /&gt;
Щелкните правой кнопкой мыши на Моем календаре, выберите&lt;br /&gt;
Свойства (или дважды щелкните на нем) и введите новое имя. Здесь&lt;br /&gt;
вы можете также задать новый цвет календаря.&lt;br /&gt;
&lt;br /&gt;
Для создания нового календаря, щелкните правой кнопкой мыши&lt;br /&gt;
в панели календарей (слева в главном окне) и выберите Новый календарь... или просто выполните двойной щелчок где-нибудь на этой&lt;br /&gt;
панели для запуска мастера нового календаря. Вначале вам предложат&lt;br /&gt;
два варианта: календарь на вашем компьютере или в сети? Первый&lt;br /&gt;
просто хранится на вашем компьютере (так же, как переименованный Общественный календарь), а второй для получения информации&lt;br /&gt;
соединяется с календарем в Интернете; однако для доступа или изменения данных сетевого календаря не обязательно подключаться к сети,&lt;br /&gt;
поскольку Sunbird создаст локальное зеркало на то время, пока вы&lt;br /&gt;
отсоединены. Вы можете обновить все позднее, щелкнув правой кнопкой мыши на календаре и выбрав Обновить удаленные календари или&lt;br /&gt;
используя комбинацию клавиш Ctrl+R.&lt;br /&gt;
&lt;br /&gt;
Нас интересует возможность работать с нескольких разных компьютеров, но так, чтобы иметь доступ к данным и в отсутствие сети,&lt;br /&gt;
поэтому создадим сетевой календарь. На самом деле, сперва мы подключим существующий календарь Google, а потом – календарь в формате iCal. Это означает, что нам не придется вновь вводить кучу данных&lt;br /&gt;
или, что более важно, потерять их, если жесткий диск выйдет из строя&lt;br /&gt;
или вор-линуксофил стырит ноутбук LXF: оба аспекта очень важны при&lt;br /&gt;
решении вверить свои данные какому-либо устройству.&lt;br /&gt;
&lt;br /&gt;
Чтобы внести информацию в Sunbird, вначале войдем в службу&lt;br /&gt;
Google Calendar и выберем календарь, к которому собираемся подключиться. Как и в Sunbird (и практически везде), список доступных&lt;br /&gt;
календарей отображается слева. Щелкните на стрелке рядом с именем календаря и выберите Calendar Settings [Настройки календаря].&lt;br /&gt;
Интересующий нас раздел внизу окна справа и озаглавлен Private&lt;br /&gt;
Address [Личный адрес]. Щелкните правой кнопкой мыши на кнопке XML и выберите Copy link location [Скопировать ссылку]. Теперь&lt;br /&gt;
вернитесь в Sunbird и запустите мастер нового календаря. Выберите&lt;br /&gt;
календарь В сети и опцию Google Calendar и, по запросу, вставьте скопированный URL из буфера обмена при помощи Ctrl+V. Нажмите Далее.&lt;br /&gt;
Теперь вам предоставляется возможность задать календарю имя (мы&lt;br /&gt;
выберем Работа), а также цвет отображения. Цвета очень важны с&lt;br /&gt;
точки зрения организации: они сразу же наглядно покажут, чем будет&lt;br /&gt;
занят ваш день, неделя или месяц и насколько вы будете заняты; так&lt;br /&gt;
что выберите цвет, некоторым образом соответствующий целям календаря, и убедитесь, что отличие в оттенках каждого из них бросается в&lt;br /&gt;
глаза. В следующем окне необходимо ввести детали для входа на сервер и выбрать, следует ли сохранить эти детали, чтобы календарь мог&lt;br /&gt;
обновляться автоматически. Когда вы дойдете до конца, данные будут&lt;br /&gt;
загружены, и, как по волшебству, появятся в Sunbird. Теперь сделайте&lt;br /&gt;
то же для остальных ваших личных календарей. Поскольку мы установили для Sunbird модуль расширения Provider, то любые изменения,&lt;br /&gt;
сделанные нами в календарях, связанных с сервисом Google, будут&lt;br /&gt;
отражены в версии, размещенной в сети.&lt;br /&gt;
&lt;br /&gt;
Далее, добавим динамический календарь событий, сосредоточенный на проекте Fedora: вновь запустим мастера нового календаря&lt;br /&gt;
и выберем опцию В сети и формат iCalendar (ICS). Календарь находится на webcal://fedora.redhat.com/participate/schedule/fedora-project.&lt;br /&gt;
ics, так что вставьте этот URL в строку Адрес и нажмите кнопку OK.&lt;br /&gt;
Замечательно то, что если некий пользователь обновит календарь&lt;br /&gt;
Fedora, он будет синхронизирован с вашим, так что у вас всегда будет&lt;br /&gt;
свежая информация. Выше главного окна календаря расположен список встреч: это просто список всего, что вам предстоит, и поскольку&lt;br /&gt;
он отражает содержание календаря ниже, то вы можете включать и&lt;br /&gt;
&lt;br /&gt;
=== Что за дела! ===&lt;br /&gt;
Мы заготовили несколько календарей, предоставляющих долгосрочный обзор того, что нас ждет – и можем сконцентрироваться на&lt;br /&gt;
задачах дня, а для этого необходим Список задач [To Do list]. Sunbird&lt;br /&gt;
имеет окно со списком задач, но бывает удобнее разделить ваше расписание на два вида (долгосрочное и текущее), чтобы, работая над&lt;br /&gt;
непосредственными задачами, вы не отвлекались бы на то, что ждет&lt;br /&gt;
вас за углом.&lt;br /&gt;
&lt;br /&gt;
Для управления нашими списками воспользуемся сервисом под&lt;br /&gt;
названием Remember The Milk [«Не забудь купить молока»] (www.&lt;br /&gt;
rememberthemilk.com). Это сетевое приложение позиционируется как&lt;br /&gt;
«список напоминаний о покупках», но фактически это Управление задачами/Список задач промышленного уровня, и оно прекрасно подойдет&lt;br /&gt;
для наших попыток Привести Дела В Порядок. Мы выбрали Remember&lt;br /&gt;
The Milk (RTM), а не другой сетевой сервис из подобных Списков задач&lt;br /&gt;
по той причине, что RTM позволяет создавать различные списки, способные отражать пометки о событиях в наших календарях. К тому же&lt;br /&gt;
последняя версия программы работает с Google Gears (более подробно – см. http://gears.google.com), а значит, вы сохраните доступ к редактированию ваших списков, будучи вне сети; данные затем будут обновлены при очередном подключении к Интернету.&lt;br /&gt;
&lt;br /&gt;
Прежде всего, надо зарегистрироваться на сервисе и, что не обязательно, загрузить и установить программу Google Gears, запускаемую&lt;br /&gt;
из XPI в Firefox. Зарегистрировавшись и войдя, щелкните на ссылке&lt;br /&gt;
Settings [Настройки], расположенной справа вверху главной страницы&lt;br /&gt;
RTM. Теперь выберите вкладку Lists [Списки]: здесь вы можете опревыключать его части, используя флажки в списке календарей слева.&lt;br /&gt;
делить сколь угодно много своих списков. Щелкните на кнопке Add List&lt;br /&gt;
[Добавить список] и дайте списку имя. При желании быть действительно суперсобранным, можете создать список для каждого дня недели,&lt;br /&gt;
чтобы знать, что вы хотели выполнить в каждый 24-часовой период,&lt;br /&gt;
плюс список Будущее для того, что произойдет чуть позже. Или просто&lt;br /&gt;
следуйте схеме, используемой для вашего календаря. Каким бы способом вы ни решили организовать ваши списки, RTM разместит их в&lt;br /&gt;
алфавитном порядке, а если вы хотите иного упорядочения, придется&lt;br /&gt;
добавить к вашим спискам числа (01, 02, 03 и т.д.). Покончив с этим,&lt;br /&gt;
перейдите на страницу Tasks [Задачи] (ссылка справа вверху) – вы&lt;br /&gt;
увидите, что каждый список имеет свою вкладку; есть еще две стандартные вкладки с именами Inbox [Входящие] и Sent [Отправленные],&lt;br /&gt;
к которым мы сейчас перейдем.&lt;br /&gt;
&lt;br /&gt;
Чтобы начать, щелкните на одной из вкладок. Метод добавления&lt;br /&gt;
задачи тот же, что и при создании различных списков: выберите Add&lt;br /&gt;
Task [Добавить задачу], введите имя задачи и нажмите ввод. По умолчанию, задачи будут появляться в порядке их введения, но вы можете&lt;br /&gt;
изменить этот порядок, установив некоторым из них приоритеты – это&lt;br /&gt;
один из фундаментальных аспектов серьезной организации, достойный применения. RTM имеет четыре настройки приоритетов: 1, 2, 3 и&lt;br /&gt;
none [нет]. Для придания задаче приоритета, выберите ее, используя&lt;br /&gt;
флажок слева от имени задачи, а затем в выпадающем списке над&lt;br /&gt;
задачами укажите соответствующий приоритет. Задача при этом подсветится и, в зависимости от выбранных вами настроек, может также&lt;br /&gt;
изменить свою позицию в списке. Высокоприоритетные элементы&lt;br /&gt;
всплывут к верху краю списка, элементы без приоритета останутся&lt;br /&gt;
внизу. Вы можете также повысить или понизить приоритет области&lt;br /&gt;
задач, выбрав все те, что нужно изменить, и применив к ним пункт&lt;br /&gt;
списка Move Priority Up... [Повысить приоритет...]. При этом приоритет&lt;br /&gt;
3 у задач изменится на 2, а 2 изменится на 1. События без приоритета&lt;br /&gt;
автоматически получат приоритет 3.&lt;br /&gt;
&lt;br /&gt;
Это облегчает управление приоритетами в течение дня. Завершив&lt;br /&gt;
задачу с высоким приоритетом, вы можете выбрать ее и пометить как&lt;br /&gt;
Complete [Выполнено], а затем выбрать следующую и увеличить ее&lt;br /&gt;
приоритет на 1, чтобы знать новую первоочередную задачу.&lt;br /&gt;
&lt;br /&gt;
Вы могли заметить, что задачи по умолчанию не связаны с датой;&lt;br /&gt;
добавить ее и можно, и несложно. Сперва выберите задачу, установив&lt;br /&gt;
флажок, а затем перейдите в раздел справа от списка задач. На вид это&lt;br /&gt;
просто информационный список, но все записи в нем можно редактировать, и если вы щелкнете на тексте рядом с записью Due: [Срок],&lt;br /&gt;
то сможете добавить информацию о сроке выполнения задачи. RTM&lt;br /&gt;
хватает ума, чтобы проверить и реализовать ваши намерения; например, если вы введете срок как ‘next tuesday’ [следующий вторник], он&lt;br /&gt;
автоматически введет за вас дату, а если вы укажете только время, он&lt;br /&gt;
сочтет, что вы имели в виду «сегодня», если время еще не прошло;&lt;br /&gt;
иначе он впишет его на «завтра». Вы можете также установить опцию&lt;br /&gt;
повторения (она работает так же, как и в календаре), добавить предположительное время завершения, поместить тэги для категорий поверх&lt;br /&gt;
уже имеющихся и даже добавить URL, если, например, задача связана&lt;br /&gt;
с неким web-сайтом или документом в сети.&lt;br /&gt;
&lt;br /&gt;
В добавление ко вкладке Task [Задача], имеется также опция Notes&lt;br /&gt;
[Заметки] – это небольшая, автоматически сохраняющаяся текстовая&lt;br /&gt;
область, где можно внести дополнительные детали конкретной задачи. Все эти детали окажутся под рукой, когда вы выберете задачу из –&lt;br /&gt;
весьма мощное подспорье. Задачи можно также добавлять в список по&lt;br /&gt;
электронной почте, SMS или, если вы хотите приобщиться к Web 2.0,&lt;br /&gt;
даже через учетную запись Twitter.&lt;br /&gt;
&lt;br /&gt;
=== Полный цикл ===&lt;br /&gt;
Итак, мы организовали наше расписание в Sunbird и справились с организацией управления текущими задачами посредством Remember The&lt;br /&gt;
Milk. Настало время небольшого объединения мыслей и связей: соединим обе службы вместе. RTM имеет возможность вывода вашего списка задач – по крайней мере, тех, у которых есть дата завершения – в&lt;br /&gt;
виде iCal-файла, то есть мы можем подписаться на этот URL при помощи Sunbird и получить автоматическое появление задач в календаре.&lt;br /&gt;
Стандартная система RTM выводит каждый список в виде отдельного iCal-файла, но не худо бы собрать их в один синхронизированный&lt;br /&gt;
файл. Так что вновь перейдите на страницу Settings [Настройки] и&lt;br /&gt;
выберите вкладку Info. Здесь вы найдете адрес электронной почты для&lt;br /&gt;
пересылки задач в ваш список, адрес ленты Atom (и сможете просматривать ваш список задач в читалке RSS), а также два адреса, которые&lt;br /&gt;
можно добавить в строку Адрес в окне нового календаря Sunbird.&lt;br /&gt;
&lt;br /&gt;
Здесь есть две опции. Во-первых, возможен экспорт списка задач в&lt;br /&gt;
виде списка, но он поддерживается немногими программами. Лучший&lt;br /&gt;
(да и единственный) выбор для Sunbird – заставить RTM экспортировать списки как события. Щелкните правой кнопкой на URL с пометкой&lt;br /&gt;
iCalendar Events Service (All Lists) [Служба событий iCalendar (Все списки)] и выберите Copy Link Location [Копировать ссылку]. Теперь вернитесь в Sunbird и вставьте эту информацию в строку Адрес нового календаря. Задайте новому календарю имя и цвет, и ваши события перекочуют в Sunbird. Однако помните, что в отличие от календаря Google, к&lt;br /&gt;
которому мы подключались ранее, это езда в один конец: изменение&lt;br /&gt;
даты завершения задачи в Sunbird не отразится в списке RTM.&lt;br /&gt;
&lt;br /&gt;
Хотя хорошее управление временем не снизит число распечаток&lt;br /&gt;
и не укоротит бессмысленные споры ваших детей, оно может оказать&lt;br /&gt;
положительное влияние на ваш уровень стресса и улучшить отношения&lt;br /&gt;
с семьей и коллегами. И благодаря осведомленности о том, что мне&lt;br /&gt;
следует делать и когда, я выкроил 20 минут на эффектное завершение&lt;br /&gt;
статьи. А лучше посижу немного в саду...&lt;br /&gt;
&lt;br /&gt;
{{ Врезка | Заголовок=КПК-органайзер Graphite|&lt;br /&gt;
Содержание=Все еще существуют такие места и времена,&lt;br /&gt;
когда у вас нет доступа к вашим любовно построенным календарям и спискам задач. Для&lt;br /&gt;
таких случаев, органайзер Graphite – прекрасный инструмент внесения данных, готовых для&lt;br /&gt;
синхронизации с вашими календарями и списками задач при первой возможности. Такие&lt;br /&gt;
продаются в любом приличном магазине канцтоваров и в большинстве супермаркетов, причем во всевозможных видах: прошитые, на&lt;br /&gt;
спиральке и клеенные. На пару с маленьким&lt;br /&gt;
карандашом, органайзер можно легко извлечь&lt;br /&gt;
и использовать практически везде, даже там,&lt;br /&gt;
где суеверные туземцы подозревают, что электричество – это мстительный злой дух.&lt;br /&gt;
Основные принципы обращения с подобными&lt;br /&gt;
штуками – выбирать их малого формата,&lt;br /&gt;
использовать по листку на день и, вычеркнув&lt;br /&gt;
все на листке, тут же его выбрасывать, чтобы&lt;br /&gt;
верхним всегда был «сегодня» или «просрочено». Да, и не забывайте о взаимном обмене&lt;br /&gt;
событиями между органайзером и вашим&lt;br /&gt;
списком задач (исключительно нудное занятие).}}&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/LXF97:Bash</id>
		<title>LXF97:Bash</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/LXF97:Bash"/>
				<updated>2008-03-10T14:01:34Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Сделал врезку через шаблон&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Bash: Используем командную строку ==&lt;br /&gt;
''Часть 2 Хотите проводить в командной строке больше времени? '''Рэйчел Проберт'''&lt;br /&gt;
расскажет о grep, pipe и других командах, которые обязательно надо знать.''&lt;br /&gt;
&lt;br /&gt;
В прошлый раз мы говорили о действиях, потенциально способных &lt;br /&gt;
отобрать много времени: например, необходимо быстро найти отчет, &lt;br /&gt;
написанный когда-то давно. Вы забыли имя файла, но помните, что &lt;br /&gt;
темой отчета было соглашение с компанией ABC. После обнаружения &lt;br /&gt;
документа его содержимое нужно отправить коллеге или шефу.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat filename | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Для начала мы разомнемся с помощью нескольких команд для &lt;br /&gt;
опытных пользователей. Они вряд ли пригодятся обычным пользователям для каждодневной работы, но если вы администратор системы &lt;br /&gt;
и устанавливаете программы для своих пользователей, значение этих &lt;br /&gt;
команд повышается.&lt;br /&gt;
Команда  whoami не вовлечет вас в философские дискуссии по &lt;br /&gt;
самопознанию, но напомнит, под каким именем пользователя вы вошли в систему; очень удобно, когда вы работаете с несколькими учетными записями, используемыми для решения различных задач, и постоянно переключаетесь между ними. Похожая команда, whatis, позволит &lt;br /&gt;
понять, что делает та или иная программа. В Linux сотни программ, и &lt;br /&gt;
невозможно запомнить, что делает каждая из них. Например, напечатав whatis grep, вы увидите:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep (1) - print lines matching a pattern&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Команда whereis поможет найти другие нужные вам команды или&lt;br /&gt;
программы. Если вы загружаете из Интернета программу, для работы&lt;br /&gt;
которой нужна другая программа, вам захочется узнать, установлена&lt;br /&gt;
ли она в вашей системе. Чтобы выяснить местонахождение программы&lt;br /&gt;
и ее man-страницы, наберите whereis [имя программы]. Так, например,&lt;br /&gt;
находится расположение популярного текстового редактора vi:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 whereis vi&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Echo – небольшая команда, повторяющая все, что вы ни напечатали. Например, если набрать echo hello, на экране появится слово &amp;quot;hello&amp;quot;.&lt;br /&gt;
Вообще говоря, обычно это делать незачем: команда echo может пригодиться вам в будущем, если вы начнете писать скрипты. (Скрипт – это&lt;br /&gt;
небольшая программа, позволяющая выполнить несколько команд за&lt;br /&gt;
один раз.) В скриптах  echo может использоваться для отображения&lt;br /&gt;
действий скрипта в каждый момент времени, или чтобы попросить&lt;br /&gt;
пользователя что-нибудь сделать, например, ввести текст.&lt;br /&gt;
Команда  last выведет список пользователей, заходивших сегодня в систему, и терминалы, которые они используют (использовали).&lt;br /&gt;
Набрав  exit, вы завершите сеанс работы с терминалом. Если нужно&lt;br /&gt;
зайти в систему под другим пользователем, используйте вместо нее&lt;br /&gt;
команду logout.&lt;br /&gt;
&lt;br /&gt;
=== Часть 1: По Grep’у! ===&lt;br /&gt;
Вот теперь повеселимся! Grep – команда, которая находит слова в &lt;br /&gt;
файлах. Охотно сказала бы, что ее название произошло от слова &lt;br /&gt;
&amp;quot;поиск&amp;quot; по-клингонски, но это было бы неправдой и только укрепило бы стереотип, что все технари любят Star Trek! На самом деле &lt;br /&gt;
название команды – сокращение от &amp;quot;Глобальный Парсер Регулярных &lt;br /&gt;
Выражений&amp;quot; (Global Regular Expression Parser), что означает &amp;quot;глобальный поиск строк, соответствующих регулярному выражению, и их &lt;br /&gt;
вывод на экран&amp;quot;. Название команды происходит от команды текстового &lt;br /&gt;
редактора ed g/re/p, выполняющей подобные действия.&lt;br /&gt;
Начнем с создания специального каталога, где будем размещать новые &lt;br /&gt;
файлы. Чтобы убедиться, что каталог создан, используйте команду ls.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mkdir Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Откроем текстовый редактор и создадим новый файл report1.txt:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico report1.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Pico – это текстовый редактор, который я использовала при написании &lt;br /&gt;
этой статьи. В дистрибутив Linux включено несколько текстовых редакторов; выбор одного из них определяется лишь вашими предпочтениями и наличием у редактора специальных функций, которые помогут &lt;br /&gt;
в решении именно вашей задачи. Когда текстовый редактор откроется, &lt;br /&gt;
напечатайте слово CompanyABC. Затем точно так же создайте второй &lt;br /&gt;
файл с именем report2.txt, который будет содержать слово companyabc. &lt;br /&gt;
Закончив, введите команду ls, и вы увидите примерно такой список:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music report1.txt report2.txt Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что файлы, которые мы создали, находятся рядом &lt;br /&gt;
с каталогом Work. Давайте переместим их в нужный каталог:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ mv report*.txt /home/probert/Work&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples LAN Music Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Звездочка (*) – это специальный символ, который позволяет нам &lt;br /&gt;
делать все, что мы хотим, с файлами, название которых начинается со &lt;br /&gt;
слова  report; каждый из таких файлов включается в команду. У меня &lt;br /&gt;
есть правила именования файлов и разделения их на категории, которых я строго придерживаюсь. Например, названия всех файлов отчетов &lt;br /&gt;
начинаются со слова report, счетов – со слова invoice и т.д. Пускай это &lt;br /&gt;
выглядит как ритуальные действия безнадежно больного ОКР, зато при &lt;br /&gt;
наличии методичного подхода нужные вещи находятся очень быстро!&lt;br /&gt;
Переместимся в каталог Work и снова используем ls, чтобы убедиться,&lt;br /&gt;
что все файлы перемещены:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cd Work&lt;br /&gt;
 probert@ubuntu:~/Work$ ls&lt;br /&gt;
 report1.txt report2.txt&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Сейчас мы сделаем следующий шаг в поисках этого крайне важного &lt;br /&gt;
файла для нашего коллеги. Команда grep обладает множеством опций &lt;br /&gt;
(их список выведет команда man grep). Опция -r позволяет выполнить &lt;br /&gt;
рекурсивный поиск файлов, начиная с названного каталога, а опция  -i &lt;br /&gt;
выполнит поиск без учета регистра. Попробуйте следующие команды с &lt;br /&gt;
опцией -i и без -i и посмотрите, как это повлияет на результаты поиска.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~/Work$ grep -r -i ‘CompanyABC’ /home/&lt;br /&gt;
 probert/Work&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /home/probert/Work/report1.txt:CompanyABC&lt;br /&gt;
 /home/probert/Work/report2.txt:companyabc&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Итак, мы нашли этот неуловимый файл; что же дальше?&lt;br /&gt;
&lt;br /&gt;
=== Часть 2: Стандартный ввод-вывод ===&lt;br /&gt;
Стандартный ввод/вывод позволяет вводить данные в программу из&lt;br /&gt;
любого источника и выводить данные в любой источник. Таким образом, можно направить вывод одной команды непосредственно на ввод&lt;br /&gt;
другой команды... правда, мило? Linux предоставляет три канала ввода/вывода, более известных как потоки ввода/вывода. По умолчанию стандартный ввод подразумевает клавиатуру, стандартный вывод – экран.&lt;br /&gt;
Третий поток ввода/вывода – это на самом деле поток вывода для сообщений об ошибках, предупреждений и оповещений: так легче отличить&lt;br /&gt;
сообщения об ошибках от остальных сообщений. Поток ошибок обычно&lt;br /&gt;
также выводится на экран, но (как и каждый из трех стандартных потоков) может быть перенаправлен. Этим мы сейчас и займемся.&lt;br /&gt;
Есть два основных способа перенаправления потоков данных; мы&lt;br /&gt;
можем использовать &amp;gt; или | (перенаправление и каналы соответственно). Если нужно просто направить стандартный вывод в файл, можно&lt;br /&gt;
напечатать команда &amp;gt; файл. Давайте попробуем это на реальном примере: найдем все файлы с именем passwd в каталоге /etc. Наберите&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 find /etc -name passwd &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Результат будет примерно таким (он зависит от особенностей вашего&lt;br /&gt;
дистрибутива Linux):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Обратите внимание, что команда генерирует как стандартный поток&lt;br /&gt;
вывода, так и поток ошибок. Сейчас мы создадим файл  findresult и&lt;br /&gt;
перенаправим стандартный поток вывода в этот файл, оставив на экране только ошибки.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd &amp;gt; findresult&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Перенаправим эти ошибки в другой файл, finderrors, используя 2&amp;gt;.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt; finderrors&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Наберите ls, и вы получите результат, похожий на мой.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ ls&lt;br /&gt;
 Bin Desktop Examples finderrors findresult LAN Music&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Чтобы прочитать содержимое этих файлов, можно открыть их в текстовом редакторе pico:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ pico findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Я предпочитаю просматривать небольшие файлы с помощью команды &lt;br /&gt;
cat. Ниже я использовала эту команду для просмотра результатов поиска в файлах findresult и finderrors.&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ cat findresult&lt;br /&gt;
 /etc/passwd&lt;br /&gt;
 /etc/pam.d/passwd&lt;br /&gt;
 probert@ubuntu:~$ cat finderrors&lt;br /&gt;
 find: /etc/ssl/private: Permission denied&lt;br /&gt;
 find: /etc/cups/ssl: Permission denied&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы также можете добавить информацию в файл с помощью команды &lt;br /&gt;
&amp;gt;&amp;gt;. Давайте перенаправим стандартный вывод, чтобы добавить информацию в наш первый файл findresult следующим образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 probert@ubuntu:~$ find /etc -name passwd 2&amp;gt;&amp;gt; findresult&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Вы можете снова проверить результаты с помощью команды  cat &lt;br /&gt;
findresult. Второй способ перенаправления потоков – вывод одной &lt;br /&gt;
команды прямо на вход другой (канализация). Давайте проверим &lt;br /&gt;
содержимое каталога  /usr/lib, где находятся объектные файлы, библиотеки и системные двоичные файлы. В моем каталоге  /usr/lib примерно полторы тысячи файлов – многовато, чтобы прокручивать этот &lt;br /&gt;
список один за другим! Если мы перенаправим вывод ls на ввод команды less, то получим список, в котором можно перемещаться по страницам, в удобном для нас темпе. Попробуйте:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Достигнув конца документа, нажмите клавишу  Q, чтобы вернуться в &lt;br /&gt;
командную строку. Вы также можете предварительно отсортировать &lt;br /&gt;
этот список по убыванию, например, таким образом:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 ls /usr/lib | sort -r | less&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Краеугольный камень философии Unix заключается в том, чтобы каждая программа делала что-то одно по-настоящему хорошо, позволяя &lt;br /&gt;
использовать свой вывод как ввод другой программы. Использование &lt;br /&gt;
каналов позволяет провести этот принцип в жизнь, создавая очень &lt;br /&gt;
эффективные цепочки команд.&lt;br /&gt;
Теперь, разузнав, как работают  grep и каналы, сведем их вместе для &lt;br /&gt;
поиска того самого отчета и отправим его нашему коллеге:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 grep -r -i -H CompanyABC /home/rjprobert/work&lt;br /&gt;
 cat report1.txt | mail colleague@work.com&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Миссия завершена!&lt;br /&gt;
&lt;br /&gt;
==== Помощь по grep (врезка) ====&lt;br /&gt;
Поскольку  grep производит поиск соответствий по шаблонам, вы &lt;br /&gt;
должны предоставить ему регулярное выражение для этого шаблона. &lt;br /&gt;
Регулярные выражения бывают простыми и сложными. Наиболее распространенные (и простые) типы регулярных выражений выглядят так:&lt;br /&gt;
*abc Соответствует строкам, которые содержат &amp;quot;abc&amp;quot; в любом месте.&lt;br /&gt;
*^abc Соответствует строкам, начинающимся с &amp;quot;abc&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
{{ Врезка | Заголовок = Мини-проект: команды для умных |&lt;br /&gt;
Содержание = Есть несколько общих команд, о которых &lt;br /&gt;
полезно знать. Привожу некоторые из них без &lt;br /&gt;
объяснений; эти команды можно использовать &lt;br /&gt;
независимо от дополнительных опций. &lt;br /&gt;
Наберите их и посмотрите на результат.&lt;br /&gt;
&lt;br /&gt;
{{{!}}&lt;br /&gt;
{{!}}date&lt;br /&gt;
{{!}}df&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%D&lt;br /&gt;
{{!}}free&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}date +%T&lt;br /&gt;
{{!}}du&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal&lt;br /&gt;
{{!}}top&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}}cal 1066&lt;br /&gt;
{{!}}ps&lt;br /&gt;
{{!}}}&lt;br /&gt;
}}&lt;br /&gt;
----&lt;br /&gt;
Через месяц Moнтирование, создание резервных копий, распаковка файлов из tar и zip.&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:WikiSysop</id>
		<title>Обсуждение участника:WikiSysop</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5_%D1%83%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA%D0%B0:WikiSysop"/>
				<updated>2008-03-10T13:58:43Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: /* Загрузка файлов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Загрузка файлов ==&lt;br /&gt;
На этом вики-сайте загрузка файлов запрещена&amp;lt;sup&amp;gt;[[Служебная:Upload|1]]&amp;lt;/sup&amp;gt;. Включите, пожалуйста. --[[Участник:Lockal|Lockal]] 15:59, 10 марта 2008 (MSK)&lt;br /&gt;
&lt;br /&gt;
А не порали оформить страницы Сообщество и Текущие события? --[[Участник:Guria|Guria]] 16:58, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/Linuxformat:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0</id>
		<title>Linuxformat:Портал сообщества</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/Linuxformat:%D0%9F%D0%BE%D1%80%D1%82%D0%B0%D0%BB_%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0"/>
				<updated>2008-03-10T13:52:35Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: План работ&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[План работ]]&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%BB%D0%B0%D0%BD_%D1%80%D0%B0%D0%B1%D0%BE%D1%82</id>
		<title>Обсуждение:План работ</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%BB%D0%B0%D0%BD_%D1%80%D0%B0%D0%B1%D0%BE%D1%82"/>
				<updated>2008-03-10T13:48:16Z</updated>
		
		<summary type="html">&lt;p&gt;Guria: Новая: Всем привет, а какие ещё организаторские страницы имеются? Не плохо бы заполнить страницу Сообщество....&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Всем привет, а какие ещё организаторские страницы имеются?&lt;br /&gt;
Не плохо бы заполнить страницу Сообщество. --[[Участник:Guria|Guria]] 16:48, 10 марта 2008 (MSK)&lt;/div&gt;</summary>
		<author><name>Guria</name></author>	</entry>

	</feed>