Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Для дальнейшей работы создайте несколько файлов с произвольным текстом с помощью стандартного текстового редактора.




Команды создания файла

 

Команда

 touch имя_файла

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

 

 >имя_файла

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

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

Команда

 mkdir имя_директории

создает новый каталог. Если используется в следующем формате (mkdir имя_директории1 имя_директории2 имя_директории3), создаст папки: имя_директории1, имя_директории2 и имя_директории3.

Копирование файла в другой файл или каталог

 cp файл-источник файл-или-каталог-приемник

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

 

UNIX рассчитана на профессиональных пользователей. Предупреждений по поводу удаления файлов не выводится.

Рекурсивное копирование каталога в другой каталог

 

 cp -R каталог-источник каталог-приемник

Перемещение/переименование файла или каталога

 

Команда

 mv файл-или-каталог-источник файл-или-каталог-приемник

используется для перемещения или переименования файлов или каталогов. Если в качестве аргументов заданы имена двух файлов, то имя первого файла будет изменено на имя второго (mv file1 file_1). Если последний аргумент является именем существующего каталога, то mv перемещает все заданные файлы в этот каталог (mv file ./dir/).

Если последний аргумент не является каталогом и задано более чем два файла, то будет выдано сообщение об ошибке.

 

Ключи, использующиеся с mv:

§ –f, не запрашивать подтверждения операций.

§ –i, выводить запрос на подтверждение операции, когда существует файл, в который происходит переименование или перемещение.

§ – –, завершает список ключей. Применяется для использования с файлами, имена которых начинаются на –.

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

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

 

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

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

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

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

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

 

Рисунок 2 – Организация жесткой связи

 

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

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

 

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

 

rm имя_файла

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

 

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

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

 

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

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

 

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

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

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

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

 

Команда

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

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

Выполните:

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

 

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

 

Команда

 cat имя_файла

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

 

Команда

 more имя_файла

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

 

Команда

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

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

 

Команда

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

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

 

Команда

 od имя_файла

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

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

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

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

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

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

Порядок выполнения работы

Установите виртуальную машину и ОС семейства UNIX. Выполните в командной строке перечисленные ниже действия. Протоколируйте процесс выполнения (с помощь скриншотов или записывая команды) и представьте их в отчете.

 

1. Получите справку о команде printf с использованием разных ключей.

2. Создайте 2мя способами 2 файла (с помощью touch и >). Не забудьте просмотреть содержимое каталога, где вы создали файлы.

3. В домашнем каталоге создайте 2 подкаталога d1 и d2 с помощью отдельных команд для каждого каталога и одной команды для обоих каталогов.

4. Создайте в домашнем каталоге текстовый файл test.txt и скопируйте его в заранее созданный каталог d1.

5. Рекурсивно скопируйте каталог d1 в каталог d2. Просмотрите содержимое домашнего и d2 каталогов

6. Создайте файл abc.txt и измените его имя на cba.txt. Далее переместите этот файл в каталог d2. Создайте также каталог d3 и переместите его в каталог d2.

7. Создайте текстовый файл b.txt и символическую связь для него c.txt. Просмотрите содержимое рабочего каталога и обратите внимание на файл c.txt и его размер: 5 - это число символов в имени "b.txt".

8. Создайте жесткую связь для файла b.txt – d.txt. Просмотрите содержимое рабочего каталога и обратите внимание на значение второй колонки для b.txt и d.txt и размер этих файлов, заметьте также время последней модификации. Файлы b.txt и d.txt абсолютно равноправны, т.к. это два разных имени одного и того же физического файла. С помощью команды touch измените время последней модификации файла d.txt и выведите данные об обоих файлах (обратите внимание на время последней модификации). Далее выведите номера индексных дескрипторов этих файлов и обратите внимание на их значения (см. команду ls)

9. Удалите файлы b.txt, c.txt и d.txt. Рекурсивно удалите каталог d1 в каталоге d2 (с просьбой подтверждения удаления), а также каталог d3 из каталога d2 (также рекурсивно, но без запроса подтверждения). Удалите оставшееся содержимое каталога d2 и удалите ПУСТОЙ каталог.

10.  Создайте в текстовом редакторе файл test.txt и внесите в него произвольный текст. ПОЛНОСТЬЮ выведите содержимое этого файла, а затем повторите, но ПОСТРАНИЧНО.

 

3. Контрольные вопросы
  1. Что такое виртуальная машина и каковы ее возможности?
  2. Что считается файлами в OC UNUX?
  3. Какие типы файлов существуют в OC UNUX?
  4. Объясните назначение связей с файлами и способы их создания.
  5. Какие методы создания и удаления файлов, каталогов Вы знаете?

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 272.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...