1. Створити каталог1 в ньому: каталог2, каталог3, каталог4.
2. Стоврити файл1.txt в каталозі1 та перемістити в каталог4.
3. В каталозі4 створити символічне посилання
Ln –s ../каталог2/каталог3/каталог4/файл1.txt ssilka
4.Продивитися перелік файлів в каталозі за допомогою команди ls –l
5. Отримайте інформацію про створені раніше вами файли.
6. Ознайомитись через довідкову систему з програмою tar
7. Створити файл 1, файл 2, файл 3 в каталозі4.
8. Створити архів з першими двома файлами.
9. Добавити в створений архів третій файл.
10. Проглянути вміст архіву.
11. Розпакуйте файли
Оформлення звіту
1. Тема лабораторної роботи.
2. Мета лабораторної роботи.
3. Описати послідовність виконання роботи.
Лабораторна робота 24
Тема: Утіліти командних рядків. Команда Grep
Мета:Освоїти роботу з командою Grep.
Теоретична частина
Grep: Пошук рядків у файлах.
Синтаксис:
grep [опції] <Зразок> [один або більш файл(ов)]
Якщо задано декілька файлів, то їх назви будуть передувати кожному рядку відповідності, відображеному в результаті. Щоб запобігти виведенню цих імен, використовують опцію –h, також, для отримання тільки імен файлів використовують опцію –l . Зразок – це регулярний вираз, хоча в більшості випадків це просто слово. Найчастіше використовувані опції:
ü –i: робить пошук незалежним від регістра (тобто ігноруються відмінності між маленькими і великими буквами);
ü –v: інвертує пошук: показує рядки, які не містять зразка;
ü –n: виводить номери знайдених рядків;
ü –w: примушує grep сприймати зразок як ціле слово.
Приклад
$ cat my_father
Hello dad
Hi daddy
So long dad
# Знайти рядки, що містять "hi", не звертаючи увагу на регістр
$ grep -i hi my_father
Hi daddy
# Знайти "dad" як ціле слово і вивести номер рядка перед знайденим результатом
$ grep -nw dad my_father
1:Hello dad
3:So long dad
# Знайти всі рядки, які не починаються на "H"
$ grep -v "^H" my_father
So long dad
$
Якщо є бажання використовувати grep в каналі, то не повинно бути вказано ім'я файлу, в цьому випадку дані беруться із стандартного введення. Результат виводиться в стандартний висновок, тому можна сміливо передавати вихід grep іншим програмам.
Приклад
$ cat /usr/share/doc/HOWTO/Parallel-Processing-HOWTO | \
grep -n thread | less
Послідовність виконання роботи
1. Створити каталог
2. Створити файл.
3. Перемістити файл у каталог.
4. У створений файл ввести текст:
I go to koledg every day.
You speak CPZ very well.
He is speaking over the telephone.
They usually get up early in the morning.
He always does his lessons in the evening.
The have read the book.
5. Знайти ряди, які містять слова:
- "very";
- "lessons",
- "his", не звертая уваги на регістр
6. Знайти:
- "speak" , як ціле слово та вивести номер ряду перед знайденим результатом;
- "koledg" , як ціле слово та вивести номер ряду перед знайденим результатом,
7. Знайти всі ряди, які не починаються на "H", "Т".
Оформлення звіту
1. Тема лабораторної роботи.
2. Мета лабораторної роботи.
3. Опишіть послідовність виконання роботи.
4. Відповісти на контрольні питання
Контрольні питання
1. Призначення команди grep.
2. Види опцій та їх призначення
3. Якщо Grep використовується в каналі чи є ніобхідність надати ім'я файлу і чому?
Лабораторна робота 25
Тема: Команда find.
Мета:Освоїти роботу з командою find; навчитися робити пошук файлів за критеріями.
Теоретична частина
Команда find може шукати файли по імені, розміру, дати створення або модифікації і деяким іншим критеріям.
Загальний синтаксис команди find має наступний вигляд:
find [список_каталогов] критерий_поиска
Параметр "список_каталогов" визначає, де шукати потрібний файл. Найпростіше всього задати початковий каталог пошуку кореневий каталог, проте, у такому разі пошук може затягнутися дуже надовго, тобто, буде видима вся структура каталогів, включаючи змонтовані файлові системи (зокрема мережеві, якщо такі є) Можна скоротити об'єм пошуку, якщо задати замість одного кореневого каталога список з декількох каталогів (природно, тих, в яких може знаходитися шуканий файл)
Find /usr/share/doc /usr/doc /usr/locale/doc –name instr.txt
Початком "критерия_поиска", визначаючого, що саме повинна шукати програмаfind, вважається перший аргумент, що починається на один з символів: "–()", "!". Всі аргументи, які знаходяться перед "критерием_поиска", трактуються як імена каталогів, в яких треба проводити пошук. Якщо не вказано жодного шляху, пошук проводиться тільки в поточному каталозі і його підкаталогах.
Критерії пошуку для команди
Опція Значення
–name шаблон – Шукає файли, імена яких відповідають шаблону
–groupім'я – Шукає файли, що належать вказаній групі
–size число [с] – Шукає файли, розміром в число 512-байтних блоків. Якщо після числа коштує символу, значить розмір вказаний в байтах (символах)
–mtime число – Шукає файли, які востаннє змінювалися вказане число днів тому
–newer зразок – Шукає файли,, які змінювалися після зміни файлу, вказаного в зразку
–type тип_файла – Шукає файли вказаного типу Тип задається одним з символів b (блок-орієнтовані пристрої), с(байт-орієнтовані пристрої), d (файл каталога), f (обємний файл), р (іменований канал) або "*" (символічне посилання)
Наприклад, якщо необхідно знайти усі файли, імена яких закінчуються на .txt, .doc , то критерій можна записати наступним чином
–name *.txt or(and) –name *.doc
Загальний синтаксис команди find:
find [опції] [каталоги] [критерії] [дії]
опції:
ü xdev: не шукати в каталогах, що знаходяться в інших файлових системах;
ü mindepth <n>: дозволити пошук файлу глибше, ніж n рівнів вниз від вказаного каталога;
ü maxdepth <n>: шукати файли не глибше ніж n рівнів вниз від вказаного каталога;
ü follow: слідувати по символічних посиланнях на каталоги. За умовчанням find не ходить по символічних посиланнях;
ü daystart: при використовуванні перевірок за часом (див. нижче), замість значення за умовчанням (24 години тому від поточного часу) за точку відліку приймається початок поточного дня.
Критеріями можуть бути одна або декілька атомарних перевірок. Ось деякі корисні перевірки:
ü type <type>: пошук по типу файлу; <type> може бути одним з: f (звичайний файл), d (каталог), l (символічне посилання), s (сокет), b (файл блокового типу), с (файл символьного типу) або p (іменований канал);
ü name <зразок>: Знайти файли, чиї імена містять <зразок>. За наявності цієї опції, <зразок> розуміється як шаблон підстановки;
ü iname <pattern>: теж саме що і -name, тільки регистронезалежними;
ü atime <n>, -amin <n>: Шукаються файли доступ до яких був проведений <n> днів тому (-atime) або <n> хвилин тому (-amin). Існує також можливість вказати +<n> або –<n>, в цьому випадку будуть знайдені файли, доступ до яких був проведений відповідно більше або менше, ніж <n> днів/хвилин тому;
ü anewer <file>: Шукаються файли, доступ до яких був раніше, ніж до файлу <file>;
ü ctime <n>, -cmin <n>, -cnewer <file>: теж саме, що -atime, -amin і -аnewer, але застосовно до дати останньої модифікації, а не останнього доступу;
ü regex <образец>: теж саме, що і -name, але зразок сприймається як регулярний вираз;
ü iregex <зразок>: теж саме, що і -regex, але не залежить від регістра.
Дії для кожного знайденого файлу:
ü print: Виводить імена файлів на стандартний висновок. Це дія за умовчанням;
ü ls: Виводить знайдені файли в стандартний висновок еквівалентно команді ls -ilds;
ü exec <command>: виконує команду <command> для знайдених файлів. Командний рядок <command> закінчується символом ";", який повинен бути захищений (деактивує) для того, щоб shellйого не інтерпретувала
Дата: 2016-10-02, просмотров: 226.