aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/books/handbook/basics/chapter.sgml')
-rw-r--r--ru_RU.KOI8-R/books/handbook/basics/chapter.sgml536
1 files changed, 0 insertions, 536 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml b/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml
deleted file mode 100644
index 086ef8a5bc..0000000000
--- a/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml
+++ /dev/null
@@ -1,536 +0,0 @@
-<!--
- The FreeBSD Russian Documentation Project
-
- $FreeBSD$
- $FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/basics/chapter.sgml,v 1.5 2000/12/17 11:12:42 danfe Exp $
- Original revision: 1.17
--->
-
-<chapter id="basics">
- <title>Основы Unix</title>
-
- <sect1>
- <title>Краткий обзор</title>
-
- <para><emphasis>Переписал Chris Shumway
- <email>cshumway@cdrom.com</email>, 10 марта 2000.</emphasis></para>
-
- <para>В этой главе мы попытаемcя раскрыть основные принципы и команды
- операционной системы FreeBSD. Если Вы новичок, то обязательно
- прочтите это главу, прежде чем задавать какие-либо вопросы.</para>
- </sect1>
-
- <sect1 id="permissions">
- <title>Права доступа</title>
-
- <para>FreeBSD исторически развивалась из BSD UNIX, и основывается на
- некоторых ключевых концепциях UNIX. В первую очередь это, конечно,
- тот факт, что FreeBSD &ndash; многопользовательская операционная система.
- Это означает, что несколько пользователей могут работать одновременно,
- решая различные задачи и совершенно не мешая друг другу. На системе
- лежит ответственность за правильное разделение и управление такими
- ресурсами как память, процессорное время, периферийные устройства и
- прочее.</para>
-
- <para>Многопользовательность предполагает наличие механизма
- регулирования прав доступа к любому ресурсу в системе. Существует три
- типа прав доступа: на чтение, запись и исполнение. Права
- сгруппированы три по три, соответственно чтение/запись/выполнение для
- владельца/группы/всех остальных. Численное представление:</para>
-
- <informaltable frame="none">
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Значение</entry>
- <entry>Права доступа</entry>
- <entry>Список файлов каталога</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>0</entry>
- <entry>Ничего не разрешено</entry>
- <entry><literal>---</literal></entry>
- </row>
-
- <row>
- <entry>1</entry>
- <entry>Нельзя читать и писать, разрешено исполнять</entry>
- <entry><literal>--x</literal></entry>
- </row>
-
- <row>
- <entry>2</entry>
- <entry>Нельзя читать и исполнять, разрешено писать</entry>
- <entry><literal>-w-</literal></entry>
- </row>
-
- <row>
- <entry>3</entry>
- <entry>Нельзя читать, разрешено писать и исполнять</entry>
- <entry><literal>-wx</literal></entry>
- </row>
-
- <row>
- <entry>4</entry>
- <entry>Разрешено читать, нельзя писать и исполнять</entry>
- <entry><literal>r--</literal></entry>
- </row>
-
- <row>
- <entry>5</entry>
- <entry>Разрешено читать и исполнять, нельзя писать</entry>
- <entry><literal>r-x</literal></entry>
- </row>
-
- <row>
- <entry>6</entry>
- <entry>Разрешено читать и писать, нельзя исполнять</entry>
- <entry><literal>rw-</literal></entry>
- </row>
-
- <row>
- <entry>7</entry>
- <entry>Разрешено все</entry>
- <entry><literal>rwx</literal></entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>Чтобы увидеть права доступа, можно воспользоваться командой
- <command>ls -l</command>. Формат вывода этой команды
- следующий:</para>
-
- <screen>-rw-r--r--</screen>
-
- <para>Первый символ показывает тип файла: обычный файл, директория,
- символьное или блочное устройство, ссылка или другой объект.
- Следующие три символа (в данном случае это <literal>rw-</literal>)
- задают права доступа владельца файла. Затем идут права группы,
- которой принадлежит файл (<literal>r--</literal>). Последняя тройка
- (<literal>r--</literal>) определяет права для всех остальных. Минус
- означает отсутствие каких-либо прав (т.е. нельзя ни читать, ни писать, ни
- выполнять). В данном случае права установлены таким образом, что
- владелец может читать и писать в в файл, а группа и другие может только
- читать. Таким образом, численное представление прав будет
- <literal>644</literal>.</para>
-
- <para>Права на устройства контролируются аналогичным образом. Во
- FreeBSD все устройства представлены в виде файлов, которые можно
- открывать, читать и писать в них. Эти специальные файлы содержаться в
- директории <filename>/dev</filename>.</para>
-
- <para>Директории также являются специальными файлами, и к ним применимы
- те же права на чтение, запись и выполнение. Правда, в данном случае
- &ldquo;выполнение&rdquo; имеет несколько другой смысл. Когда
- директория помечена как &ldquo;исполнимая&rdquo;, это означает, что
- можно получить список файлов в ней, &ldquo;зайти&rdquo; в нее.</para>
-
- <para>На самом деле, про права доступа можно рассказать еще много
- интересного, например, про setuid-бит на выполняемые файлы и так
- называемый sticky-бит на директории. За дополнительными сведениями по
- этому вопросу обращайтесь к страницам системного справочника man
- (&man.chmod.1;).</para>
- </sect1>
-
- <sect1 id="dirstructure">
- <title>Структура каталогов</title>
-
- <para>Так как файловая система FreeBSD используется при выполнении
- многих важных системных операций, иерархическая структура очень важна.
- Структура каталогов достаточно полно отражена в &man.hier.7; странице
- системного справочника man, и поэтому нет нужды приводить ее
- здесь.</para>
-
- <para>Самым важным из всех каталогов является, несомненно, корневой
- каталог, обозначаемым символом <literal>/</literal>. Корневой каталог
- монтируется самым первым на этапе загрузки и содержит все
- необходимое, чтобы поднять систему и примонтировать остальные файловые
- системы.</para>
-
- <para>Точкой монтирования называется директория, которая будет
- соответствовать корню примонтированной файловой системой. Среди
- стандартных точки монтирования &ndash; <filename>/usr</filename>,
- <filename>/var</filename>, <filename>/mnt</filename> и
- <filename>/cdrom</filename>. Эти директории обычно перечислены в
- файле <filename>/etc/fstab</filename>, в котором указаны файловые
- системы и их точки монтирования. Большинство файловых систем,
- описанных в <filename>/etc/fstab</filename> монтируются автоматически
- из скрипта &man.rc.8;, если только они не перечислены с опцией
- <option>noauto</option>. Обратитесь к странице системного справочника
- &man.fstab.5; за дополнительной информацией о файле
- <filename>/etc/fstab</filename> и различных опциях
- монтирования.</para>
- </sect1>
-
- <sect1 id="shells">
- <title>Интерпретатор команд</title>
-
- <para>При работе с FreeBSD, в большинстве случаях для выполнения
- повседневных задач используется командный интерфейс (так называемый
- &ldquo;шелл&rdquo;), который принимает команды, которые ему подаются,
- и выполняет их. Многие командные интерпретаторы имеют встроенные
- средства выполнения наиболее часто используемых команд, например,
- операции над файлами и каталогами, редактирование командной строки,
- командные макросы и переменные окружения. Вместе с FreeBSD
- поставляется несколько командных интерпретаторов, например, sh, или
- Bourne Shell, и csh, иначе C-shell. Многие другие, более мощные,
- например, tcsh или bash, доступны в коллекции портов.</para>
-
- <para>Какой из командных интерпретаторов использовать? Это дело вкуса.
- Если Вы программируете на C, то Вам, возможно, понравится tcsh, а если
- Вы работали с Linux, то Вас скорее устроит bash, нежели что-либо
- другое. Каждый из названных интерпретаторов имеет свои особенные
- свойства, которые отличат его от других и, возможно, повлияют на Ваш
- выбор.</para>
-
- <para>Одна из наиболее часто используемых функций командного
- интерпретатора &ndash; дополнение частичного имени файла до полного. Вы
- можете набрать только первые несколько символов имени файла, нажать
- клавишу табуляции (TAB), и командный интерпретатор автоматически
- Например, у нас есть два фала, названные <filename>foobar</filename> и
- <filename>foo.bar</filename>. Допустим, мы хотим удалить файл
- <filename>foo.bar</filename>. Для этого, наберем на клавиатуре
- <command>rm fo[TAB].[TAB]</command>.</para>
-
- <para>Вы увидите следующее: <command>rm foo[BEEP].bar</command>.</para>
-
- <para>Здесь [BEEP] &ndash; это так называемый консольный звонок,
- сигнализирующий о том, что интерпретатор не в состоянии закончить имя
- файла, так как по введенным Вами символам невозможно однозначно
- идентифицировать файл. Например, имена файлов
- <filename>foobar</filename> и <filename>foo.bar</filename> оба
- начинаются с <literal>fo</literal>, но после нажатия TAB можно
- однозначно дополнить только до <literal>foo</literal>. Если же теперь
- ввести точку (<literal>.</literal>) и вновь нажать TAB, интерпретатор
- достроит имя файла целиком.</para>
-
- <para>При работе с любым командным интерпретатором, Вы столкнетесь с
- переменными окружения. Под переменной окружения понимается некоторая
- строка символов, идентифицируемая некоторым именем. Значение
- переменных окружения может быть прочитано любо программой, запущенной
- из командного интерпретатора, и часто содержит конфигурационные
- настройки для многих приложений и утилит. Ниже приведены некоторые
- наиболее часто встречающиеся переменные окружения с объяснением их
- значения:</para>
-
- <informaltable frame="none">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Переменная</entry>
- <entry>Описание</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry><envar>USER</envar></entry>
- <entry>Имя текущего пользователя.</entry>
- </row>
-
- <row>
- <entry><envar>PATH</envar></entry>
- <entry>Каталоги, разделенные двоеточием, в которых производить
- поиск исполняемых файлов.</entry>
- </row>
-
- <row>
- <entry><envar>DISPLAY</envar></entry>
- <entry>Сетевое имя виртуального дисплея X11, если доступен для
- подключения.</entry>
- </row>
-
- <row>
- <entry><envar>SHELL</envar></entry>
- <entry>Текущий командный интерпретатор.</entry>
- </row>
-
- <row>
- <entry><envar>TERM</envar></entry>
- <entry>Название (тип) терминала. Используется, чтобы узнать
- возможности терминала.</entry>
- </row>
-
- <row>
- <entry><envar>TERMCAP</envar></entry>
- <entry>Список escape-последовательностей для управления
- различными функциями терминала.</entry>
- </row>
-
- <row>
- <entry><envar>OSTYPE</envar></entry>
- <entry>Название (тип) операционной системы. Например,
- FreeBSD.</entry>
- </row>
-
- <row>
- <entry><envar>MACHTYPE</envar></entry>
- <entry>Архитектура машины (процессора).</entry>
- </row>
-
- <row>
- <entry><envar>EDITOR</envar></entry>
- <entry>Предпочитаемый пользователем текстовый редактор.</entry>
- </row>
-
- <row>
- <entry><envar>PAGER</envar></entry>
- <entry>Предпочитаемая пользователем утилита просмотра
- файлов.</entry>
- </row>
-
- <row>
- <entry><envar>MANPATH</envar></entry>
- <entry>Каталоги, разделенные двоеточием, в которых производить
- поиск файлов системного справочника.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
- <para>В зависимости от используемого командного интерпретатора, для
- просмотра и установки значений переменных окружения служат различные
- команды. Например, в интерпретаторах csh и tcsh это
- <command>setenv</command>. В sh и bash это <command>set</command> и
- <command>export</command>. В частности, чтобы установить или изменить
- значение переменной <envar>EDITOR</envar> (в csh или tcsh) равное
- <filename>/usr/local/bin/emacs</filename>, выполните команду:</para>
-
- <para><command>setenv EDITOR /usr/local/bin/emacs</command></para>
-
- <para>Если Вы используете bash:</para>
-
- <para><command>export EDITOR="/usr/local/bin/emacs"</command></para>
-
- <para>Чтобы получить значение переменной, например, в командной строке,
- поместите символ доллара (<literal>$</literal>) перед именем
- переменной. Например, команда <command>echo $TERM</command> выведет
- значение переменной <envar>$TERM</envar>.</para>
-
- <para>Командный интерпретатор воспринимает некоторые символы, называемые
- метасимволами, в качестве управляющих, несущих специальные функции.
- Одни из наиболее часто используемых &ndash; символ <literal>*</literal>,
- который заменяет любое количество символов в имени файла, и
- <literal>?</literal>, заменяющий один символ. Эти метасимволы
- используются для поиска файлов по маске, например, команда
- <command>echo *</command> выполняет практически тоже самое, что и
- команда <command>ls</command>, так как под маску <literal>*</literal>
- попадают все файлы из текущего каталога (на самом деле, это всегда так
- и зависит от командного интерпретатора, например, в bash под маску
- <literal>*</literal> не попадут файлы, начинающиеся с точки
- <literal>.</literal> &ndash; скрытые файлы).</para>
-
- <para>В некоторых ситуациях требуется, чтобы интерпретатор воспринимал
- метасимволы как обычные, не несущие специальной смысловой нагрузки.
- Этого можно достичь, поставив перед символом обратную косую черту
- (<literal>\</literal>). Например, команда <command>echo
- $TERM</command> выведет тип Вашего терминала, в то же время команда
- <command>echo \$TERM</command> выведет именно слово
- <literal>$TERM</literal>, а не значение переменной
- <envar>$TERM</envar>.</para>
-
- <sect2 id="changing-shells">
- <title>Как изменить командый интерпретатор по умолчанию</title>
-
- <para>Самым простым, пожалуй, будет воспользоваться командой
- <command>chsh</command>. Если переменная <envar>EDITOR</envar>
- определена, то будет загружен текстовый редактор
- <envar>$EDITOR</envar>, иначе vi. Вам нужно будет изменить значение
- поля &ldquo;Shell:&rdquo; и выйти из редактора с сохранением
- результатов.</para>
-
- <para>Можно также воспользоваться опцией <option>-s</option> команды
- <command>chsh</command>. Например:</para>
-
- <screen>&prompt.user; <userinput>chsh -s /usr/local/bin/bash</userinput></screen>
-
- <note>
- <para>Помните, чтобы использовать некоторую программу в качестве
- командного интерпретатора, она должна быть
- <emphasis>обязательно</emphasis> упомянута в файле
- <filename>/etc/shells</filename>. Обычно, при установке
- интерпретаторов из дерева портов, это делается автоматически.
- Если же это не так, Вам нужно будет самим добавить соответствующую
- строчку в этот файл.</para>
-
- <para>Например, допустим, что Вы установили <command>bash</command>
- вручную, без использования соответствующего порта, и поместили его в
- каталог <filename>/usr/local/bin</filename>. В таком случае,
- можно набрать:</para>
-
- <screen>&prompt.root; <userinput>echo &quot;/usr/local/bin/bash&quot; &gt;&gt; /etc/shells</userinput></screen>
-
- <para>Теперь можно смело использовать команду
- <command>chsh</command>.</para>
- </note>
- </sect2>
- </sect1>
-
- <sect1 id="editors">
- <title>Текстовые редакторы</title>
-
- <para>Многие конфигурационные файлы во FreeBSD имеют текстовый формат,
- и, соответственно, для их редактирования Вам нужно будет освоиться с
- каким-либо текстовым редактором. Вместе с FreeBSD поставляется лишь
- некоторые из них; в коллекции портов можно найти многие другие.</para>
-
- <para>Самым простым в изучении и использовании, по-видимому, можно
- назвать <application>ee</application>, что расшифровывается как
- &ldquo;easy editor&rdquo;, т.е. &ldquo;простой редактор&rdquo;. Чтобы
- начать редактировать какой-либо файл, наберите в командной строке
- <command>ee filename</command>, где <literal>filename</literal> имя
- редактируемого файла. Например, для редактирования файла
- <filename>/etc/rc.conf</filename>, наберите <command>ee
- /etc/rc.conf</command>. В верхней части экрана Вы увидите список
- основных команд редактора. символ каретки (<literal>^</literal>)
- означает клавишу Ctrl, таким образом, ^e означает нажатие клавиши Ctrl
- и затем <literal>e</literal>. Чтобы выйти из редактора, нажмите
- клавишу Esc, затем Enter. Если остались какие-либо несохраненные
- данные, Вам потребуется подтвердить выход, либо сохранив результат
- работы, либо нет.</para>
-
- <para>FreeBSD также поставляется с мощным текстовым редактором
- <application>vi</application>, как часть системы, и редакторами
- <application>emacs</application> и <application>vim</application>,
- которые можно найти в коллекции портов. Эти редакторы сложнее
- изучить, но их возможности порой превосходят всякие ожидания! Если в
- будущем Вам потребуется часто редактировать большие объемы текстов, Вы
- убедитесь, что время, потраченное на изучение этих редакторов,
- окупится с лихвой.</para>
- </sect1>
-
- <sect1>
- <title>За дополнительной информацией...</title>
-
- <sect2 id="basics-man">
- <title>Системный справочник (man)</title>
-
- <para>Пожалуй, самым полным руководством по FreeBSD является
- системный справочник (man). Практически каждое приложение или
- утилита имеют соответствующую страницу (часто не одну), описывающую
- тот или иной аспект работы программы, всевозможные опции и
- настройки. Для просмотра этих страниц существует команда
- <command>man</command>:</para>
-
- <para><command>&prompt.user; man command</command></para>
-
- <para>Здесь<literal>command</literal> &ndash; это команда, про которую Вы
- хотите получить информацию. Например, для команды
- <command>ls</command> наберите:</para>
-
- <para><command>&prompt.user; man ls</command></para>
-
- <para>Содержимое системного справочника для удобства разделено на
- несколько секций:</para>
-
- <orderedlist>
- <listitem>
- <para>Пользовательские команды.</para>
- </listitem>
-
- <listitem>
- <para>Системные вызовы и коды ошибок.</para>
- </listitem>
-
- <listitem>
- <para>Функции стандартных библиотек.</para>
- </listitem>
-
- <listitem>
- <para>Драйверы устройств.</para>
- </listitem>
-
- <listitem>
- <para>Форматы файлов.</para>
- </listitem>
-
- <listitem>
- <para>Развлечения и игры.</para>
- </listitem>
-
- <listitem>
- <para>Дополнительная информация.</para>
- </listitem>
-
- <listitem>
- <para>Команды системного администрирования.</para>
- </listitem>
-
- <listitem>
- <para>Для разработчиков ядра.</para>
- </listitem>
- </orderedlist>
-
- <para>В некоторых случаях (не так уж редко), страницы, относящиеся к
- одной и той же команде, находятся в различных секциях справочника.
- Например, есть команда <command>cdmod</command> и системный вызов
- <literal>chmod()</literal>. В этом случае, необходимо явно указать
- секцию, в которой искать соответствующую страницу:</para>
-
- <para><command>&prompt.user; man 1 chmod</command></para>
-
- <para>Эта команда выведет справку об утилите <command>chmod</command>.
- По традиции, конкретная секция справочника указывается в скобках
- после команды, например, &man.chmod.1; относится к утилите
- <command>chmod</command>, а &man.chmod.2; &ndash; к соответствующему
- системному вызову.</para>
-
- <para>Часто бывает так, что Вы не знаете название команды, но имеете
- представление о том, что она должна делать. В этом случае можно
- попытаться найти нужную команду по ключевым словам, встречающимся в
- ее описании, используя опцию <option>-k</option> программы
- <command>man</command>:</para>
-
- <para><command>&prompt.user; man -k mail</command></para>
-
- <para>Вы получите список команд, имеющих слово &ldquo;mail&rdquo; в
- своих описаниях. Это эквивалентно использованию команды
- <command>apropos</command>.</para>
-
- <para>Или например, Вы видите список файлов в каталоге
- <filename>/usr/bin</filename>, при этом не имея ни малейшего
- представления о том, какие функции выполняет каждый их них? Просто
- наберите <command>&prompt.user; cd /usr/bin; man -f *</command> или
- <command>&prompt.user; cd /usr/bin; whatis *</command>, что
- фактически одно и то же.</para>
-
- </sect2>
-
- <sect2 id="basics-info">
- <title>GNU Info Files</title>
-
- <para>FreeBSD поставляется с многочисленными приложениями и утилитами от
- Фонда Свободного Программного Обеспечения, Free Software Foundation
- (FSF). В дополнение к этим программам посталяется обширная
- гипертекстовая документация в виде так называемых
- <literal>info</literal> файлов, которые могут быть просмотрены с
- помощью команды <command>info</command>, или, в качестве
- альтернативы, если Вы имеете установленый
- <application>emacs</application>, в соответствующем (info) режиме
- этого редактора.</para>
-
- <para>Чтобы воспользоваться командой &man.info.1;, просто наберите в
- командной строке:</para>
-
- <para><command>&prompt.user; info</command></para>
-
- <para>Чтобы вызвать на экран краткое введение, наберите
- <literal>h</literal>. Для ознакомления с возможными командами,
- наберите <literal>?</literal>.</para>
- </sect2>
- </sect1>
-</chapter>
-<!--
- Local Variables:
- mode: sgml
- sgml-declaration: "../chapter.decl"
- sgml-indent-data: t
- sgml-omittag: nil
- sgml-always-quote-attributes: t
- sgml-parent-document: ("../book.sgml" "part" "chapter")
- End:
--->