Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Aliens Vs Predator |#3| Endless factory
Aliens Vs Predator |#2| New opportunities
Aliens Vs Predator |#1| Predator's time!
Aliens Vs Predator |#5| Final fight

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Сэйдж Рас Весь текст 822.4 Kb

Приемы профессиональной работы в Unix

Предыдущая страница Следующая страница
1 ... 52 53 54 55 56 57 58  59 60 61 62 63 64 65 ... 71

mntf      Монтирование и размонтирование гибкого диска

     НАЗНАЧЕНИЕ

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

     ФОРМАТ ВЫЗОВА

mntf [-d] [-h] [-l] [-r] [-s]

     Опции:
      -d     размонтирование гибкого диска из корневой
             файловой системы

      -h     использование устройства с высокой плотностью
             записи (а не с низкой)

      -1     использование устройства 1, а не устройства 0

      -r     монтирование гибкого устройства как файловой
             системы с возможностью только чтения

      -s     использование имен устройств, принятых в System V

     По умолчанию  выполняется  монтирование гибкого диска 0 в каталог
/mnt.

     ПРИМЕР ВЫЗОВА

mntf -d -1

     Размонтирование гибкого диска на устройстве 1.

     ТЕКСТ ПРОГРАММЫ

1   :
2   # @(#) mntf v1.0  Mount floppies  Author: Russ Sage
                      Монтирование гибких дисков

4   CMD="/etc/mount"
5   DIR="/mnt"
6   DRIVE="0"
7   DENSITY="48ds9"
8   SYSTEM="xenix"

10  if [ $# -gt 0 ]
11    then  for ARG in $*
12          do
13            case $ARG in
14             -d)  CMD="/etc/umount"
15                  DIR="";;
16             -h)  DENSITY="96ds15";;
17             -1)  DRIVE="1"
18                  if [ -d /mnt1 ]
19                    then DIR="/mnt1"
20                    else echo "the directory /mnt1 does not exist" >&2
                                 нет каталога /mnt1
21                         echo "using the directory /mnt instead"   >&2
                                 используется каталог /mnt
22                  fi;;
23             -r)  DIR="$DIR -r";;
24             -s)  SYSTEM="sysv";;
25             *)   echo "mntf: invalid argument $ARG"          >&2
26                  echo "usage: mntf [-d] [-h] [-1] [-r] [-s]" >&2
27                  echo "      -d  dismount"                   >&2
28                  echo "      -h  high density"               >&2
29                  echo "      -1  use drive 1"                >&2
30                  echo "      -r  read only"                  >&2
31                  echo "      -s  System V device"            >&2
32                  echo " default: mount XENIX drive 0 48 tpi to " >&2
33                  echo "         /mnt as a read/write filesystem" >&2
34                  exit 1;;
35             esac
36         done
37  fi

39  case $SYSTEM in
40  sysv)   $CMD /dev/fp${DRIVE}21 $DIR;;
41  xenix)  $CMD /dev/fd${DRIVE}${DENSITY}  $DIR;;
42  esac

     ПЕРЕМЕННЫЕ СРЕДЫ ВЫПОЛНЕНИЯ

CMD       Основная команда, подлежащая выполнению
DIR       Каталог, в котором производится монтирование устройства
DENSITY   Плотность записи в виде, указанном в имени устройства
DRIVE     Номер устройства, начиная с 0
SYSTEM    Тип имени устройства, принятый в UNIX'е

       ОПИСАНИЕ

                 ЗАЧЕМ НАМ НУЖЕН КОМАНДНЫЙ ФАЙЛ mntf?

     В машинах с гибким диском это  устройство  часто  используется  в
повседневных  операциях.  Оно  применяется  в  качестве  источника при
инсталляции системы и как обычный носитель для операций копирования.

     Гибкие диски можно использовать в системе UNIX  двумя  способами.
Первый  является  неструктурированной последовательностью байтов,  что
полезно для копирования магнитных  лент  и  хранения  архивов.  Второй
способ - поблочный,  ориентирован на поддержку файловой структуры. Для
второго способа существует мощная поддержка на уровне файловой  систе-
мы, но некоторые функции мы должны реализовать самостоятельно.

     Для того  чтобы  использовать  гибкий диск как файловую систему в
UNIX,  вам необходимо подготовить диск и смонтировать его как файловую
систему.  Когда  вы закончите работу,  вы должны размонтировать гибкий
диск.  Это отличается от системы DOS,  в которой  гибкие  диски  можно
вставлять и вынимать когда угодно, если только в этот момент на них не
идет запись.

     Поскольку использование гибких дисков включает в себя  взаимосвя-
занные шаги монтирования и размонтирования,  то было бы вполне естест-
венным применять одну команду с соответствующими опциями для  выполне-
ния монтирования и размонтирования. Однако UNIX так не делает. Наш ко-
мандный файл mntf объединяет эти две функции в одной команде для упро-
щения  работы  с гибким диском.  Для того чтобы сделать нашу программу
более независимой,  мы предусмотрели в ней поддержку устройств системы
XENIX наравне с устройствами System V.  (Системы Berkeley (BSD) не так
часто используют гибкие диски, поэтому мы не пытались иметь с ними де-
ло.)

                           ЧТО ДЕЛАЕТ mntf?

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

     Действие программы по умолчанию заключается в монтировании гибко-
го диска низкой плотности записи, находящегося в устройстве 0, в ката-
лог /mnt.  Имеется много опций, чтобы попросить программу mntf сделать
то,  что вам нужно.  Опция -h поддерживает диск высокой плотности (1.2
Мб).  В машинах PC AT первое из устройств гибких дисков имеет 96 доро-
жек на дюйм,  объем 1.2 мегабайта, но может также читать и писать гиб-
кие диски с более низкой плотностью.  Второй гибкий диск является уст-
ройством  низкой  плотности с 48 дорожками на дюйм и объемом 360 кило-
байт.

     Опция -1 (цифра один, а не буква l) выполняет монтирование гибко-
го диска в устройстве 1, а не 0. Опция -r монтирует файловую систему с
возможностью ТОЛЬКО ЧТЕНИЯ.  Для РАЗМОНТИРОВАНИЯ диска вместо монтиро-
вания используется опция -d. Если применяется опция -s, имя устройства
изменяется таким образом,  чтобы оно соответствовало системе System V,
а не XENIX. Это незначительная проблема, поскольку схемы именования не
очень отличаются. Данная программа создана для системы XENIX и обеспе-
чивает наилучшие возможности именно в ней.

     Не все  опции совместимы друг с другом,  но проверка на совмести-
мость не выполняется.  Например, команда "mntf -d -r" пытается размон-
тировать файловую систему с возможностью только чтения, а команда UNIX
unmount, которая выполняет эту операцию, отбрасывает ее, выдавая сооб-
щение  об  ошибке.  В  целях упрощения мы отказались от проверки соот-
ветствия опций,  а вместо этого  предоставили  UNIX'у  право  выдавать
сообщения об ошибках для информирования пользователя о возникших проб-
лемах.  Если вы хотите, чтобы эту программу мог применять относительно
неопытный пользователь, вам нужно вставить в нее выполнение таких про-
верок.

     ПРИМЕРЫ

1.  $ mntf -s

     Монтирование гибкого  диска  как  файловой системы с возможностью
записи-чтения и с использованием имен устройств, принятых в System V.

2.  $ mntf -h -1 -r

     Монтирование гибкого диска высокой плотности записи на устройстве
1 как файловой системы с возможностью только чтения и с использованием
формата имен устройств,  принятого в XENIX.  Эта команда должна закон-
читься неудачей (устройство 1 имеет низкую плотность).

3.  $ mntf -d -h

     Размонтирование файловой  системы на устройстве 0 с высокой плот-
ностью записи и с использованием имен устройств, принятых в XENIX.

     ПОЯСНЕНИЯ

     Для того  чтобы  максимально упростить программу,  все фактически
выполняемые команды помещены в текстовые строки. Это позволяет достичь
большей гибкости при написании программы.  Результатом анализа команд-
ной строки является формирование команды,  которая выполняется в конце
программы mntf.

     В строках 4-8 инициализируются установки по умолчанию. Переменная
CMD содержит команду UNIX,  которая в итоге должна быть выполнена,  по
умолчанию это команда mount. Переменная DIR указывает каталог, в кото-
рый должно быть смонтировано  устройство,  по  умолчанию  это  каталог
/mnt.  Переменная DRIVE является номером устройства (по умолчанию 0) и
используется для формирования корректного имени устройства. Переменная
DENSITY  по умолчанию установлена для носителя низкой плотности,  т.е.
48 дорожек на дюйм,  двусторонняя дискета с  9  секторами  на  дорожку
(48ds9).

     В строке 10 проверяется, указаны ли в командной строке какие-либо
аргументы.  Если количество аргументов  больше  нуля,  последовательно
проверяется  каждый  аргумент.  Если  какой-либо  из  аргументов соот-
ветствует образцам в строках 13-35,  то он изменяет содержимое команд-
ной строки.

     Строка 14  управляет опцией -d для размонтирования гибкого диска.
Переменная CMD изменяется на umount вместо mount. После этого перемен-
ной DIR присваивается нулевое значение,  поскольку команде umount тре-
буется не каталог, а только имя устройства. Переменная DIR должна быть
частью строки с командой для того,  чтобы мы могли использовать одну и
ту же "заготовленную" командную строку для всех  вариантов.  В  данном
случае  мы устанавливаем эту переменную в нуль,  а shell при синтакси-
ческом разборе удаляет ее из командной строки.

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

     ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ОБ ИМЕНАХ УСТРОЙСТВ

     Ниже приводится список, полученный командой ls в каталоге dev для
машины  XT,  в  которой  нет устройств высокой плотности записи.  Этот
список позволяет проиллюстрировать, каким образом осуществляется обра-
щение к именам устройств:

---------------------------------------------------------------------------

|
|  32 brw-rw-rw-  3 bin   bin   2,  4 Jun 25 09:25 /dev/fd0
|  32 brw-rw-rw-  3 bin   bin   2,  4 Jun 25 09:25 /dev/fd048
| 126 brw-rw-rw-  1 root  root  2, 12 Feb 18 17:09 /dev/fd048ds8
|  32 brw-rw-rw-  3 bin   bin   2,  4 Jun 25 09:25 /dev/fd048ds9
| 125 brw-rw-rw-  1 root  root  2,  8 Feb 18 17:09 /dev/fd048ss8
| 127 brw-rw-rw-  1 root  root  2,  0 Feb 18 17:09 /dev/fd048ss9
| 131 brw-rw-rw-  3 root  root  2,  5 Feb 18 17:09 /dev/fd1
| 131 brw-rw-rw-  3 root  root  2,  5 Feb 18 17:09 /dev/fd148
| 129 brw-rw-rw-  1 root  root  2, 13 Feb 18 17:09 /dev/fd148ds8
| 131 brw-rw-rw-  3 root  root  2,  5 Feb 18 17:09 /dev/fd148ds9
| 128 brw-rw-rw-  1 root  root  2,  9 Feb 18 17:09 /dev/fd148ss8
| 130 brw-rw-rw-  1 root  root  2,  1 Feb 18 17:09 /dev/fd148ss9
|

     Крайнее слева  число представляет собой номер индексного дескрип-
тора.  Мы используем его как ссылку для определения уникального  имени
файла.  Как мы уже отмечали ранее,  несколько имен устройств могут от-
носиться к одному и тому же файлу,  рассматриваемому с различных точек
зрения.  Например, в данном списке вы видите, что три устройства имеют
индексный дескриптор 32.  Второе число слева представляет собой  коли-
чество связей.  Когда оно больше единицы,  то это также указывает, что
несколько устройств являются на самом деле одним  файлом,  а  следова-
тельно  используют  один и тот же индексный дескриптор.  Следующие два
числа являются старшим и младшим номером.  Старший номер  относится  к
драйверу  устройства,  а младший является уникальным номером одного из
устройств, управляемых одним и тем же драйвером.

     Большинство из этих имен  устройств  соответствуют  определенному
шаблону. Они состоят из символов fd (floppy disk - гибкий диск), цифры
0 или 1 (номер устройства), числа 48 (плотность, выраженная в виде ко-
Предыдущая страница Следующая страница
1 ... 52 53 54 55 56 57 58  59 60 61 62 63 64 65 ... 71
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 
Комментарии (52)

Реклама