Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Створення жорстких і символічних зв'язків за допомогою команди ln
Для створення жорстких або символічних зв'язків використовується команда ln (від link — зв'язати). Команда ln дозволяє створювати зв'язки обох типів і зв'язувати одні файли з іншими (включаючи і каталоги). Істотна відмінність між вказаними типами зв'язків полягає в тому, що жорсткий (hard) зв'язок зв'язує безпосередньо два файли, що належать одній і тій же файловій системі. Проте ви можете використовувати символічний (symbolic) зв'язок між каталогами і файлами, який розповсюджується на різні файлові системи. Якщо ви використовуєте команду ln для створення жорсткого зв'язку, ви задаєте в командному рядку другий файл, який можете використовувати як посилання на початковий файл, як в наступному прикладі: # cat > filel This is filel # ln filel file2 # ls -1 file* -rw-r--r-- 2 bball users 14 Jan 5 13:32 filel -rw-r--r-- 2 bball users 14 Jan 5 13:32 file2 # cat file2 This is filel Неважко помітити, що файл file2 — це в точності те ж саме, що файл filel. Якщо ви видалите файл filel, файл file2 залишиться. При внесенні змін у файл filel, таких як додавання тексту, ці зміни відображаються і у файлі file2. Зворотне також справедливо: якщо внести зміни в file2, то і файл filel буде відповідним чином оновлений. Хоча жорсткі зв'язки вельми корисні, вони володіють щонайменше одним істотним недоліком. Наступні приклади покликані продемонструвати, в чому саме він полягає. Спочатку створимо символічний зв'язок з використанням опції -s команди ln: # cat >filel This is filel # ln -s filel file2 # ls -1 file* -rw-r—r-- 1 bball users 14 Jan 5 13:48 filel lrwxrwxrwx 1 bball users 5 Jan 5 13:48 file2 -> filel Зверніть увагу на стрілку, направлену від файлу file2 до файлу filel. Ця стрілка указує на те, що файл f ile2 є символічним зв'язком з файлом filel. Зверніть увагу також на те, що довжина файлу file2 менше ніж довжина файлу filel. Відмінність символічного зв'язку від жорсткого зв'язку полягає в тому, що символічний зв'язок — це всього-навсього псевдонім початкового файлу. Тому, якщо символічний зв'язок видалити, з початковим файлом зовсім ніщо не відбудеться. Проте якщо ви видалите початковий файл, то символічний зв'язок зникне разом з ним: # rm -f filel # cat file2 cat: file2: No such file or directory Оскільки початкового файлу, filel, більше не існує, ви не можете отримати доступ до його вмісту за допомогою символічного зв'язку file2. Проте символічні зв'язки все-таки володіють особливістю, яку можна розглядати як перевага в порівнянні з жорсткими зв'язками. В наступному прикладі при спробі створити жорсткий зв'язок з каталогом /usr/local/games команда In видає повідомлення про неприпустимість подібної операції і завершує роботу:
# ln /usr/local/games play In: /usr/local/games: hard link not allowed for directory Проте ви можете створити символічний зв'язок таким чином: # ln -s /usr/local/games play # ls -1 play lrwxrwxrwx 1 bball users 16 Jan 5 14:12 play -> /usr/local/games Тепер замість введення довгої команди на зразок # cd /usr/local/games ви можете використовувати більш компактну команду # cd play
Контрольні питання: 1. Яка команда створює файл та виконує модифікацію дати і часу? 2. Яка команда виконує видалення файлів. З якими опціями вона працює? 3. Яким чином за допомогою команди rm можна видаляти каталоги? 4. Яка команда створює каталоги. З якими опціями вона працює? 5. Яким чином можна створити ієрархію каталогів? 6. Яка команда виконує видалення каталогів та ієрархії каталогів. З якими опціями вона працює? 7. Чи можна видаляти не пусті каталоги? 8. Яка команда виконує перейменування файлів та каталогів? 9. Яка команда виконує копіювання файлів та каталогів. З якими опціями вона працює? 10. Яким чином реалізуються символічні та жорсткі зв’язки. Для чого вони призначені?
Література: 1. Болл Билл Освой самостоятельно Linux за 24 часа, 2-е издание.: Пер. с англ.: Уч. пос. – М.: Издательский дом «Вильямс», 2000. – 480 с.: ил. – Парал. тит. англ., стор. 98-108.
Лабораторна робота № 4 Тема: Файлова система: команди пошуку та роботи з архівами. Мета: Засвоїти та набути навички роботи з командами пошуку та роботи з архівами у файловій системі. Завдання: 1. Виконати пошук файлів, ім’я яких містить літери від а до m: - в загальному випадку; - на початку імені; - в кінці імені; - в середині імені; - з обох сторін. 2. Виконати пошук файлів, імена яких містять символ «*». 3. Виконати пошук тексту «and» у файлі ABC.txt. (Використати 3 команди) 4. Виконати пошук тексту «and» у файлі ABC.txt з нумерацією рядків, що містить слово для пошуку. 5. У файлах Text.txt та File.txt знайти слова «hello», «or», «object», «name», з нумерацією рядків, що містить слова для пошуку. 6. Створити каталог RTC, що містить 2 файли та 3 підкаталоги RTC1, RTC2, RTC3. Кожен підкаталог містить по 3 файли. Переглянути дерево створеного каталогу.
7. Створити tar-архів та переглянути його наявність у системі. 8. Створити tar-архів з вибіркових елементів. 9. Створити tar-архів з відображенням процесу роботи. 10. Вивести вміст створеного архіву з восьмого завдання. 11. Розпакувати створений архів. 12. Розпакувати створений архів з опитуванням. 13. Стиснути файл (архів) за допомогою команд: - gzip із завданням власного розширення; - compress. 14. Розпакувати архіви, створені у попередньому завданні. Обладнання та матеріали: ПК, ОС Linux, методичні вказівки до лабораторних робіт. Хід роботи: 1. Ознайомитись з теоретичними відомостями. 2. Увімкнути комп’ютер з операційною системою Linux, якщо вона там не встановлена, то встановіть її. 3. Виконати дії, зазначені в завданні, для пошуку файлу. 4. Виконати дії, зазначені в завданні, для пошуку заданого тексту у файлах. 5. Виконати дії, зазначені в завданні, для створення та розпакування архівів. 6. Оформити та захистити звіт лабораторної роботи. Теоретичні відомості Регулярні вирази (regular expressions) — це шаблони, що використовують спеціальний синтаксис для завдання відповідності рядків (звичайно — в текстових файлах, якщо тільки ви не здійснюєте пошук по іменах файлів). Існують також розширені регулярні вирази, які можуть використовувати в пошукових шаблонах додаткові оператори. Використовуючи лише невелику підмножину символів підстановки, ви можете побудувати нескінченне число регулярних виразів. В таблиці приведений короткий перелік деяких з цих символів. В попередніх прикладах ви познайомилися щонайменше з одним з таких символів — зірочкою (*). Вираз Відповідність * Будь-який символ ? або. Окремий символ (х) Попередній символ, х раз, що повторюється {х,у} Попередній символ, що повторюється щонайменше х, але не більш у разів {х} Попередній символ, що повторюється щонайменше х раз (ххх)¦ (XXX) Рядок ххх або XXX [ххх] або [х-х] Будь-який з символів із заданого списку ххх або діапазону х-х [XYZ]+ X, У або Z щонайменше один раз \х Символ, такий як? або / ^шаблон шаблон на початку рядка $шаблон шаблон в кінці рядка
Символ зірочки корисний для виявлення відповідності довільному символу. Наприклад, якщо вам необхідно знайти в каталозі всі текстові файли з розширенням. txt, ви можете використовувати наступний вираз: # ls *.txt 14days.txt 96hours.txt datalog.txt datebook.txt day67.txt Але припустимо, що вам потрібен перелік всіх файлів вашого каталога, імена яких містять цифру. Ви можете "збудувати" послідовність з декількох критеріїв пошуку для команди ls таким чином: # ls * [0123456789]* 000lfile.0009 32days.msg day67.txt 08100097.db 96hours.txt message.76 14days.txt backup00l.file phonelog.111597 Тепер команда пошуку відображає всі файли, імена яких містять щонайменше одну цифру, оскільки ви визначили в пошуковому шаблоні список символів, в даному випадку — цифр. Ви можете також використовувати "стенографічну форму" регулярного виразу, щоб побудувати вираз, що виконує ту ж функцію пошуку, що і попереднє, наприклад: # ls *[0-9]* 0001file.009 32days.msg day67.txt 08100097.db 96hours.txt message.76 14days.txt backup00l.file phonelog.111597 Спосіб завдання символів шаблона у виразі грає надзвичайно важливу роль. Якщо вам, наприклад, потрібен список тільки тих файлів, імена яких закінчуються цифрою, ви можете використовувати наступний вираз:
# ls *[0-9] 000lfile.0009 message.76 phonelog.111597 Якщо вам потрібен список тільки тих файлів, імена яких починаються з цифри, ви можете використовувати такий вираз: # ls [0-9]* 000lfile.0009 08100097.db 14days.txt 32days.msg 96hours.txt Яким чином отримати список тих файлів, які містять цифри тільки всередині або тільки на обох кінцях імені? Спробуйте задати наступний вираз: # ls *[-a-z][0-9]* Backup00l.file day67.txt # ls [0-9]*[а-z]*[0-9] І нарешті, яким чином встановити відповідність шаблону, якщо шаблон, по якому здійснюється пошук, сам включає символ відповідності? Дуже просто! Щоб відмінити (escape) символ шаблона, використовуйте зворотний слеш, наприклад: # ls */?* cathy?.message
|
|||||||
Последнее изменение этой страницы: 2017-02-06; просмотров: 242; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.134.104.173 (0.024 с.) |