Главная страница
Случайная страница
Разделы сайта
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Разновидности параметров
Параметры разделяются на три класса: позиционные параметры, специальные параметры (именами которых как раз и служат перечисленные только что специальные символы) и переменные оболочки.
Имена (идентификаторы) позиционных параметров состоят из одной или более цифр (только не из одиночного нуля). Значениями позиционных параметров являются аргументы, которые были заданы при запуске оболочки (первый аргумент является значением позиционного параметра 1, и т. д.). Изменить значение позиционного параметра можно с помощью встроенной команды set. Значения этих параметров изменяются также на время выполнения оболочкой одной из функций (об этом будет рассказано ниже, в разд. 5.8).
Специальные параметры являются шаблонами, замена (подстановка) которых производится следующим образом.
Таблица 5.2. Специальные параметры.
Параметр
| Правила замены
| *
| Заменяется позиционными параметрами, начиная с первого. Если замена производится внутри двойных кавычек, то этот параметр заменяется на одно единственное слово, составленное из всех позиционных параметров, разделенных первым символом специальной переменной IFS (о ней будет сказано ниже). То есть ``$*'' эквивалентно ``$1c$2c...'', где c — первый символ в значении переменной IFS. Если IFS присвоено пустое значение или ее значение не установлено, параметры разделяются пробелами
| @
| Заменяется позиционными параметрами, начиная с первого. Если замена производится внутри двойных кавычек, то каждый параметр заменяется отдельным словом. Так, `` $@'' эквивалентно ''$1'' ''$2''... Если позиционных параметров нет, то значение не присваивается (параметр @ просто удаляется)
| #
| Заменяется десятичным значением числа позиционных параметров
| ?
| Заменяется статусом выхода последнего из выполнявшихся на переднем плане программных каналов
| -
(дефис)
| Заменяется текущим набором значений флагов, установленных с помощью встроенной команды set или при запуске самой оболочки
| $
| Заменяется идентификатором процесса (PID) оболочки
| !
| Заменяется идентификатором процесса (PID) последней из выполняющихся фоновых (асинхронно выполнявшихся) команд
|
| Заменяется именем оболочки или запускаемого скрипта. Если bash запускается для выполнения командного файла, $0 равно имени этого файла. В противном случае это значение равно полному пути к оболочке
| _
(подчеркивание)
| Заменяется последним аргументом предыдущей из выполнявшихся команд (если это параметр или переменная, то подставляется ее значение)
| Специальные параметры, перечисленные в приведенной выше таблице, отличаются тем, что на них можно только ссылаться; присваивать им значения нельзя.
Переменная с точки зрения оболочки — это параметр, обозначаемый именем. Значения переменным присваиваются с помощью оператора следующего вида
[user]$ name=value
где name — имя переменной, а value — присваиваемое ей значение (может быть пустой строкой). Имя переменой может состоять только из цифр и букв и не может начинаться с цифры. Значением может быть любой текст. Если значение содержит специальные символы, то его надо взять в кавычки. Присвоенное значение этих кавычек не содержит, естественно. Если переменная задана, то ее можно удалить, используя встроенную команду оболочки unset.
Набор всех установленных переменных оболочки с присвоенными им значениями называется окружением (environment) или средой оболочки. Вы можете просмотреть его с помощью команды set без параметров (только, может быть, следует организовать конвейер " set | less"). В выводе этой команды все переменные окружения перечисляются в алфавитном порядке. Для того чтобы просмотреть значение одной конкретной переменной, можно вместо команды set (в выводе которой нужную переменную еще искать и искать) можно воспользоваться командой
[user]$ echo $name
(правда, в этом случае вы должны знать имя интересующей вас переменной).
Среди переменных, которые вы увидите в выводе команды set, встречаются очень интересные переменные. Обратите, например, внимание на переменную RANDOM. Если вы несколько раз подряд выполните команду
[user]$ echo $RANDOM
вы каждый раз будете получать новое значение. Дело в том, что эта переменная возвращает случайное целое из интервала 0 — 32 768.
34.
Квотирование
Что такое квотирование. Особенности квотирования в Linux
Квотирование — мощный механизм ограничения использования дискового пространства, применявшийся еще в самых ранних версиях UNIX, тогда как в состав ОС семейства Windows компания Microsoft включила их только в Windows 2000, естественно, гордо заявив об этом. Этот материал настолько объемен, что ему можно было бы смело посвятить целую главу.
При помощи квот системный администратор принуждает пользователя не расходовать неограниченный объем дискового пространства. Существует два типа ограничений: ограничение на количество файлов (inodes) и ограничение на размер дискового пространства в килобайтах (blocks). Если установлены оба ограничения, то они будут применяться одновременно.
Ограничения на inodes и на blocks могут быть установлены как для пользователя, так и для группы. Если вы входите в группу, которая превысила наложенное на нее ограничение, то вы не сможете использовать дисковое пространство, даже если вы не превысили квоту как пользователь.
Ограничения устанавливаются отдельно для каждого пользователя на каждой файловой системе. Ограничение определяется четырьмя числами:
1. Текущее значение ограничения;
2. «Мягкое» ограничение (softlimit);
3. «Жесткое» ограничение (hardlimit);
4. Период отсрочки: время, по истечении которого «мягкое» ограничение будет интерпретироваться как «жесткое».
«Мягкое» ограничение определяет число блоков, которые пользователь все еще может превысить, «жесткое» ограничение превысить невозможно. При попытке сделать это пользователь получит сообщение об ошибке. По истечении определенного времени (обычно 7 дней) «мягкое» ограничение переходит в «жесткое». За это время пользователь должен удалить ненужные ему файлы.
Ядро и поддержка квотирования
В ядро ОС Linux поддержка квотирования встроена (по некоторым сведениям, она появилась в ядре, начиная с версии 1.3.8), осталось убедиться, что она у вас включена. Если это не так, то ядро придется перекомпилировать.
После установки дистрибутива исходные тексты модулей ядра обычно находятся в каталоге /lib/modules/< aepcMH__Hflpa> /build.
Привыкайте к возможностям подстановки аргументов командной оболочкой bash: перейти в этот каталог можно командой
$ cd /lib/mod*/" uname -г’/build
Там лежит файл.config, хранящий текущие настройки ядра (имя файла начинается с точки, поэтому он считается скрытым: чтобы увидеть его по команде Is, пользуйтесь ключом -а). Найдите в нем строку CONFIG_QUOTA и убедитесь, что значение этого параметра равно «у». Далее обратите внимание на формат квот, строки CONFIG_QFMT_V< x>, где х = 1 или 2. Версия 1 — это старый формат, использовавшийся я ядрах до версии 2.6. Если ваш дистрибутив основан на ядре 2.4, должен быть включен старый формат. Он отличается именами файлов квот.
Ту же самую проверку (при необходимости — настройку) можно выполнить и с помощью диалогового конфигуратора. Чтобы запустить его, выполните одну из следующих команд:
35.
Конфигурационные файлы Linux
Практически все конфигурационные файлы ОС Linux находятся в каталоге /etc. У вас могут быть далеко не все файлы и каталоги, представленные в табл. А.1. Наличие тех или иных файлов определяется дистрибутивом и наличием определенных пакетов.
Конфигурационные файлы Таблица А.1
Имя
| Тип
| Описание
| codepages
| Каталог
| Содержит различные кодировки
| CORBA/servers
| Каталог
| Здесь расположены серверы CORBA. Обычно эти серверы используются оконной средой Gnome
| crond*
| Каталог
| Содержит сценарии, которые будут выполняться демоном crond по определенному расписанию. Описание определяется в файле /etc/crontab
| cups
| Каталог
| Конфигурационные файлы системы печати CUPS
| default/useradd
| Файл
| Информация по умолчанию для программы useradd
| DrakConf
| Каталог
| Содержит файлы настройки конфигуратора DrakConf
| emacs
| Каталог
| Конфигурационные файлы редактора emacs (настройки по умолчанию)
| gnome
| Каталог
| Конфигурационные файлы приложения оконной среды Gnome
| gtk
| Каталог
| Настройки программ, использующих библиотеку Gtk. Все файлы имеют суффикс, который соответствует коду языка. В зависимости от выбранного языка будет использован один из файлов. В этих файлах, как правило, можно определить кодировку и шрифт для приложения
| htdig
| Каталог
| Конфигурационные файлы системы индексирования (поисковой системы) ht: /Dig
| httpd
| Каталог
| Конфигурационные файлы сервера Apache
| mail
| Каталог
| Конфигурационные файлы программы sendmail
| openldap
| Каталог
| Конфигурационные файлы LDAP
| pam.d
| Каталог
| Параметры модуля аутентификации РАМ
| postfix
| Каталог
| Конфигурационные файлы программы postfix
| PPP
| Каталог
| Конфигурационные файлы демона pppd
| profile.d
| Каталог
| Различные сценарии инициализации
| rc.d
| Каталог
| Сценарии инициализации системы. Данные сценарии выполняются при запуске системы. Уровень выполнения сценариев указывается в файле /etc/inittab
| skel
| Каталог
| Настройки пользователя по умолчанию. При создании нового каталога пользователя содержимое данного каталога будет скопировано в новый каталог
| ssh
| Каталог
| Конфигурационные файлы программы ssh
| urpmi
| Каталог
| Конфигурационные файлы программы urpmi. Эта программа позволяет устанавливать пакеты RPM обыкновенным пользователям. Устанавливаться могут только авторизованные пакеты
| Х11
| Каталог
| Конфигурационные файлы X Window
| xinet.d
| Каталог
| Дополнительные конфигурационные файлы суперсервера xinetd
| aliaces
| Файл
| Файл псевдонимов системы электронной почты
| anacrontab
| Файл
| Расписание планировщика Anacron
| at.deny
| Файл
| Расписание планировщика at
| auto.*
| Файл
| Файлы конфигурации программы automount (сервис autofs)
| bashrc
| Файл
| Установки интерпретатора bash
| conf.linuxconf
| Файл
| Файл конфигурации конфигуратора linuxconf. В нем определяются модули программы linuxconf
| crontab
| Файл
| Расписание планировщика crond
| csh.cshrc
| Файл
| Конфигурационный файл интерпретатора С Shell
| csh.login
| Файл
| Команды, которые будут выполнены при регистрации в системе пользователя, использующего С Shell
| exports
| Файл
| Экспортируемые файловые системы. Используется сервисом NFS
| fax.config
| Файл
| Установки системы приема и передачи факсов
| fb.modes
| Файл
| Примеры видеорежимов
| fdprm
| Файл
| Параметры дисковода на гибких дисках
| filesystem
| Файл
| Поддерживаемые файловые системы
| fstab
| Файл
| Содержит статическую информацию о файловых системах. Указанные в этом файле файловые системы будут смонтированы при загрузке системы
| ftpusers
| Файл
| Содержит список пользователей, которым запрещена регистрация на сервере FTP
| gettydefs
| Файл
| Настройки терминалов по умолчанию (используются программой getty)
| gpm-root.conf
| Файл
| Файл конфигурации сервера gpm. Сервер gpm обеспечивает поддержку мыши на виртуальных консолях
| group
| Файл
| Информация о группах
| gshadow
| Файл
| Информация о группах при использовании Shadow Passwords
| host.conf
| Файл
| Содержит конфигурационную информацию библиотеки разрешения имени узла сети. В этом файле определяется порядок поиска имен узлов сети
| hosts
| Файл
| Содержит статическую информацию о соответствии имени определенному IP-адресу. Этот файл участвует в процессе разрешения имен
| hosts.allow
| Файл
| Содержит список узлов, которым разрешен доступ к этой машине
| hosts.deny
| Файл
| Содержит список узлов, которым запрещен доступ к этой машине
| identd.conf
| Файл
| Параметры идентификации
| inetd.conf
| Файл
| Файл конфигурации суперсервера inetd
| inittab
| Файл
| Таблица инициализации системы. Используется программой init
| isapnp.gone
| Файл
| Некоторые параметры PnP для устройств ISA
| issue, issue.net
| Файл
| Определяют приветствие при попытке регистрации в системе. Файл issue выводится на консоль при локальной регистрации, а issue.net — при регистрации по сети, например, по протоколу telnet
| lilo.conf
| Файл
| Конфигурационный файл LILO
| lmhosts
| Файл
| Часть пакета Samba. Его назначение аналогично назначению одноименного файла в Windows NT. Другими словами, этот файл предназначен для преобразования имен NetBIOS в IP-адреса
| login.defs
| Файл
| Некоторые дополнительные параметры для программ useradd и groupadd
| lynx.cfg
| Файл
| Настройки по умолчанию браузера lynx
| mime-magic
| Файл
| «Магический» файл MIME-типов
| mime-types
| Файл
| Здесь задаются MIME-типы. Этот файл может использоваться сервером Apache вместо файла apache-mime.types, но его нужно прописать в файле httpd.conf
| modules.conf
| Файл
| Содержит список загружаемых модулей и определяет их параметры
| motd
| Файл
| Сообщение дня (Message of The Day)
| mtab
| Файл
| Содержит информацию о смонтированных в данный момент файловых системах
| networks
| Файл
| Содержит информацию о других сетях
| passwd
| Файл
| Информация об учетных записях пользователей
| printcap
| Файл
| Информация об установленных в системе принтерах
| proftpd.conf
| Файл
| Конфигурационный файл сервера ProFTPD
| protocols
| Файл
| Список поддерживаемых протоколов, согласно стандарта RFC 1340
| pwdb
| Файл
| Установки библиотеки pwdb
| quota.conf
| Файл
| Информация о квотах
| sendmail.cf
| Файл
| Основной файл конфигурации программы sendmail
| services
| Файл
| Содержит разрешенные Интернет-сервисы. Этот файл отвечает требованиям стандарта RFC 1700
| passwd
| Файл
| Информация об учетных записях пользователей при включенных теневых паролях (Shadow Passwords)
| shells
| Файл
| Содержит список зарегистрированных в системе интерпретаторов командной строки
| shutmsg
| Файл
| Содержащееся в этом файле сообщение обычно выводится клиентам сервера wu-ftpd при завершении работы сервера
| smb.conf
| Файл
| Основной файл конфигурации пакета Samba
| termcap
| Файл
| Настройки терминалов
| xinetd.conf
| Файл
| Файл конфигурации суперсервера xinetd
|
36.
|