Linux
Шрифт:
Apropos
Команда apropos производит поиск заданного ключевого слова (команды) в базе whatis (см. ниже) и выводит на экран краткое его описание.
Man-справка
В операционной системе Linux справочная система глобальна и использование ее очень просто – в командной строке следует набрать:
man имя_программы
В результате на текущую консоль будет выведена справочная страница по использованию указанной программы. В принципе, параметром команды man необязательно должно быть имя программы, это может быть любой файл операционной системы. В том случае, если для указанного файла не существует справочной страницы, на экран будет выдано соответствующее сообщение.
Если система инсталлирована с языком, отличным от английского, то и справочные страницы (если, конечно, они есть) установятся на языке, который был выбран при инсталляции. К сожалению, для русского языка справочных страниц крайне мало, однако со временем ситуация с локализацией справочных страниц должна быть нормализована.
Программа man сначала пытается найти справочную страницу на языке текущей локали. Если же такой страницы не будет найдено, она выдаст на консоль справочную страницу на английском языке.
Whatis
Команда whatis представляет собой мини-справочную систему. В качестве аргумента указывается имя файла, на выходе – строка информации
HOWTO – как сделать
С помощью программы man можно узнать многое, единственное, что она не дает – это алгоритмов решения сложных проблем. Для подобных вопросов существуют так называемые HOWTO – «как сделать что-то». Это достаточно большой набор файлов, предназначенных для решения разнообразных проблем – настройки сети, почтовых программ, Web-серверов, установки различного аппаратного обеспечения и многого другого. Как правило, эти файлы написаны на английском языке, но существуют версии некоторых HOWTO на других языках, в частности, на русском. Список HOWTO приведен в приложении 2. Нельзя гарантировать, что данный список полный, но, по крайней мере, это практически все известные HOWTO. Найти их в Интернете не представляет трудности – достаточно ввести наименование искомого HOWTO в строку поиска любой поисковой системы, например www.rambler.ru.
Мини-HOWTO
В отличие от HOWTO, решающих достаточно глобальные задачи и имеющих объем порядка пятидесяти-ста страниц, мини-HOWTO решают узкоспециальные задачи и имеют небольшой объем. Список мини-HOWTO приведен в приложении 3. Найти их в Интернете также, как и HOWTO, не представляет трудности.
Руководства пользователя Red Hat
На сайте дистрибутива Red Hat существует достаточно большой выбор документации, посвященной инсталляции, работе, настройке операционной системы Linux. Вот только некоторые названия:
• The Official Red Hat Linux Getting Started Guide;
• The Official Red Hat Linux Customization Guide;
• The Official Red Hat Linux x86 Installation Guide;
• The Official Red Hat Linux Reference Guide.
В этих руководствах подробно рассказывается об инсталляции, работе, решениях возникающих проблем в дистрибутиве Red Hat Linux. К сожалению, вся документация на английском языке.
Ссылки
• www.linuxdocs.org – одно из полнейших собраний документации о Linux. Ресурс англоязычный, зато почти все, что касается Linux, здесь можно тем или иным образом найти.
• www.redhat.com – сайт фирмы Red Hat, производителя одноименного дистрибутива. Одним из достоинств данного дистрибутива является его хорошая поддержка, начиная с версии 4.x (создан в 1995 году) и заканчивая текущим. Дистрибутив Red Hat получил очень широкое распространение, его уже начали сравнивать с Windows. В настоящее время Red Hat стал стандартом de-facto для производителей коммерческого программного обеспечения и компьютерного оборудования. Дистрибутив существует в трех вариантах: базовый (доступен для скачивания через Интернет), Professional и Advanced Server. Кроме собственно дистрибутива на сайте присутствует и достаточно большое количество качественно написанной документации (на английском языке).Глава 14 Справочник наиболее часто употребляемых команд
Эта глава посвящена консольным командам и утилитам. Конечно, после продолжительной работы в графической среде, нет особого желания возвращаться в текстовую консоль. Однако не всегда разумно пользоваться X Window там, где достаточно набрать всего три буквы. Да и не везде будет возможность (желание, необходимость) устанавливать и использовать X Window. Нет никакой необходимости занимать на сервере лишние десятки мегабайт и расходовать драгоценную оперативную память и время процессора (камень в огород Windows NT Server, Windows 2000) на обслуживание графической оболочки. Действительно, зачем серверу (конечно кроме сервера приложений X Window) иметь графическую оболочку, если на нем выполняется сервер баз данных, Web-сервер, почтовый сервер или сервер новостей? Этого не требуется и для администрирования. Практически любое приложение имеет понятный, самодокументированный (или имеющий понятное описание в документации) текстовый файл конфигурации. Отредактировать конфигурационные файлы можно либо с текстовой консоли, либо даже удаленно (подключиться к компьютеру, находясь хоть на другом континенте). Для многих приложений существуют также утилиты конфигурирования, имеющие текстовый (а иногда и графический) интерфейс. Многие приложения имеют инструменты удаленного администрирования, использующие Web-интерфейс. Так что наличие консольных команд и утилит для сервера вполне обосновано.
То же и для обычных клиентских машин. Казалось бы, поскольку большинство пользователей безвылазно сидят в X Window, им вообще не надо знать о консоли. Однако это совершенно не так. Как мы уже знаем из главы <5, загрузка операционной системы Linux происходит в текстовом (консольном) режиме и лишь на последнем этапе (и то, если это было определено при конфигурации системы) происходит переключение в X Window. Даже из-за этого уже стоит ознакомиться с консольными утилитами.
И еще. Идеология утилит Linux подразумевает модульность, доведенную до совершенства. В распоряжении пользователя огромное количество утилит, идеально выполняющих какую-то одну конкретную операцию. Из-за узкой специализации утилиты получаются очень маленькими по размеру и, как следствие, – идеально отлаженными.
Замечание
Конечно, пользователю Windows это кажется неудобным. Для утилит Windows принят другой подход – "все в одном" (all in one). В результате– объемный комплекс, в котором достаточно трудно разобраться, который из-за его размеров крайне трудно отладить и который потребляет значительное количество оперативной памяти и процессорного времени.
Кроме того, все утилиты Linux (в отличие от Windows-утилит) способны взаимодействовать друг с другом. Это значит, что с помощью утилит можно организовать цепочку взаимосвязанных операций. А с помощью скриптов командной оболочки создать инструментарий для выполнения часто используемых последовательностей операций. Linux требует от пользователя достаточно обширных знаний и некоторого размышления (планирования) перед выполнением нетривиальных действий. С одной стороны, после Windows с ее достаточно бездумным нажиманием кнопок мыши, это несколько напрягает. Но с другой стороны, это позволяет точно, шаг за шагом, понять процесс получения нужного результата, да, заодно, и память потренировать.
Стандартный
ввод/вывод, перенаправлениеВо многих операционных системах существует понятие стандартного устройства ввода, стандартного устройства вывода и стандартного устройства отображения ошибок. Эти устройства можно задать самостоятельно. По умолчанию используется клавиатура и терминал. Концепция стандартного ввода/вывода очень удобна для автоматизации ввода/вывода.
Для перенаправления стандартного ввода используется символ перенаправления <. Пример использования перенаправления ввода:
mysql <2.sql
Передает программе mysql данные, содержащиеся в файле 2.sql.
Для перенаправления стандартного вывода используются символы перенаправления > и». В чем их отличие? Символ > не проверяет наличие файла, в который сохраняется стандартный вывод программы. Если такой файл существует, то его содержимое полностью заменяется выводом программы. Символ» проверяет существование файла, и если он существует, то вывод программы дописывается в конец существующего файла.
Примеры:df > 1.txt Is -A >> 1.txt
Операции перенаправления ввода/вывода можно использовать одновременно.
Конвейер (поток)
Конвейер (поток, pipe) используется для объединения нескольких команд в одной операции. Обозначается символом |. Применяется для передачи стандартного вывода одной программы на стандартный ввод другой программы. В одной командной строке можно использовать несколько операций конвейера.
Пример:Is | grep
Команды
Операционная система Linux очень многое наследует от UNIX, в том числе и большую часть команд и утилит. Конечно, эти команды адаптированы и усовершенствованы, но, тем не менее, в целом они сохранили синтаксис соответствующих команд UNIX. Поэтому, по большому счету, не важно, в чем вы работаете: в UNIX или в Linux – система команд на 98 % совпадает. Далее мы рассмотрим наиболее часто используемые команды и утилиты. Обратите внимание – наиболее часто используемые. Это означает, что в данной главе упоминаются далеко не все команды и утилиты. Никакая самая объемистая книга не отменяет команду man, документацию и файлы HOWTO. За время написания любой книги выходят новые версии программ, и зачастую их возможности кардинально изменяются. Эта глава является обзорной, поэтому в описании команд не всегда (или не в полном объеме) приводятся ключи и параметры вызова.
Дата, время
calКоманда cal выводит на консоль календарь. Если не указаны параметры – выводится календарь на текущий месяц. Если указывается месяц и год – выводится календарь на соответствующий месяц, а если указывается только год – выводится календарь на соответствующий год.
Пример:cal
Октябрь 2001
date
Команда date выводит текущие дату и время в указанном формате. Так же эта команда позволяет изменять системные дату и время.
Параметры:
• + – формат отображения времени и даты в указанном формате;
• -s – установка времени и даты;
• -u – вывод времени и даты по Гринвичу.
При установке даты и времени можно указывать их как в числовом, так и в нечисловом формате. При использовании числового формата строка данных представляется в следующем виде:
MMddhhmmyy
где:
• MM – месяц;
• dd – день;
• hh – часы;
• mm – минуты;
• уу – две последние цифры года.
Пример:date Сбт Окт 6 19:57:30 EEST 2001
Более подробную информацию можно получить по команде man date.
Файлы и каталоги
В этом разделе представлены команды и утилиты, которые напрямую взаимодействуют с файлами и каталогами.
Административные команды Здесь собраны команды, которые отвечают за «административную работу» с файлами и каталогами.chgrp
Команда chgrp изменяет группу каждого заданного файла на группу, которая может быть представлена как именем группы, так и ее числовым идентификатором (GID).
Более подробную информацию можно получить по команде man chgrp.chmod
Команда chmod изменяет права доступа файла в соответствии с правами доступа, указанными в параметре, который может быть представлен как в символьном виде, так и в виде восьмеричного числа.
Формат символьного режима:[ugoa…][[+-=][rwxXstugo…]…][,…]
Здесь каждый аргумент – это список символьных команд изменения прав доступа, разделенных запятыми. Каждая такая команда начинается с какой-нибудь из букв ugoa (впрочем, букв может вообще не быть) или их комбинации, которая указывает, чьи права доступа к файлу будут изменены:
• u – владельца;
• g – группы;
• о – других пользователей, не входящих в данную группу;
• а – всех пользователей. Буква а эквивалентна ugo. В том случае, если не задана ни одна буква, то будет использоваться буква а;
• + – добавляет выбранные права доступа к уже имеющимся;
• – – удаляет эти права;
• = – присваивает только эти права файлу.
Буквы rwxXstugo выбирают новые права доступа для пользователя, заданного одной из букв ugoa:
• r – чтение;
• w – запись;
• х – выполнение;
• X – выполнение, если файл является каталогом или уже имеет право на выполнение для какого-нибудь пользователя;
• S – setuid– или setgid-бит;
• t – sticky-бит;
• u – установка для остальных таких же прав доступа, какие имеет пользователь, владеющий этим файлом;
• g – установка для остальных таких же прав доступа, какие имеет группа файла;
• о – установка для остальных таких же прав доступа, какие имеют остальные пользователи.
Установка sticky-бита для каталога приводит к тому, что только владелец файла и владелец этого каталога могут удалять файл из каталога.
В операционной среде Linux, если на файле установлен бит setgid, но не установлен бит выполнения группой, то блокировки этого файла становятся жесткими (mandatory), в отличие от обычных – информационных (advisory). Подробная информация по этому вопросу находится в файле /usr/src/linux/Documentation/mandatory.txt.
Числовой режим состоит из четырех восьмеричных цифр, которые складываются из битовых масок 4, 2 и 1. Любые пропущенные разряды дополняются лидирующими нулями:
• первая цифра выбирает установку идентификатора пользователя – setuid (4), идентификатора группы – setgid (2) или sticky-бита (1);
• вторая цифра выбирает права доступа для пользователя, владеющего данным файлом: чтение (4), запись (2) и выполнение (1);
• третья цифра выбирает права доступа для пользователей, входящих в группу;
• четвертая цифра выбирает права доступа для остальных пользователей, не входящих в группу.
Эту команду может применять либо владелец файла, либо пользователь root. Более подробную информацию можно получить по команде man chmod.