Какую информацию содержит пустой каталог
Перейти к содержимому

Какую информацию содержит пустой каталог

  • автор:

Какую информацию содержит пустой каталог

ln [-ключ] вх_файл_1 [вх_файл_2 [. вх_файл_n]] вых_файл — организация новых ссылок на файл.

В формате команды заложено 2 режима ее использования:

1-й: Если вых_файл — обычный файл, то допускается только один вх_файл_1; в этом случае на н равным именам: вх_файл_1 и вых_файл.

Количество ссылок на файл в его описателе увеличивается на 1.

2-й: Если вых_файл — каталог, то в нем создаются элементы, включающие имена перечисленных в команде входных файлов и ссылки на них, после чего в каталоге вых_файл можно работать с этими файлами, как с файлами этого каталога.

Возможно создание символьных и жестких ссылок.

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

Обобщение свойств команды ln при создании жесткой ссылки:

— каждая ссылка на входной файл добавляет +1 к числу ссылок входного файла, после чего к упомянутому файлу можно обращаться по двум именам;

— все связанные файлы имеют совпадающие описатели в каталогах;

— если изменяется содержимое одного из связанных файлов, то меняется содержимое всех связанных файлов, т.к. связанные файлы разделяют одни и те же данные на диске;

— если удалить один из связанных файлов, то сокращается число взаимных ссылок на -1.

ls [-alrstu] [ n amedir] — вывод содержимого каталога; если в качестве namedir указано имя файла, то выдается вся информация об этом файле. Если аргумент не указан, выдается содержимое текущего каталога.

Значения некоторых аргументов:

— t — сортировка по времени модификации файлов;

— v — сортировка файлов по времени последнего доступа;

— с — использовать время создания файла при сортировке;

— s — размеры файлов указываются в блоках;

sort [- k номер-поля-в-строке] [список-файлов] — алфавитная и числовая сортировка файлов или строк файлов; режим сортировки определяется ключами. Команда многофункциональная, предусматривает много режимов сортировки. Некоторые ключи команды:

-d — сортировка по алфавиту (или по умолчанию);

-u — исключает повторяющиеся строки и т.д.

Практическая работа №3(3) Создание ссылок на файлы.

Цель работы:

1. Изучить понятие ссылки на файл.

2. Научиться создавать жесткие и символьные ссылки на файлы.

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

ln — создание ссылки на файл;

ls — просмотр атрибутов файла.

1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.

2) Выведите на экран Терминала справку по следующим командам: ln , ls. Назначение и формат команд приведите в отчете.

3) Перейдите в Ваш личный каталог и создайте в нем текстовый файл и любой подкаталог.

4) Создайте жесткую ссылку с другим именем в созданном подкаталоге на созданный файл. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.

5) Уничтожьте один из связанных файлов. Проанализируйте и сравните все атрибуты связанных с ним файлов. Объясните изменения.

6) Просмотрите содержание связанных файлов. Каков был результат просмотра?

7) Создайте символьную ссылку с другим именем в созданном ранее подкаталоге. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.

8) Создайте новый подкаталог в Вашем личном каталоге.

9) Создайте ссылки на несколько файлов, принадлежащих одному из каталогов домашней директории, в созданном ранее каталоге одной командной строкой. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.

10) Завершите работу с программой Терминал.

Практическая работа №3(4) Сортировка файлов

Цель работы:

1. Научиться сортировать отображаемую информацию при просмотре директории.

2. Научиться осуществлять сортировку данных в файле.

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

sort — сортировка файлов;

ls — просмотр содержимого каталога;

touch — замена времени модификации файла на текущее.

1) Зарегистрируйтесь в ОС Linux. Запустите на выполнение программу Терминал.

2) Выведите на экран Терминала справку по следующим командам: sort , touch. Назначение и формат команд приведите в отчете.

3) Просмотрите содержимое корневого каталога с выводом размеров файлов, содержащихся в директории, в блоках.

4) Упорядочите по алфавиту строки суммарного файла HOME-каталога.

5) Просмотрите содержимое любой директории отсортировав отображаемую информацию по времени последнего доступа к файлу.

6) Обновите временные характеристики одного из существующих файлов. Проанализируйте результат.

7) Просмотрите содержимое директории, содержащей файл с обновленными временными характеристиками отсортировав его по времени модификации файлов

8) Обновите временные характеристики несуществующего файла. Проанализируйте результат работы команды.

9) Просмотрите содержимое директории, содержащей созданный файл, используя сортировку по времени создания файла

10) Проанализируйте с использованием команды history содержание лабораторной работы, продумайте ответы на нижеприведенные контрольные вопросы и сдайте выполненную работу преподавателю.

Контрольные вопросы:

43. Какие системные имена каталогов Вам известны?

44. Каким образом можно построить отдельный каталог или цепочку каталогов?

45. Для чего и каким образом переопределяются текущие каталоги?

46. Как обратиться к файлам параллельных ветвей дерева

каталогов? К вышележащему каталогу?

47. Какие условия поиска файлов Вы знаете? Как комбинируются условия поиска? Как осуществить поиск по дереву каталогов?

48. Какова последовательность действий при удалении одного каталога? Цепочки каталогов?

49. Объясните назначение и содержание каждого поля каталога.

50. Как отличить по содержимому каталога типы файлов, содержащихся в Ваших каталогах.

51. Какую информацию содержит «пустой» вновь созданный каталог?

52. Как осуществить поиск файлов в системе каталогов по фрагментам текста файлов?

53. Назовите известные Вам способы создания пустых файлов.

54. Как создать текстовый файл?

55. Какие возможности сокращения записи имен файлов Вы знаете с использованием механизма генерации имен файлов?

56. Какие три команды этой лабораторной работы можно использовать для переименования файлов? Как в этом случае надо использовать команды?

57. Какими способами можно объединить несколько текстовых файлов в один?

58. В чем разница работы команд cp и mv?

59. Сколько ссылок можно создать на единственный файл из разных каталогов?

60. Как создать несколько ссылок с совпадающими именами на несколько файлов в другом каталоге?

61. Какое соответствие атрибутов имеют связанные между собой файлы?

62. На какой атрибут и как влияет удаление одного из связанных файлов?

63. Как отражается на содержимом связанных файлов изменение содержания одного из них и почему?

(Решено) 1. Какие основные каталоги системы вы знаете? Каково их назначение?2. Как обратиться к файлу, который находится в каталоге, расположенном выше относи…

1. Какие основные каталоги системы вы знаете? Каково их назначение?
2. Как обратиться к файлу, который находится в каталоге, расположенном выше относительно текущего в дереве каталогов системы?
3. Какие условия поиска файлов вы знаете? Как их можно комбинировать?
4. Как узнать имя владельца файла и размер файла?
5. Какую информацию содержит пустой каталог?
6. Как осуществить поиск файлов в системе каталогов по фрагментам текста файлов?
7. Как осуществить поиск файлов по их типу и владельцу?
8. Назовите известные вам способы создания пустых файлов.
9. Какие типы файлов в системе UNIX вы знаете?

1. В системе UNIX существует несколько основных каталогов:
— / : корневой каталог, в котором находятся все остальные каталоги и файлы.
— /bin : содержит основные исполняемые файлы для работы системы.
— /sbin : содержит исполняемые файлы, используемые для настройки и обслуживания системы.
— /usr : содержит файлы программ и библиотек, используемых пользователями.
— /var : содержит файлы, которые могут меняться в процессе работы системы, например, логи, кэши и т.д.
— /tmp : содержит временные файлы, которые могут быть удалены при перезагрузке системы.

2. Для обращения к файлу, который находится в каталоге выше относительно текущего, нужно использовать следующий путь: ../имя_файла. Например, если мы находимся в каталоге /home/user1 и хотим обратиться к файлу, который находится в каталоге /home, то нужно написать ../имя_файла.

3. В UNIX есть несколько условий поиска файлов:
— -name «имя_файла» : поиск файла по имени.
— -type тип_файла : поиск файлов конкретного типа (например, -type f для поиска только файлов).
— -user имя_владельца : поиск файлов по имени владельца.
— -size размер_файла : поиск файлов по размеру.
— -ctime время_изменения : поиск файлов по времени изменения.
Эти условия можно комбинировать используя следующие операторы:
— -and : условие И.
— -or : условие ИЛИ.
— -not : условие НЕ.

4. Имя владельца файла и размер файла можно узнать с помощью команды ls -l. В выводе этой команды информация о файлах будет содержать столбцы, где указывается имя владельца и размер файла.

5. Пустой каталог содержит только точки ссылки на сам каталог и родительский каталог. То есть он пуст.

6. Для поиска файлов в системе каталогов по фрагментам текста файлов нужно использовать команду grep. Например, для поиска строки «example» во всех файлах в текущем каталоге и его подкаталогах нужно написать команду: grep -r «example» .

7. Для поиска файлов по типу можно использовать условие -type тип_файла (например, -type f для поиска только файлов). Для поиска по владельцу нужно использовать условие -user имя_владельца.

8. Существуют несколько способов создания пустых файлов:
— touch имя_файла.
— > имя_файла (эта команда перенаправляет пустой вывод в указанный файл).
— cat > имя_файла (эта команда открывает файл в режиме записи и позволяет пользователю писать в него, затем нужно нажать Ctrl+D для сохранения).

9. В UNIX можно выделить следующие типы файлов:
— Обычные файлы (файлы данных).
— Каталоги.
— Символьные ссылки.
— Файлы блочного устройства.
— Файлы символьного устройства.
— Сокеты.
— Файлы с именами FIFO (иногда называемыми «каналы»).

Чтобы оставить комментарий, необходимо авторизоваться.

Задай любой вопрос нейросети!

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

Последние вопросы

Искусственный интеллект ChatGPT на русском: полный обзор, возможности и использование

(Решено) Евгений Пригожин жив или мёртв? Был ли Пригожин в самолёте? Или Пригожин жив и находится в Мали? Он вышел на связь после катастрофы?…

(Решено) Представьте ситуацию: кандидат отправил тестовое задание и теперь интересуется результатами, но в данный момент задание еще не проверено. Напишите отв…

(Решено) Каковы теоретические основы разработки учебно-методической документации в начальной школе?…

(Решено) Какие основные виды деятельности практикуются в начальной школе?…

(Решено) Составь реферат на тему “Анализ изменения продолжительности выполнения работ с увеличением единичной мощности, средств труда(емкости ковша землеройной…

(Решено) Какие технологии обучения представляются Вам устаревшими в начальной школе…

(Решено) Создай сопроводительное письмо для стажера веб дизайнера для получения опыта и роста собственных скилловНавыки HTML, CSS, JQuery, Bootstrap, Python3,…

(Решено) Занимаются ли подростки взрослыми вещами? И почему они это делают?…

Хотите задать любой вопрос нейросети?

Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет»

Форма репорта неправомерного контента.
Обратная связь с администрацией проекта

Уведомление об использовании cookie файлов

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

При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie и других похожих технологий в соответствии с настоящим Уведомлением.

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

Обращаем Ваше внимание на то, что при блокировании или удалении cookie файлов, мы не можем гарантировать корректную работу нашего сайта в Вашем браузере.

Cookie файлы, которые сохраняются через веб-сайт, не содержат сведений, на основании которых можно Вас идентифицировать.

Что такое файл cookie и другие похожие технологии

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

Некоторые посещаемые Вами страницы могут также собирать информацию, используя пиксельные тэги и веб-маяки, представляющие собой электронные изображения, называемые одно-пиксельными (1×1) или пустыми GIF-изображениями.

Файлы cookie могут размещаться на вашем устройстве нами («собственные» файлы cookie) или другими операторами (файлы cookie «третьих лиц»).

Мы используем два вида файлов cookie на сайте: «cookie сессии» и «постоянные cookie». Cookie сессии — это временные файлы, которые остаются на устройстве пока вы не покинете сайт. Постоянные cookie остаются на устройстве в течение длительного времени или пока вы вручную не удалите их (как долго cookie останется на вашем устройстве будет зависеть от продолжительности или «времени жизни» конкретного файла и настройки вашего браузера).

Cookie файлы бывают различных типов:

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

Файлы cookie, относящиеся к производительности, эффективности и аналитике. Данные файлы позволяют анализировать взаимодействие посетителей с сайтом, оптимизировать содержание сайта, измерять эффективность рекламных кампаний, предоставляя информацию о количестве посетителей сайта, времени его использования, возникающих ошибках.

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

Рекламные файлы cookie определяют, какие сайты Вы посещали и как часто, какие ссылки Вы выбирали, что позволяет показывать Вам рекламные объявления, которые заинтересуют именно Вас.

Электронная почта. Мы также можем использовать технологии, позволяющие отслеживать, открывали ли вы, прочитали или переадресовывали определенные сообщения, отправленные нами на вашу электронную почту. Это необходимо, чтобы сделать наши средства коммуникации более полезными для пользователя. Если вы не желаете, чтобы мы получали сведения об этом, вам нужно аннулировать подписку посредством ссылки «Отписаться» («Unsubscribe»), находящейся внизу соответствующей электронной рассылки.

Кнопки доступа к социальным сетям. Они используются для того, чтобы пользователи могли поделиться ссылкой на страницу в социальных сетях или сделать электронную закладку. Данные кнопки являются ссылками на веб-сайты социальных сетей, принадлежащих третьим лицам, которые, в свою, очередь могут фиксировать информацию о вашей активности в интернете, в том числе на нашем сайте. Пожалуйста, ознакомьтесь с соответствующими условиями использования и политикой конфиденциальности таких сайтов для понимания того, как они используют ваши данные, и того, как можно отказаться от использования ими ваших данных или удалить их.

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

Как управлять файлами cookie?

Большинство интернет-браузеров изначально настроены на автоматический прием файлов cookie.

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

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

Заключительные положения

По собственному усмотрению мы можем периодически изменять настоящее Уведомление.

По возникающим вопросам с нами можно связаться, используя контакты, размещенные на нашем сайте.

ИВАНЬКО Методичка Операционные системы 2012. Методические указания для практических занятий и выполнения лабораторных работ для студентов, обучающихся по специальности 230400 Информационные системы и технологии

Этот файл соотносит числовые идентификаторы групп с символьными именами. Каждая строка файла /etc/group содержит четыре поля. Поля разделяются двоеточиями. Назначение полей этой записи представлено в табл. 2.

Таблица 2. Поля файла /etc/group и их назначение

Поле Назначение
Имя группы Содержит (уникальное) символьное имя группы.
Пароль группы Группы могут иметь пароли, хотя использование паролей групп — явление редкое. В примере данное поле пустое — это значит, что пароль отсутствует.
Идентификатор группы Содержит числовой идентификатор группы.
Список пользователей Содержит список регистрационных имен пользователей данной группы. Имена в этом списке разделяются запятыми. Пользователи могут принадлежать к нескольким группам и, при необходимости, переключаться между ними с помощью команды newgrp.

Пример записи из файла /etc/group:

Лабораторная работа №2

Управление каталогами.
Эта работа посвящена изучению структуры файловой системы и возможностей командного языка UBUNTU по управлению каталогами.

Изучаются команды:

mkdir, rmdir — для создания и уничтожения каталогов;

ls — вывод листинга каталога. «что здесь есть?»;

pwd — вывод на экран полного имени текущего каталога, «где я нахожусь?»;

cd — смена текущего каталога, «перейти в»;

find, grep — поиск файлов в системе каталогов;

>маршрутное – имя — файла — создание пустого файла.
Эта работа посвящена изучению структуры файловой системы и возможностей командного языка Ubuntu по управлению каталогами. Для начала рассмотрим основные команды, используемые в ОС UBUNTU при работе с каталогами..

Разделителем элементов пути в системах UBUNTU служит символ V. В отличие от таких систем, как, например, МSDOS и Windows, в которых каждому тому соответствует отдельный корневой каталог, обозначаемый именем тома, в системе UBUNTU есть только один корневой каталог. Он обо­значается ‘/’ — Все дополнительные тома, подключаются к основному дереву каталогов так, что корневой каталог каждого из этих томов стано­вится просто одним из каталогов в файловой системе. Каталог для под­ключения может быть выбран произвольно. Операция подключения тома к файловой системе носит название монтирования, и может производить­ся в любой момент во время работы системы.

В системе обычно присутствуют следующие каталоги:

/bin— каталог с пользовательскими программами;

/sbin — каталог программ для администрирования системы;

/etc— каталог с конфигурационными файлами программ;

/home — каталог, в котором создаются домашние каталоги поль­зователей;

/lib— каталог с динамическими и статическими библиотеками;

/boot— каталог, содержащий файлы системного загрузчика;

/mnt — каталог, в который, как правило, производится монтиро­вание;

/dev — каталог, содержащий специальные файлы устройств;

/орt — каталог, в который устанавливается ПО сторонних про­изводителей;

/usr — каталог, в котором хранятся в режиме доступа только для чтения разделяемые данные, такие как исполняемые файлы программ, документация, библиотеки и другие системные ресурсы;

/rооt— каталог, являющийся домашним для пользователя гоо1;

/var — каталог, содержащий журналы, файлы баз данных, кеши разного рода; .

/tmp — каталог для хранения временных файлов.

Для печати текущего каталога:

Для смены каталога:

Пример: переход к каталогу var.

Попробуйте объяснить смысл каждой строки из данного примера. Какие операции запрашивает пользователь, и какие ответы даёт система?
Если команда запущена без указания каталога, то переход про­изводится в домашний каталог пользователя. Вообще, для указания домашнего каталога пользователя можно использовать специальный символ ‘

’. Так, для перехода в папку tmp, находящуюся в домашнем каталоге можно воспользоваться следующей командой:

Домашний каталог пользователя обычно располагается в каталоге / home и называется по имени пользователя. Например, для пользова­теля user1 домашний каталог будет таким: /home/user1.

Для создания каталога:

Если требуется создать сразу несколько вложенных друг в друга каталогов, можно воспользоваться ключом -р:

Для удаления каталога:

Пример: создание каталогов и работа с ними.

Попробуйте объяснить смысл каждый строки из данного примера. Какие операции запрашивает пользователь, и какие ответы даёт система?
Команда удаляет только пустые каталоги. Ключ -р подобен тако­му же ключу команды mkdir, и позволяет удалить сразу несколько ка­талогов, вложенных друг в друга, если все они пусты.

/ Корневой каталог. Это родительский каталог для всех каталогов и файлов в файловой системе UBUNTU.

/bin Каталог исполняемых модулей командной строки. Данный каталог содержит все исполняемые модули «родных» команд UBUNTU.

/dev Каталог устройств, содержащий специальные файлы для байт-ориентированных и блок-ориентированных устройств, таких как принтеры и клавиатуры. В данном каталоге существует файл под называнием null, который называется bit bucket и который может использоваться для перенаправления вывода в никуда.

/etc Файлы системной конфигурации и каталог исполняемых файлов. Большая часть административных файлов, а также файлов, связанных с командами, хранится здесь.

/lib В каталоге хранятся библиотеки компилятора С.

/lost+found Данный каталог содержит обрабатываемые файлы, если система отключилась ненормально. Система использует данный каталог для восстановления файлов. В каждом разделе диска есть только один каталог lost+found.

/usr Данный каталог имеет несколько подкаталогов, таких как adm, bin, etc и include. Например. /usr/include содержит файлы заголовков для компилятора С.

/home содержит домашние каталоги пользователей.

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

Команду ls (с ее многочисленными опциями) можно использовать для получения информации об одном или нескольких файлах или каталогах системы. Используйте ls для генерации списка файлов и каталогов в различном порядке, например по имени или по времени. Возможно распечатывать лишь отдельные детали о файлах и каталогах, например только имя файла.
2.1 Методика выполнения.

1. Определите уникальное имя вашего головного личного каталога. Объясните структуру полного маршрутного имени каталога.

2. Создайте два поддерева из одного и из двух каталогов.

3. С использованием команды ls проверьте факт построения дерева подкаталогов.

4. Посмотрите содержимое пустых подкаталогов, т.е. новых подкаталогов, не содержащих файлов. Объясните их содержание.

5. Сделайте текущим последний каталог меньшего дерева.

6. Определите полное маршрутное имя.

7. Смените текущий последний каталог на подкаталог большего дерева.

8. Определите его полное маршрутное имя.

9. Поместите в созданные подкаталоги по 2-3 пустых файла не выходя из текущего. Используйте при этом разные способы задания маршрутного имени подкаталогов.

10. Просмотрите содержимое каталогов. Объясните содержания каждого поля каталога.

11. Установите в качестве текущего HOME-каталога.

12. Найдите обычные файлы с определением их полных маршрутных имен. Выполните то же для различных комбинаций известных вам условий поиска файлов.

13. Проделайте предыдущие задания для файлов типа каталог.

14. Выведите на экран принадлежащую вам регистрационную запись с использованием команды grep.

15. Уничтожьте все построенные вами подкаталоги. Получите подтверждение выполнения команд по содержимому домашнего каталога.

16. Проанализируйте с использованием команды history содержание лабораторной работы, продумайте ответы на нижеприведенные контрольные вопросы и сдайте выполненную работу преподавателю. После получения зачета по работе – уничтожьте все созданные файлы и корректно выйдите из системы.
2.2 Контрольные вопросы.

1. Какие системные имена каталогов вам известны?

2. Каким образом можно построить отдельный каталог или цепочку каталогов?

3. Для чего и каким образом переопределяются текущие каталоги?

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

5. Какие условия поиска файлов вы знаете? Как комбинируются условия поиска? Как осуществляется поиск по дереву каталогов?

6. Какова последовательность действий при удалении одного каталога? Цепочки каталогов?

7. Объясните назначение и содержание каждого поля каталога.

8. Как отличить по содержимому каталога типы файлов, содержащихся в ваших каталогов.

9. Какую информацию содержит «пустой» вновь созданный каталог?

10. Как осуществить поиск файлов в системе каталогов по фрагментам текста файлов?
Лабораторная работа №3

Управление файлами.
Эта работа посвящена изучению приемов формирования и преобразования файлов в ОС UBUNTU.

Изучаются команды:

cat, cp — копирование файлов;

mv — перемещение и переименование файлов;

ln — организация ссылок на файл;

sort — сортировка файлов;

wc — определение числовых параметров файла;

touch — обновление временных характеристик файла.
Для подсчета строк, слов, или символов в файле:

С командой используются следующие ключи:

-l — для подсчета числа строк;

-w — для подсчета числа слов;

-c — для подсчета числа символов.

Для вывода содержимого файла на экран:

Если cat указано в списке более одного пути, то содержимое ука­занных файлов будет выведено последовательно. Таким образом, ко­манду cat можно использовать для соединения нескольких файлов в один.

Для того чтобы записать результат соединения в целевой файл, следует воспользоваться приемом перенаправления вывода. Для ука­зания целевого файла следует добавить в строку, запускающую ко­манду на выполнение следующую конструкцию:

Например, для вывода сообщения «Не11о, world!» в файл bloknot.txt, можно воспользоваться следующей командой:

Если требуется произвести запись в конец уже существующий файл с сохранением уже записанной туда информации, используется следующая конструкция:

Подобным образом, можно осуществлять перенаправление не только вывода, но и ввода. В этом случае, если программа ожидает ввода пользователя, вместо него будет подставлено содержимое ука­занного файла.

В качестве примера, рассмотрим запуск команды cat без указа­ния файла. В этом случае, программа будет ожидать от пользователя ввода данных, и выводит их.

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

В случае, когда необходимо передать результаты, выводимые одной командой на вход другой команде можно воспользоваться кон­вейером. Конвейер строится при помощи символа ‘|’, которым раз­деляются команды. Например, следующую последовательность ко­манд:

Можно заменить таким конвейером:

(функция wc –w считает количество введённых слов, разделённых пробелами)
Для постраничного просмотра файлов используется функция more:

Используйте клавишу Enter для перехода к следующей строке просматриваемого файла, клавишу пробела для перехода к следующей странице просматриваемого файла. Для выхода нажмите клавишу q.

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

Для соединения файла, после разделения командой cut

Для сортировки содержимого файла:

Результат сортировки не записывается в исходные файлы, а выво­дится на экран. Команда имеет следующие ключи:

-r — производить сортировку по убыванию, вместо сортировки по возрастанию;

-n — рассматривать содержимое файлов как числа, и производить для сортировки числовое сравнение, а не лексикографическое. Для создания нового пустого файла:

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

Для копирования файла:

Попробуйте объяснить смысл каждый строки из данного примера. Какие операции запрашивает пользователь, и какие ответы даёт система?
Заметим, что для указания всех файлов в текущем каталоге в ка­честве списка путей в исходном файле, можно использовать специ­альный символ *, известный как wildcard. При этом команде ср символ * передан не будет. При обработке строки с командой и ее параметрами программа оболочка заменит его списком имен всех файлов, найденных в текущем каталоге. Вообще, кроме символа *, при задании шаблона для генерации списка файлов, могут использо­ваться также символы ?, [ и ]. При этом они имеют следующее значение:

* — любая последовательность символов. Например, шаблон /home/*а* будет заменен списком всех файлов и каталогов в ката­логе /home, содержащих символ а;

? — любой одиночный символ. Например, шаблон /usr/. будет заменен списком имен всех файлов и каталогов в каталоге /usr, имеющих длину 3;

[ ] — любой из символов, заданных в скобках. Например, шаб­лон /lib/*[.0-9]* будет заменен списком имен всех файлов и ка­талогов в каталоге /lib, имеющих в имени символ точки, или цифру;

[^] — любой из символов, кроме символов, заданных в скобках. Например, шаблон /lib/ [^aeiou] * будет заменен списком имен всех файлов и каталогов в каталоге /bin, не начинающихся на гласную букву.

Так как обработка шаблонов генерации списков производится про­граммой-оболочкой, использовать шаблоны для передачи списков файлов в качестве параметров любым программам, в том числе и не предназначенным для работы с файлами.

Следующий пример выведет список всех файлов и каталогов в корневом каталоге:

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

Для перемещения файла:

Отметим, что команда перемещения файла может также быть ис­пользована для его переименования.

Для удаления файла:

Для поиска файлов, удовлетворяющих критерию:

В случае отсутствия критериев поиска, результатом команды бу­дут все файлы, расположенные во всех подкаталогах всех указанных для поиска каталогов. Причем, командой find наличие, или отсутствие у файла в начале имени точки не учитывается, то есть в списки фай­лов попадут все файлы, включая скрытые. Перечислим некоторые критерии поиска:

-name — файл будет включен в результат только, ес­ли его имя (без учета пути к файлу) соответствует шаблону програм­мы-оболочки, переданному а качестве параметра критерию;

-type — файл будет включен в результат только, если его тип соответствует указанному в критерии; среди всех возможных типов выделим следующие: d — для каталога, f— для файла.

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

find . –maxdepth l –name “[^.]*”

Заметим, что в предыдущем примере, шаблон генерации списка был заключен в кавычки, чтобы подавить генерацию списка програм­мой-оболочкой при разборе параметров.

Для получения информации о размере файлов или каталогов:

Для каждого файла из списка параметров программа печатает его размер, а для содержащихся в списке параметров каталогов, и всех ка­талогов, содержащихся в них — суммарный объем хранящихся в них файлов.

3.1 Методика выполнения.

1. Выведите на экран содержимое вашего HOME-каталога.

2. Создайте 3-4 текстовых файла с частично совпадающими именами. Проанализируйте значение атрибутов ваших файлов.

3. Создайте еще один файл методом слияния из существующих. Как изменились атрибуты нового файла?

4. Создайте два новых параллельных подкаталога.

5. В один подкаталог скопируйте имеющиеся файлы HOME-каталога с изменением имен, а в другой – переместите. Проанализируйте как изменилось содержание всех трех каталогов и каковы атрибуты всех полученных файлов.

6. Просмотрите содержимое файлов с частично совпадающими именами с использованием механизма генерации имен файлов.

7. С использованием механизма генерации имен файлов слейте содержимое всех файлов в один и поместите его в HOME-каталог. Проанализируйте содержания файла.

8. Создайте ссылку с другим именем в одном из подкаталогов на один из файлов другого подкаталога. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.

9. Создайте еще одну ссылку с другим именем. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.

10. Создайте ссылки на несколько файлов, принадлежащих одному из каталогов, в другом каталоге одной командной строкой. Проанализируйте и сравните все атрибуты связанных файлов. Объясните отличия.

11. Изменение содержимое одного из связанных файлов. Проанализируйте содержимое других связанных с ним файлов (или файла). Объясните результат.

12. Уничтожьте один из связанных файлов. Проанализируйте и сравните все атрибуты связанных с ним файлов. Объясните изменения.

13. Упорядочите по алфавиту строки суммарного файла HOME-каталога.

14. Обновите временные характеристики одного из существующих файлов. Проанализируйте результат работы команды.

15. Обновите временные характеристики несуществующего файла. Проанализируйте результат работы команды.

16. Проанализируйте с использованием команды history содержание лабораторной работы, продумайте ответы на нижеприведенные контрольные вопросы и сдайте выполненную работу преподавателю. После получения зачета по работе – уничтожьте все созданные файлы и корректно выйдите из системы.
3.2 Контрольные вопросы.

1. Назовите известные вам способы создания пустых файлов.

2. Как создать текстовый файл?

3. Какие возможности сокращения записи имен файлов вы знаете с использованием механизма генерации имен файлов?

4. Какие три команды этой лабораторной работы можно использовать для переименования файлов? Как в этом случае надо использовать команды?

5. Какими способами можно объединить несколько текстовых файлов в один?

6. В чем разница работы команд ср и mv?

7. Сколько ссылок можно создать на единственный файл из разных каталогов?

8. Как создать несколько ссылок с совпадающими именами на несколько файлов в другом каталоге?

9. Какое соответствие атрибутов имеют связанные между собой файлы?

10. На какой атрибут и как влияет удаление одного из связанных файлов?

11. Как отражается на содержимом связанных файлов изменение содержания одного из них и почему?

Информация о каталоге

Чтобы иметь возможность ориентироваться в файловой системе, нужно знать, что содержится в каждом каталоге. Запомнить всю структуру файловой системы невозможно и не нужно: в любой момент можно просмотреть содержимое любого каталога при помощи утилиты ls (сокращение от англ. «list» — «список»):

Пример 4. Команда ls

Поданная без параметров, команда ls выводит список файлов и каталогов, содержащихся в текущем каталоге.

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

При помощи этой утилиты Мефодий обнаружил, что в его домашнем каталоге (который в данный момент является текущим) содержатся два файла, созданные на прошлой лекции: « -filename-with- » и « text ».

Утилита ls принимает один параметр: имя каталога, содержимое которого нужно вывести. Имя может быть задано любым доступным способом: в виде полного или относительного пути. Например, чтобы получить список в файлов в своём домашнем каталоге, Мефодий мог бы использовать команды « ls /home/methody » и « ls . » — результат был бы аналогичным.

Кроме параметра, утилита ls «понимает» множество ключей, которые нужны главным образом для того, чтобы выводить дополнительную информацию о файлах в каталоге или выводить список файлов выборочно. Чтобы узнать обо всех возможностях ls , нужно, конечно же, прочесть руководство по этой утилите (« man ls »). Почитав руководство по ls , Мефодий решил изучить содержимое своей файловой системы и начал с начала — с корневого каталога.

Пример 5. Команда ls -F

Мефодий использовал ключ -F , чтобы отличать файлы от каталогов. При наличии этого ключа ls в конце имени каждого каталога ставит символ « / », чтобы показать, что в нём может содержаться что-то ещё. В выведенном списке нет ни одного файла — в корневом каталоге содержатся только подкаталоги.

Кроме того, Мефодий решил получить более подробную информацию о содержимом своего домашнего каталога:

Пример 6. Команда ls -aF

Внезапно он обнаружил, что файлов в его домашнем каталоге не два, а гораздо больше. Дело в том, что утилита ls по умолчанию не выводит информацию об объектах, чьё имя начинается с « . » — в том числе о « . » и « .. ». Для того, чтобы посмотреть полный список содержимого каталога, и используется ключ « -a » (all).

Такое поведение ls напоминает принцип работы файловых менеджеров со скрытыми файлами в системах MS-DOS/Windows. Разница в том, что в MS-DOS/Windows скрытые файлы предусмотрены файловой системой — файл может иметь атрибут «скрытый» и при этом называться как угодно. В Linux скрытые файлы — это не свойство файловой системы, а только соглашение по наименованию файлов.

Как правило, с « . » начинаются имена конфигурационных файлов и конфигурационных каталогов (вроде .bashrc , описанного в лекции Возможности командной оболочки), работа с которыми (т. е. настройка окружения, «рабочего места») не пересекается с работой над какой-нибудь прикладной задачей (хотя, конечно, эффективность работы зависит от хорошо настроенного окружения). Кроме того, подобных файлов в домашнем каталоге активно работающего пользователя со временем заводится немало (по одному на каждую приличную утилиту) и их присутствие в выдаче ls сильно загромождает её.

Разберёмся подробно в списке файлов в домашнем каталоге Мефодия. Начинём с весьма лаконичных имён « . » и « .. ». Мефодий уже знает, что « . » — это имя текущего каталога. Следующее имя в списке, « .. » — это ссылка на родительский каталог. Родительский каталог — это тот каталог, в котором находится данный. Родительским каталогом для « /home/methody » будет каталог « /home »: он получается просто отбрасыванием последнего имени каталога в полном пути. Иначе можно сказать, что родительский каталог — это один шаг по дереву каталогов по направлению к корню. « .. » — это сокращённый способ сослаться на родительский каталог: пока текущим каталогом является « /home/methody », относительный путь « .. » (или, что то же самое, « ./.. ») будет эквивалентен « /home ». С использованием « .. » можно строить сколь угодно длинные пути, такие как « ../../usr/../var/log/../run/../../home »,

Не сразу понятно, что приводит этот путь всё туда же, в « /home ».

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

родительский каталог Каталог, в котором содержится данный. Для корневого каталога родительским является он сам.

Ссылки на текущий и на родительский каталог обязательно присутствуют в каждом каталоге в Linux. Даже если каталог пуст, т. е. не содержит ни одного файла или подкаталога, команда « ls -a » выведет список из двух имён: « . » и « .. ».

За ссылками на текущий и родительский каталоги следуют несколько файлов и каталогов, имена которых начинаются на «.». В них содержатся настройки командной оболочки (файлы, начинающиеся с « .bash ») и других программ. В домашнем каталоге каждого пользователя Linux всегда присутствует несколько таких файлов. Использование этих файлов позволяет пользователям независимо друг от друга настраивать поведение командной оболочки и других программ — организовывать своё «рабочее место» в системе. Подробнее речь об этом пойдёт в лекции Конфигурационные файлы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *