>> MegaLib.com - поисковая система по электронным учебникам, статьям, журналам, исходникам, FAQ листам!
Дата индексирования: 2005-02-06 18:29:16
Электронный адрес материала: http://www.piter.com/library/

MegaLib.com/ ОПЕРАЦИОННЫЕ СИСТЕМЫ/ Linux, Unix, FreeBSD /
Название материала(Оглавление):
Linux. Справочник
На этой странице восстановлен текст найденного Вами документа, сохраненный при индексировании.
Внимание! HTML-форматирование текста восстанавливается не полностью.
За содержание документа MegaLib.com ответственности не несет.
Linux. Справочник, К. Рейчард, П. Фолькердинг : Издательство "Питер"

Библиотека: Linux. Справочник, К. Рейчард, П. Фолькердинг

Рекомендуем

Эффективная работа: Windows XP, Э. Ботт, К. Зихерт
Книга представляет собой полное официальное руководство по новой, во многом революционной операционной системе Windows XP...>>

Оптимизация и настройка Windows 2000 Professional. Для профессионалов, М. Нильсен
Цель этой книги состоит в том, чтобы дать читателю исчерпывающее представление Windows 2000 Professional с точки зрения конфигурирования системы и внедрения новых решений...>>

Глава 1. Основные понятия и команды

В зависимости от вашего опыта работы с компьютерами Linux покажется вам либо удивительно сложной и непостижимой (в том случае, если вы работали ранее с Micro-soft Windows или компьютерами Macintosh), либо (если вы работали с MS-DOS или UNIX) еще одной простейшей операционной системой, управляемой из командной строки. Истина — посередине. Да, Linux может временами быть сложной и непостижимой, и, кроме того, она действительно построена на основе интерфейса командной строки (даже если вы используете X Window). Однако Linux не сложнее, чем MS-DOS или UNIX, и имеет утилиты, соперничающие с аналогичными программами для Windows или Macintosh.

Прежде чем вы начнете погружаться в глубины Linux, запомните два правила, которые упростят вам жизнь:

l Linux — это набор небольших простых команд. Если вы упростите вашу задачу и разобьете ее на отдельные подзадачи, вы сможете сделать практически все.

l Даже когда вы работаете с XFree86 (графическим интерфейсом Linux), вы работаете с набором небольших простых команд.

Вы уже должны были понять, что тот, кто хочет разо-браться с Linux, должен в первую очередь стремиться разобраться с командами Linux. Предлагаемая вашему вниманию книга содержит описания команд Linux. Однако до того, как вы начнете изучать команды, вы должны понять, как вводить команды и как Linux их обрабатывает.

Командная строка

Мы уже отмечали, что работа с Linux основана на использовании командной строки. Команды вводятся в командной строке. Когда Linux готова к приему команд, она сообщает вам об этом, выводя на ваш экран символ доллара:

$

Вы можете работать с командной строкой либо в текстовом полноэкранном режиме, либо в окне xterm под управлением X Window, как показано на рисунке.

Знак доллара называется приглашением командной строки и сообщает вам о том, что Linux готова к приему команд. Вы можете ввести либо отдельную команду, либо набор команд и параметров, которые вместе называются командной строкой.

Командой обычно называется то же самое. Все, что вы вводите с клавиатуры после приглашения командной строки, Linux воспринимает как команду — приказ сделать что-нибудь. Вы можете использовать команды как для выполнения каких-либо действий (например, перемещения или

Командная строка

копирования файлов), так и для запуска программ (таких, как elvis или emacs). Linux имеет вполне определенный набор команд, поэтому если то, что вы введете, не будет распознано как одна из команд, вы получите предупреж дение о невозможности найти указанную команду. Вы можете найти полный список команд в определенных каталогах, но не будем забегать вперед. Операционная система Linux имеет сотни команд.

Команды могут иметь параметры , которые определяют, как именно будет выполняться команда и что она будет делать. Параметры также могут указывать, что команда должна выполняться только при соблюдении определен ных условий. В качестве примера мы разберем одну из команд и некоторые ее параметры.

Команда ls является одной из простейших, но в то же время очень часто используемых команд. Она используется для вывода списка файлов в текущем каталоге. Если никакие параметры не заданы, то команда просто выводит список файлов, как это показано на рисунке.

Как вы можете видеть, текущий каталог в нашем примере содержит единственный файл — 00601.tif. (Имена файлов и каталогов, упоминаемые в этой главе, не важны; все, что вам требуется запомнить, — это способы обозначения файлов и каталогов, которые могут быть использованы в сочетании с почти любой командой.) Однако команда ls без параметров выводит список только тех файлов, которые доступны всем пользователям и не являются скрытыми.
Скрытые файлы имеют имена, начинающиеся с точки (.); если вы хотите, чтобы они тоже вошли в список, вы должны указать это команде ls. Вы должны указать соответствующий параметр . Для этой цели используется параметр -a. Если вы укажете его после команды, то будет выведен список всех файлов и подкаталогов текущего каталога, включая скрытые, как это показано на рисунке.

Продолжая наш пример, приведем результат выполнения команды ls с параметром -l, который указывает на необходимость вывода подробной информации о файлах и каталогах.

В главе 5, содержащей описание команд, значительное внимание уделено описанию их параметров. Очень немногие команды Linux не имеют параметров или аргументов какого-либо рода.

Файлы

Команда ls используется для вывода списка файлов в текущем либо любом другом заданном каталоге. С точки зрения Linux достаточно странно, что аргументом этой команды может служить не файл. Изучая эту книгу, вы обнаружите, что подавляющее большинство команд имеют дело с файлами.

Файлы

Практически все, с чем вы имеете дело в Linux, является файлами. Вы уже знаете, что команда ls выводит список файлов в каталоге, и именно потому, что все является файлом, эта команда так удобна. Команды — это не что иное, как файлы, содержащие программы. Устройства, присоединенные к вашему компьютеру, представлены в Linux файлами, которые, как правило, находятся в каталоге /dev. Когда вы печатаете текст, вы на самом деле просто отправляете его в файл, представляющий принтер.

Грубо говоря, файл представляет собой просто упорядоченную область на устройстве хранения информации, состоящую из битов. Бит — это наименьшая единица информации, он может содержать одно из двух значений: 0 или 1. Операционная система Linux организует биты в форму, понятную как вам, так и компьютеру. Без этой организации жесткий диск представлял бы собой бессмысленную смесь нулей и единиц. Система организации жесткого диска называется файловой системой .

Вот почему основная функция операционной системы Linux — управление файлами. Важность команды ls трудно переоценить — ведь она позволяет вам узнать, какие файлы находятся в данном месте файловой системы в данное время. И именно поэтому другие часто используе мые команды Linux также связаны с управлением файлами — такие команды, как elvis для редактирования, rm для удаления и mv для перемещения файлов.

Всего имеются четыре типа файлов:

  • файлы устройств,
  • каталоги,
  • ссылки,
  • обычные файлы.

    Ниже приведены описания этих типов файлов в порядке их важности для операционной системы Linux:

    l Обычные файлы — рядовые файловой системы1 . Обычно они содержат данные, используемые программами и операционной системой. Обычный файл может содержать текст, данные для какой-либо программы (например, это может быть файл форматирования для программы разбивки на страницы или база данных), код программы или текст программы для интерпретируе мого языка программирования, такого как Perl или Tcl.

    l Каталоги являются файлами, содержащими информацию о других файлах. Файловая система в Linux имеет иерархическую структуру, организованную при помощи каталогов. Каталоги обсуждаются ниже в этой главе.

    l Файлы устройств представляют устройства, подключенные к вашему компьютеру. Эти файлы обычно находятся в каталоге /dev. Например, файл, представля ющий устройство накопления на магнитной ленте, может иметь имя /dev/st0.

    l Ссылки позволяют хранить один файл в файловой системе под различными именами. Ссылки не играют большой роли в Linux, если только вы не работаете в сети2. Ссылки — наследие былых времен, когда места для хранения данных было так мало, что пользователи должны были использовать один и тот же файл, но, в связи со строением сети, ему должны были быть присвоены различные имена.

    Каталоги

    Как мы упоминали ранее, каталоги — это файлы, предназначенные для хранения других файлов. Каталоги необхо

    1 Игра слов: рядовые — rank and file, файл — file. — Примеч. перев.

    2 Это не совсем верно. — Примеч. перев.

    Каталоги

    димы в операционной системе наподобие Linux. В Linux каждая команда является файлом, каждое устройство является файлом и каждая программа состоит по крайней мере из одного файла (а обычно из значительно большего их количества). Запишите все эти файлы в одно место — и вы совершенно потеряетесь среди тысяч отдельных файлов. Может быть и хуже — при работе в сети пользователь может иметь доступ не только к файлам на своем компьютере, но и к тысячам файлов на других машинах и, возможно, на файловом сервере. Конечно, нет никакого способа не запутаться в этих файлах, за исключением создания некоторой иерархической структуры для их хранения. Тут-то на передний план и выходят каталоги.

    Иерархия каталогов в Linux (вы можете представлять ее себе как пирамиду) достаточно проста. На вершине пирамиды находится корневой каталог, обозначаемый символом косой черты (/). Каждый каталог является подкаталогом корневого каталога. Кроме того, подкаталоги могут также содержать подкаталоги и т. д.

    Любой пользователь в каждый момент времени «находится» в каком-либо каталоге, называемом текущим каталогом . Приглашение командной строки обычно содержит имя текущего каталога (начинающееся с косой черты, обозначающей, что каталог содержится в иерархической структуре, вершиной которой является корневой каталог).

    Обычная Linux-система, такая как Slackware Linux, имеет вполне определенный набор каталогов. Обычный набор подкаталогов корневого каталога для дистрибутива Slack-ware показан на рисунке.

    Некоторые из этих каталогов имеются практически в любой UNIX-системе — это каталоги etc, sbin, usr и var. Некоторые из каталогов типичны для Linux-систем — это boot, cdrom, mnt, proc, shlib1. Каталоги root и home предназначены для хранения информации пользователей. Если вы сами устанавливаете Linux, то, скорее всего, в вашей системе будет по крайней мере один домашний каталог root, используемый, когда вы входите в систему как пользователь root, и, вероятно, еще один — в каталоге home.

    Linux содержит набор команд, позволяющих вам создавать ваши собственные каталоги. Эти команды обсуждаются далее в этой книге.

    Стандартный ввод/вывод
    и их перенаправление

    Третья часть головоломки Linux — связь между командами и файлами, организуемая при помощи стандартного ввода и вывода. Не пугайтесь технического термина — это понятие на самом деле касается того, как структурирована командная строка и куда отправляются результаты выполнения команды.

    Linux, как и любая операционная система, при выполнении команды нуждается в информации, откуда команда будет получать данные и куда их выводить. Другие операционные системы, такие как Windows и Macintosh, самостоятельно делают предположения об источнике входных данных и назначении выходных. Зачастую так поступает и Linux. Однако, в большинстве случаев, вам самим следует подумать, откуда команда будет получать данные и куда выводить. Ниже мы объясним основы концепции стандартного ввода/вывода на примере.

    1 Но это отнюдь не значит, что они обязательно есть в любой Linux-системе, — например, в дистрибутиве Debian отсутствует каталог shlib. —
    Примеч. перев.

    Стандартный ввод/вывод и их перенаправление

    Команда cat — удивительно многосторонняя команда. Она может использоваться для вывода содержимого файла на экран, добавления данных в конец файла и других операций. Она даже может быть использована в качестве простейшего текстового редактора:

    $ cat

    После ввода этой команды курсор переместится в следующую строку, и вы сможете вводить текст с клавиатуры. Поскольку в команде не указано, куда должен быть отправлен вводимый текст, то Linux и команда cat предполагают, что текст должен быть выведен на экран. После того как текст выведен на экран, он потерян навсегда. Большинство команд Linux по умолчанию используют в качестве стандартного ввода клавиатуру, а в качестве стандартного вывода — экран. Поэтому команду cat саму по себе вы можете использовать для тренировки навыков ввода информации с клавиатуры, но в таком виде для какой-либо другой цели она бесполезна.

    Однако область применения команды cat существенно расширяется, если вы указываете в командной строке имена файла. Команда cat с именем файла в качестве аргумента выводит содержимое этого файла на экран, как это показано на рисунке.

    В этом примере команда cat использует в качестве стандартного ввода не клавиатуру, а указанный файл. Содержимое файла не изменяется, оно просто выводится на экран.

    Вы можете использовать команду cat для записи строк в файл. Для этого вам следует использовать символы перенаправления . Эти символы позволяют любой команде использовать в качестве стандартного ввода или вывода вместо клавиатуры или экрана файл или стандартный ввод/вывод другой команды. В следующем примере стандартный вывод команды cat вместо экрана направляется в файл kevin.report :

    $ cat > kevin.report

    Вводимый с клавиатуры текст построчно записывается в файл kevin.report. Нажатие клавиш Ctrl+D останавлива ет перенаправление и заканчивает выполнение команды cat.

    Перенаправление может использоваться как для стандартного вывода, так и для стандартного ввода. Команда cat может использоваться для копирования файлов следующим образом:

    $ cat kevin.report > pat.report

    В этом примере стандартным вводом служит файл kevin.report, а стандартным выводом — файл pat.report. Содержимое файла kevin.report не изменяется.

    Для того чтобы дописать данные в конец существующего файла, используется специальный символ перенаправле ния. В следующем примере содержимое файла kevin.report дописывается в конец файла pat.report:

    $ cat kevin.report >> pat,report

    Если бы в этом примере было опущено имя файла kevin.report, то команда cat дописала бы вводимый с клавиатуры текст в конец файла pat.report. Соответствую щая команда выглядит так:

    $ cat >> pat.report

    Стандартный ввод/вывод и их перенаправление

    Существуют всего четыре символа перенаправления стандартного ввода/вывода:

    l Символ > используется для перенаправления стандартного вывода команды в файл. Например, cat > file запишет выводимую командой cat информацию в файл file.

    l Символ < используется для переназначения стандартного ввода команды. Например, при выполнении команды cat < file в качестве стандартного ввода cat используется не клавиатура, а файл file.

    l Символ >> используется для дописывания стандартного вывода команды в конец существующего файла. Например, cat >> file допишет выводимую командой cat информацию в конец файла file.

    l Символ | является символом потока. Он используется, когда вы хотите передать стандартный вывод одной команды на стандартный ввод другой. Например, cat | grep отправит стандартный вывод команды cat на стандартный ввод команды grep. (Потоки более подробно обсуждаются ниже в этой главе.)

    На первый взгляд может показаться, что эти символы — не что иное, как несколько способов сделать одно и то же. На самом деле символы < и > можно менять местами в командной строке, но они оба нужны. Команды, которые выглядят похоже, на самом деле могут совершенно по-разному обрабатываться операционной системой. Например, команда

    $ cat pat.file

    выполняет те же действия, что и команда

    $ cat < pat.file

    Однако на самом деле это различные команды. В первом случае pat.file — это аргумент команды cat. С точки зрения Linux аргументы — это переменные, используемые в командной строке. В данном случае получилось так, что аргумент — это файл. Во втором же примере файл pat.file играет роль стандартного ввода для команды cat.

    Нет никаких ограничений на использование символов перенаправления в командной строке. Достаточно часто используются сразу два символа перенаправления, особенно в сценариях интерпретаторов командной строки:

    $ cat < file1 > file2

    Эта команда использует файл file1 в качестве стандартно го ввода команды cat, а файл file2 — в качестве стандартного вывода.

    Потоки

    Поток, обозначаемый символом |, — это просто еще один способ перенаправления стандартного ввода/вывода. Использование потоков позволяет работать непосредствен но с командами, передавая информацию, выводимую одной из команд, на ввод другой. Синтаксис таков:

    $ command1 | command2

    Сочетание команд и символа потока часто также называется потоком. Потоки часто используются при подготовке файлов к печати.

    Общие параметры X Window

    Среди прочих команд глава 5 содержит описания команд системы X Window. Эти команды имеют общий набор параметров. Вместо того чтобы перечислять эти параметры в описании каждой команды, мы перечислим их здесь.

    Общие параметры X Window

    Параметр Значение

    -background
    красный зеленый синий Установка цвета фона

    -background цвет Установка цвета фона окна

    -bg цвет Установка цвета фона окна

    -display Использование X сервера
    система:номер_сервера с заданным номером
    (обычно — 0) на заданной
    системе

    -fg цвет Установка основного цвета
    окна

    -fn шрифт Использование указанного
    шрифта

    -font шрифт Использование указанного
    шрифта

    -foreground_color Установка основного
    красный зеленый синий цвета окна

    -foreground цвет Установка основного цвета
    окна

    -geometry Установка размера
    ширинаґ высота+x+ y и расположения окна

    -geometry ширинаґ высота Установка размеров окна

    -geometry +x+y Установка положения
    верхнего левого угла окна

    -height строки Установка размера окна
    по вертикали, в строках

    -position x y Установка положения
    верхнего левого угла окна,
    в пикселах

    -reverse Замена местами цвета фона
    и основного цвета окна

    -rv Замена местами цвета фона
    и основного цвета окна

    -size ширина высота Установка размера окна,
    в пикселах

    -Wb красный зеленый синий Установка цвета фона

    -Wf красный зеленый синий Установка основного цвета
    окна

    -WG ширинаґ высота+x+ y Установка размера
    и расположения окна

    -WG ширинаґ высота Установка размеров окна

    -WG +x+y Установка положения
    верхнего левого угла окна,
    в пикселах

    -Wh строки Установка размера окна
    по вертикали, в строках

    -Wi Запуск программы со
    свернутым в значок окном

    -width столбцы Установка ширины окна,
    в столбцах

    -Wp x y Установка положения
    верхнего левого угла окна,
    в пикселах

    -Wr
    система:номер_сервера Использование X сервера
    с заданным номером
    (обычно — 0)
    на заданной системе

    Общие параметры X Window

    -Ws ширина высота Установка размеров окна,
    в пикселах

    -Wt шрифт Использование указанного
    шрифта

    -Ww столбцы Установка ширины окна, в столбцах



  • Дата индексирования: 0000-00-00 00:00:00
    Электронный адрес материала: http://www.piter.com/library/

    MegaLib.com/ ОПЕРАЦИОННЫЕ СИСТЕМЫ/ Linux, Unix, FreeBSD /
    На этой странице восстановлен текст найденного Вами документа, сохраненный при индексировании.
    Внимание! HTML-форматирование текста восстанавливается не полностью.
    За содержание документа MegaLib.com ответственности не несет.