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

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

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

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

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

практика.doc

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

Введение  в Unix 
Лабораторный практикум

Принятые  обозначения

Нотация команд:

  • Приглашение командной строки для непривелегированного пользователя обозначается знаком % (на вашем компьютере оно может выглядеть как-то по-другому, это не имеет значения).
  • Приглашение командной строки для суперпользователя обозначается знаком #
  • Необязательные параметры взяты в квадратные скобки []

Команды в тексте выделяются курсивом, имена файлов и каталогов - жирным шрифтом.

Значки:

    то, что находится  под этим значком - практическое задание  для вас. Введите указанные команды, проанализируйте их вывод, обращайте  внимание на дополнительные указания.

    этот значок призывает внимательнее отнестись  к следующему за ним абзацу.

    под этим значком  приводятся дополнительные сведения или  подробности, не обязательные для понимания и освоения материала данной темы.

    рядом с этим значком указывается каталог, в  котором вы должны находиться перед  началом ввода очередной команды (серии команд), если это не домашний каталог. По умолчанию предполагается, что вы находитесь в своем домашнем каталоге.

1. Изучение файловой  системы

Войдите в систему в  режиме командной строки, используя данные преподавателем имя и пароль. Система должна вывести приглашение командной строки (значок доллара, процента или тому подобное).

1.1. Получение справки

Команда  

%man файл 

где файл - команда, программа, конфигурационный файл или библиотечная функция, по которой требуется получить справку. Справочник man состоит из нескольких разделов:

    1: Команды  пользователя 

    1M: Команды  для системного администрирования 

    2: Системные  вызовы 

    3 (3B,3S,...): Библиотечные  функции 

    4: Форматы файлов

    5: Заголовки,  таблицы, макросы, разное 

    6: Демонстрации 

    7: Интерфейсы  устройств и сети 

При упоминании какой-либо команды, функции или  системного файла в литературе по Unix часто в скобках указывается  номер раздела справочника man, например: "команда ls(1) предназначена для вывода списка файлов". Как правило man сам находит раздел с требуемой справкой, просматривая все разделы по очереди, поэтому для получения справки по команде ls достаточно ввести

%man ls

Управление скролингом текста:

  • <пробел> - страница вниз
  • <Enter> - строка вниз
  • <Ctrl>+B - страница вверх
  • /word - поиск слова word
  • q - выход

Однако иногда требуемый термин может находиться сразу в нескольких разделах (printf - команда и библиотечная функция); в этом случае man выдаст документ из первого найденного раздела. Для получения документа из другого раздела используется ключ -s раздел. Для получения списка разделов, в которых встречается требуемый термин используется ключ -l. Ключ -a дает указание вывести все найденные справки из всех разделов друг за другом.

Обращайте внимание на номера разделов (они указываются  в заголовке каждой страницы).  

%man printf

%man -s 3S printf

%man -l printf

%man -a printf

1.2. Изучение файловой  системы

Команда

%pwd

выводит полное имя текущего каталога (в котором  вы находитесь).

Команда

%ls

выводит список файлов текущего каталога.

%ls -l

выводит список файлов с их атрибутами, например:  

-rwxr-xr--   1 vm97     students   24380 Feb  3  2000 hello

ABBBBBBBBB   C DDDD     EEEEEEEE   FFFFF GGGGGGGGGGGG HHHHH - см. ниже описание полей листинга

A. Тип файла

-

    обычный файл;

d

    каталог (фактически, каталог - это специальный файл, в котором перечислены файлы этого каталога);

l

    символическая связь (файл, содержащий имя другого  файла - является сылкой на этот файл; подробности  ниже в команде ln);

c

      символьное  устройство (устройство, с которым  операции чтения-записи производятся побайтно);

b

      блочное устройство (операции чтения-записи буферизуются). Некоторые устройства являются только символьными (например, последовательный порт), а некоторые представлены в обоих вариантах (например, диск).

p

      конвейер (pipe; программный канал, организованный в виде очереди, для передачи данных между двумя процессами).  

B. Права на использование файла

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

для обычных  файлов:

    r - право на чтение содержимого файла

    w - право на изменение содержимого файла

    x - право на исполнение (запуск) файла

для каталогов:

    r - право на получение списка файлов каталога

    w - право на создание и удаление файлов в каталоге

    x - право на "поиск" в каталоге

Набор прав --x для каталога позволяет войти в него и прочитать файл, имя которого заранее известно (при условии наличия прав чтения этого файла). Можно также выполнить команды ls и ls -l для этого файла. При этом получить список файлов (ls (-l) для каталога), а также создать или удалить файл нельзя.

Право r-- для каталога позволяет произвести чтение каталога, то есть получить список имен его файлов. При этом ни войти в каталог, ни узнать атрибуты файлов (ls -l), ни прочесть файл (даже при наличии прав чтения этого файла) нельзя. Создать или удалить файл, естественно, нельзя.

Что означают права -wx для каталога? Где это может применяться?  

Модификация файла  требует прав на запись в файл, так  как это операция над файлом. Удаление файла требует прав на запись в каталог, в котором находится этот файл - это операция над каталогом. Наличие права записи в файл не обязательно означает возможность его удалить (хотя можно размер файла уменьшить до нуля).

С. Число связей

Число жестких  связей (имён) файла - подробнее см. ниже команду ln. Для каталога - число его подкаталогов (как минимум два - '.' точка и '..' две точки).

D. Пользователь-владелец файла

E. Группа-владелец  файла

Группа - это  именованное множество пользователей; группы составляются администратором. Каждый пользователь является членом как минимум одной группы.

Пользователь-владелец файла (далее - просто владелец) не обязательно  является членом группы-владельца, хотя и может быть таковым.

F. Размер файла в  байтах

G. Дата последней  модификации файла

H. Имя файла

%ls -a

ls -a выводит также файлы, имена которых начинаются с точки. По умолчанию эти файлы считаются "неинтересными" и не показываются. Во всех остальных аспектах это совершенно обычные файлы (кроме, конечно, файла '.' (точка), обозначающего текущий каталог, и файла '..' (две точки) обозначающего вышележащий каталог).

%ls -al

(обратите  внимание на наличие  символической связи)

Шелл bash для выполнения начальных установок пользователя в некоторых случаях читает файл .profile, а в некоторых - .bashrc. Создание символической связи позволяет не создавать два одинаковых файла.  

%ls b.txt

%ls -l b.txt

%ls prog

%ls -l prog

Проблема: как  вывести атрибуты самого каталога, а не его содержимого. Возможные  решения: ls -l (строка файла prog) и ls -al prog (строка файла '.') неудовлетворительны при большом числе файлов в текущем каталоге и в каталоге prog - получится слишком длинный листинг. Решение:

%ls -d prog

%ls -ld prog 

%ls -ld .

%ls -l ..

%ls -ld .. 

Команда

%cd каталог

- переход в  указанный каталог. Без указания каталога - переход в домашний.

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

Далее в этом курсе будет использоваться значок для обозначения каталога, в котором вы должны находиться перед началом ввода очередной команды (серии команд), если это не домашний каталог. По умолчанию предполагается, что вы находитесь в своем домашнем каталоге. Например:

%pwd

%cd prog

/home/user1/prog

%pwd

%cd ..

%pwd

%cd /home

%pwd

%cd

%pwd

1.3. Изучение содержимого  файла

Команда

%file имя_файла [имя_файла ...]

определяет тип  файла путем анализа его содержимого 

Определите тип всех файлов вашего домашнего каталога и каталога prog.

Расширение файла (часть имени после точки) в Unix не имеет никакого специального значения. Например, для запуска файла требуется не расширение типа .exe, а право на исполнение.

Команда

%cat имя_файла

- выводит содержимое  файла на терминал.

%cat b.txt

Команда

%more имя_файла

- пейджер (выводит файл постранично, с остановом). Фактически, команда man формирует текст справки и пропускает его через more. Поэтому команды управления прокруткой текста см. выше в описании man.

%more b.txt

Команда

%tail [-число] имя_файла

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