Автор работы: Пользователь скрыл имя, 29 Декабря 2011 в 20:20, курс лекций
Способы организации файловой системы, списки команд и т.д. ОС Unix
/usr/
%ls bin
%ls sbin
%ls ccs/bin
Просмотрите
список команд в этих
каталогах, прочтите
справку по команде
с заитересовавшим вас
именем.
%ls lib
Обратите
внимание на расширения
файлов: .a -
статические библиотеки (архивы
объектных файлов),
.so - динамические
библиотеки. Файл
libc - стандартная
библиотека языка Си.
%file libc.so
%file libc.a
%ar -t libc.a
(последняя
команда распечатывает
содержание статической
библиотеки)
%ls include
%ls -l man
%ls -l share/man
Каждый
подкаталог каталога
man содержит
документы соответствующего
раздела. Документы
являются текстовыми
файлами с символами
форматирования. Команда man
перед показом пропускает
документ через форматирующую
программу, а после этого -
через пейджер more.
%ls share/man/man1
(последний
символ - единица)
%more share/man/man1/cp.1
(последний символ - единица)
%man cp
(сравните
результаты двух последних
команд)
%ls openwin
%ls openwin/bin
%ls dt
%ls dt/bin
%ls local
%ls local/bin
Обратите внимание, какие программы имеются в /usr/local/bin. попробуйте получить справку по этим программам (например, perl). Если man не находит требуемого документа, то, вероятно он не производит поиск в /usr/local/man (это регулируется переменной окружения MANPATH); попробуйте такой вариант:
%man -M /usr/local/man perl
а теперь установим переменную MANPATH:
%MANPATH=/usr/man:/usr/local/
%export MANPATH
%man perl
%man -l perl
/dev/ и /devices/
В этих каталогах находятся специальные файлы типов b и c, представляющие собой устройства компьютера. Обычно в Unix спецфайлы лежат в каталоге /dev, однако в Solaris в /dev находятся только ссылки на спецфайлы, которые на самом деле размещены в каталоге /devices.
Спецфайлы в каталоге /devices организованы по принципу размещения устройств на системной шине компьютера.
/devices/
%ls
(устройства делятся на настоящие устройства, расположенные на шине PCI, и псевдо-устройства (например, оперативная память mm или псевдотерминалы pts, к которым подключается программа telnet)
%ls pseudo
%cd pci@1f,0/pci@1,1/ide@3
(Путь дан для платформы SUN Ultra-5/10. На других платформах путь выглядит по другому.)
%ls
В листинге представлены IDE-устройства компьютера: диск (диски) и CDROM
%ls -l
В длинном листинге ls -l для каждого файла устройства вместо размера указывается два числа: major number и minor number. Major number идентифицирует для ядра драйвер устройства; аналогичные устройства имеют одинаковые major numbers. Minor number идентифицирует конкретный экземпляр устройства.
Конкретно в каталоге pci@1f,0/pci@1,1/ide@3 каждый диск идентифицируется своим major number, а каждый размел диска (всего 8 разделов) имеет свой minor number. Каждый раздел диска представлен в виде спецфайлов двух типов: символьного и блочного. Симольный доступ к диску считается низкоуровневым (raw). При работе с файловыми системами используется буферизированный ввод-вывод и, соответственно, блочные устройства.
Со спецфайлами во многих отношениях работать также как с обычными файлами. Например, для посекторного копирования одного раздела диска в другой (естественно, при условии их одинаковых размеров) можно скопировать соответствующий символьный спецфайл.
Имена устройств из каталога /devices/ не используются в обычной практике по причине своей неудобозапоминаемости и, что главное, - из-за зависимости от аппаратной конфигурации компьютера. Вместо этого, как и во всех Unix-системах, в Solaris употребляются файлы из каталога /dev, которые, однако, в этой системе являются символическими связями, указывающими на соответствующие файлы в /devices. При этом достигается независимость от аппаратной части: например, /dev/dsk/c0t0d0s0 - это всегда первый раздел первого жесткого диска.
Конфигурирование каталогов /dev и /devices (если необходимо) происходит при загрузке операционной системы.
/dev/
%ls
%ls -l term/a
%ls -l term/b
(это
последовательные порты
- они же терминалы)
%ls -l pts
(это
псевдотерминалы, используемые
программой telnet - они
являются псевдоустройствами)
%ls dsk
%ls -l dsk
(разделы дисков с блочным доступом; обратите внимание, куда указывают связи)
%ls rdsk
%ls -l rdsk
(разделы
дисков с символьным
доступом; обратите
внимание, куда указывают
связи)
%ls -l diskette
(флоппи-диск)
%ls -l mem
(оперативная
память - пседоустройство)
%ls -l null
(весь вывод, направленный в файл /dev/null, уничтожается, а ввод из него имеет нулевую длину;
обратите внимание,
что это псевдоустройство
того же класса,
что и /dev/mem)
/var/
В подкаталогах каталога /var хранятся временные или служебные файлы различных программ. Основные подкаталоги каталога /var:
/var/log
- журналы регистрации событий в системе.
/var/adm
- журналы регистрации
событий административного
/var/mail
- новая (непрочитанная) поста пользователей.
/var/spool
- различные очереди (на печать, на отправку почты, на выполнение заданий по расписанию).
/var/tmp
- различные временные файлы.
/var/
%ls
%ls -l log
%tail log/syslog
%ls -l mail
%ls -ld tmp
Обратите внимание: запись в этот каталог разрешена всем.
Аналогичную функцию выполняет каталог /tmp, но природа его файловой системы другая,
что, в общем-то, для пользователя не имеет значения.
%ls -ld /tmp
/home/
В каталоге /home размещены домашние каталоги пользователей.
/opt/
В каталоге /opt располагаются большие пакеты прикладного ПО (аналог каталога Program Files).
/sbin/
В каталоге /sbin располагаются самые необходимые команды и утилиты системного админитратора (в том числе и его шелл /sbin/sh), поскольку в случае сбоя системы каталог /usr/sbin может быть недоступен (о файловых системах и монтировании - в следующих разделах курса).
/kernel/
В этом каталоге расположено ядро операционной системы (файл genunix), драйверы устройств и другие служебные файлы.
%ls -l /home
%ls -l /opt
%ls -l /sbin
%ls -l /kernel
2. Полезные утилиты
2.1. Текстовый редактор vi
Редактор vi является стандартным экранным текстовым редактором Unix. Несмотря на некоторую недружественность и кажущуюся архаичность своего интерефейса, этот редактор имеет несколько неоспоримых преимуществ:
Эти преимущества, в особенности - последнее из них, имеют решающее значение при редактировании системных файлов. Например, сворачивание длинной строки в /etc/vfstab приведет к тому, что систему будет невозможно загрузить. Поэтому
Редактирование системных файлов производится только редактором vi!
С другой стороны, vi не претендует на роль офисного текстового процессора и для работы с литературными текстами не используется.
Ниже приведены основные команды vi. Для информации по всем командам редактора обратитесь к справочнику man.
j - курсор на строку вниз;
k - курсор на строку вверх;
l (буква "эль") - курсор на символ вправо;
h - курсор на символ влево;
x - удалить символ под курсором;
dd - удалить строку, на которой стоит курсор;
i - перейти в режим вставки текста перед; символом, на котором стоит курсор;
a - (на конце строки) перейти в режим вставки текста в конец строки;
o - вставить новую строку после текущей и перейти в режим вставки с начала этой новой строки;
В режимах вставки работает <Backspace> для удаления предыдущего введенного символа.
<Esc> - вовзрат из режима вставки (любого) в командный режим.
/word - поиск слова word в тексте от текущей позиции курсора вперед; курсор позиционируется в начало найденного фрагмента;
ZZ (<Shift>-z-z) - выход с сохранением файла;
:q! - выход без сохранения файла.
Для многих команд ввод числа перед командой означает "повторить команду указанное число раз": например, 5h смещает курсор на 5 символов вправо, а 10dd удаляет 10 строк подряд.
Распространенная ошибка: подача команд в режиме вставки или, что хуже, попытка ввода текста в командном режиме. (Представьте, что будет, если вы пытаетесь ввести текст "10x" или "1000dd", не переключившись в режим вставки!)
Загрузите
файл b.txt
в редактор vi:
%vi b.txt