Введение в UNIX. Лекции

Автор работы: Пользователь скрыл имя, 29 Декабря 2011 в 20:20, курс лекций

Краткое описание

Способы организации файловой системы, списки команд и т.д. ОС Unix

Вложенные файлы: 1 файл

практика.doc

— 387.00 Кб (Скачать файл)

/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/man

%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. Несмотря на некоторую недружественность и кажущуюся архаичность своего интерефейса, этот редактор имеет несколько неоспоримых преимуществ:

  1. vi работает с большим числом типов терминалов; если тип терминала неизвестен, vi может перейти из экранного режима в однострочный с сохранением своей функциональности. Учитывая, что в MS Windows telnet эмулирует терминал не совсем корректно, vi может оказаться единственным работающим на этом терминале редактором.
  2. В работе с vi используются только символы с кодами ASCII. Клавиши, генерирующие расширенные коды (стрелки, функциональные клавиши, <Del> и т.п.), требующие тонкой настройки терминала и не всегда поддерживаемые, не применяются. (Однако, стрелки - в дополнение к обычным командам перемещения курсора - могут работать, если терминал их поддерживает.)
  3. vi производит редактирование аккуратно: не сворачивает длинные строки, не заменяет табуляции пробелами и т.п.

Эти преимущества, в особенности - последнее из них, имеют решающее значение при редактировании системных файлов. Например, сворачивание длинной строки в /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

Информация о работе Введение в UNIX. Лекции