B. Права на использование файла — КиберПедия 

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

История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...

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

2017-12-09 170
B. Права на использование файла 0.00 из 5.00 0 оценок
Заказать работу

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

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

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

% 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

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

% 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; программный канал, организованный в виде очереди, для передачи данных между двумя процессами).

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

Число жестких связей (имён) файла - подробнее см. ниже команду 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 каталог

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


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

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

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

 

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

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

 

% cat имя_файла

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

 

% cat b.txt

 

% more имя_файла

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

 

% more b.txt

 

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

выводит последние 10 строк файла или сколько указано.

 

% tail b.txt

% tail -2 b.txt

 

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

выводит первые 10 строк файла или сколько указано.

 

% head b.txt

% head -2 b.txt

 

% od имя_файла

выводит файл в восьмеричном виде. Ключи:

-N число - вывести только указанное число первых байт,

-j число - пропустить указанное число первых байт,

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

-tx - вывести в шестнадцатеричном виде,

-с - вывести каждый байт в виде символа (непечатные символы отображаются как спецсимволы языка Си: \t,\n,\b,\f,\r,\0, либо как трехзначное 8-ричное число).

% od -N10 tx b.txt


 

Манипулирование файлами

Создание файла

% touch имя_файла

изменяет время последней модификации файла на текущее. Побочный эффект: если файла нет, он создается с нулевым размером.

% > имя_файла

создает файл нулевого размера (буквально: в этот файл перенаправляется вывод из ниоткуда).

 

% touch a

% >b

% ls -l

Создание каталога

% mkdir dir

% ls -l

Символические связи

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

Создание символической связи:

% ln -s сущетсвующий_файл файл_связь

(Файл с именем файл_связь не должен существовать.)

% ln -s b.txt c.txt

% ls -l

(внимание на файл c.txt и его размер: 5 - это число символов в имени "b.txt")

% more c.txt

Жесткие связи

В файловой системе UNIX имя файла является указателем на индексный дескриптор, который содержит атрибуты файла и массив адресов дисковых блоков, в которых находятся данные файла. Однако, индексный дескриптор не содержит ссылки на имя файла, следовательно файл может иметь несколько имен. Дескриптор содержит только счетчик числа этих имен, значение которого показывается во второй колонке листинга ls -l.

Создание жесткой связи - это создание еще одного имени, ссылающегося на тот же самый индексный дескриптор:

% ln сущетсвующее_имя_файла новое_имя_файла

% ln b.txt d.txt

% ls -l

(внимание на значение второй колонки для b.txt и d.txt и размер этих файлов, заметьте также время последней модификации)

Файлы b.txt и d.txt абсолютно равноправны, т.к. это два разных имени одного и того же физического файла.

% touch d.txt

% ls -l b.txt d.txt

(внимание на время последней модификации у обоих файлов)

% ls -i b.txt d.txt

(выводит номера индексных дескрипторов - видим, что это один и тот же файл)

Удаление файлов и каталогов

% rm имя_файла

- удаляет файл, но не каталог;

% rmdir имя_каталога

- удаляет каталог, только если он пуст;

% rm -r имя_каталога

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

% rm -rf имя_каталога

- удаляет каталог рекурсивно и молча.

% ls ddd

% rm ddd/y

% ls ddd

% rm ddd

% rmdir ddd

% rm -r ddd

% ls -l

% rm c.txt

% ls -l b.txt d.txt

% rm d.txt

% rm a b

% ls -l

 

Удаление файла на самом деле представляет собой уменьшение на 1 счетчика его имен в индексном дескрипторе; соответствующий системный вызов называется unlink(2). Физически файл удаляется системой если он закрыт и если счетчик имен равен нулю. Это свойство используется программистами при создании временных файлов: после создания файла функцией open сразу же вызывается unlink, сбрасывающий счетчик имен в 0. Пока файл открыт, его можно использовать (через файловую переменную, возвращенную функцией open; имени у файла уже нет). После вызова close файл автоматически уничтожается.

 

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

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

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

% 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

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

% 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. Для каталога - число его подкаталогов (как минимум два - '. ' точка и ' .. ' две точки).


Поделиться с друзьями:

Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.