Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Для дальнейшей работы создайте несколько файлов с произвольным текстом с помощью стандартного текстового редактора. ⇐ ПредыдущаяСтр 3 из 3
Команды создания файла
Команда 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. Контрольные вопросы
|
||
Последнее изменение этой страницы: 2018-04-12; просмотров: 304. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |