Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Збірник лабораторних робіт з Операційних систем...doc
Скачиваний:
26
Добавлен:
19.11.2019
Размер:
3.72 Mб
Скачать

Лабораторна робота №9

Тема: ” Вивчення команду корегування та пошуку інформації в файлах ”

Мета роботи:

    1. 1. Отримання практичних навиків роботи з ОС Linux CentOS – робота в терміналі, ознайомлення з системою команд для корегування та пошуку інформації в файлах.

Матеріальне забезпечення занять

1. ЕОМ типу IBM PC.

2. Oпераційна система Linux CentOS.

Завдання для попередньої підготовки.

1. Вивчити відповідний теоретичний матеріал.

2. Опрацювати контрольні запитання.

3. Підготовити звіт.

Хід роботи.

1. Увімкніть комп'ютер з інстальованою ОС Linux CentOS.

2. Виберіть ім'я користувача та пароль для входу в систему.

3. Запустіть термінал, та в командному рядку виконайте наступні дії, пов’язані з розрізанням і склеюванням файлів:

3.1. Переглянути вміст файлу /etc/passwd, в якому міститься інформація про користувачів системи:

user @ desktop test $ cat / etc / passwd

root: x: 0:0: root: / root: / bin / bash

bin: x: 1:1: bin: / bin: / bin / false

daemon: x: 2:2: daemon: / sbin: / bin / false

adm: x: 3:4: adm: / var / adm: / bin / false

lp: x: 4:7: lp: / var / spool / lpd: / bin / false

sync: x: 5:0: sync: / sbin: / bin / sync

shutdown: x: 6:0: shutdown: / sbin: / sbin / shutdown

...

3.2. Виділити перший стовпець в кожному записі, встановивши роздільник у «:», за допомогою команди cat /etc/passwd | cut -f1 -d::

user @ desktop test $ cat / etc / passwd | cut-f1-d:

root

bin

daemon

adm

lp

sync

shutdown

...

3.3. Відсортувати список користувачів за алфавітом за допомогою команди:

user @ desktop test $ cat / etc / passwd | cut-f1-d: | sort

adm

alias

apache

at

bin

cron

cyrus

3.4. Виділити сьомий стовпець в кожному записі, що відповідає командній оболонці користувача:

user @ desktop test $ cat / etc / passwd | cut-f7-d:

/ Bin / bash

/ Bin / false

/ Bin / false

/ Bin / false

/ Bin / false

/ Bin / sync

Список має міститт багато повторюваних рядків.

3.5. Видалити повторювані рядки командою:

user @ desktop test $ cat / etc / passwd | cut-f7-d: | uniq

/ Bin / bash

/ Bin / false

/ Bin / sync

/ Sbin / shutdown

/ Sbin / halt

/ Bin / false

...

3.6. Відсортувавши рядка за допомогою команди sort:

user @ desktop test $ cat / etc / passwd | cut-f7-d: | sort | uniq

/ Bin / bash

/ Bin / false

/ Bin / sync

/ Dev / null

/ Sbin / halt

/ Sbin / shutdown

3.7. Виділити перший і сьомий стовпець файлу /etc/passwd в окремі файли. Для цього ввести команди:

user @ desktop test $ cat / etc / passwd | cut-f1-d:> users

user @ desktop test $ cat / etc / passwd | cut-f7-d:> shells

3.8. Об'єднати результати за допомогою команди:

user @ desktop test $ paste users shells

root / bin / bash

bin / bin / false

daemon / bin / false

adm / bin / false

lp / bin / false

sync / bin / sync

4. Запустіть термінал, та в командному рядку виконайте наступні дії, пов’язані з пошуком рядків за регулярними виразами:

4.1. Серед знайдених системних журналів подивитися файл журналу завантаження графічской системи XFree86.0.log за допомогою команди:

user @ desktop ~ $ less test/log/XFree86.0.log

Вийти за натисканням клавіші q.

4.2. Знайти всі попередження в журналі: рядок, що починається з «(WW)». Для цього ввести команду:

user @ desktop ~ $ grep "^ (WW)" test/log/XFree86.0.log

(WW) The directory "/ usr / share / fonts / freefonts /" does not exist.

(WW) The directory "/ usr / share / fonts / unifont /" does not exist.

(WW) The directory "/ usr / share / fonts / artwiz /" does not exist.

...

4.3. Отримати всі рядки, які містять наступний шаблон: послідовність з 1 або більше цифри або букви, потім символ собаки, потім ще одна послідовність 1 або більше цифри або букви або точки, потім символ точки, потім від двох до чотирьох букв (ім'я домену першого рівня) . Також службове виведеня помилок видаляється (перенаправляється в нульовий пристрій).Для цього ввести команду:

user @ desktop ~ $ grep "[a-zA-z0-9] \ + @ [a-zA-z0-9 \.] \ + \. [az] \ {2,4 \}" / etc / * 2 > / dev / null

/ Etc / devfsd.conf: # Richard Gooch <rgooch@atnf.csiro.au> 3-JUL-2000

/ Etc / inittab: # Author: Miquel van Smoorenburg, <miquels@cistron.nl>

/ Etc / inittab: # Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com>

...

4.4. Позбутися імені файлу на початку рядка за допомогою ключа -h. Ввести команду:

user @ desktop ~ $ grep-h "[a-zA-z0-9] \ + @ [a-zA-z0-9 \.] \ + \. [az] \ {2,4 \}" / etc / * 2> / dev / null

# Richard Gooch <rgooch@atnf.csiro.au> 3-JUL-2000

# Author: Miquel van Smoorenburg, <miquels@cistron.nl>

# Modified by: Patrick J. Volkerding, <volkerdi@ftp.cdrom.com>

...

4.5. Для виводу знайденого підрядка використовується ключ -o. Ввести команду :

user @ desktop ~ $ grep-ho "[a-zA-Z0-9] \ + @ [a-zA-Z0-9 \.] \ + \. [az] \ {2,4 \}" / etc / * 2> / dev / null

rgooch@atnf.csiro.au

miquels@cistron.nl

volkerdi@ftp.cdrom.com

...

4.6. Отримати всі файли директорії /etc/ за допомогою команди find /etc -type f 2> /dev/null, ігноруючи помилки:

user @ desktop ~ $ find / etc-type f 2> / dev / null

/ Etc/X11/xorg.conf.example

/ Etc/X11/Sessions/kde-3.4

/ Etc/X11/Sessions/Xsession

/ Etc/X11/chooser.sh

...

4.7. Для кожного із знайдених файлів провести пошук підрядка «nameserver». Для цього ввести команду:

user @ desktop ~ $ find /etc -type f -exec grep "nameserver" {} \; 2> / dev / null

# Merge the new nameservers with the other options from the old ...

grep - invert-match '^ nameserver [[: space:]]' $ REALRESOLVCONF

nameserver 10.22.10.20

...

4.8. Для більшої зручності додати виведення імені файлу (ключ -H) і номера рядка (ключ -n), на якій було знайдено збіг, за допомогою команди:

user @ desktop ~ $ find / etc -type f -exec grep -Hn "nameserver" {} \; 2> /dev/null

/ Etc / ppp / ip-up: 24: # merge the new nameservers with the other optio ...

/ Etc / ppp / ip-up: 26: grep - invert-match '^ nameserver [[: space ...

/ Etc / ppp / resolv.conf: 1: nameserver 10.22.10.20

...

5. Продемонструвати власні приклади, що міститимуть всі розглянуті вище команди для роботи з текстовими файлами, використовуючи файли створені в лабораторній роботі 8 п.4 і 5.

Обробка результатів

1. За результатами роботи оформити звіт.

2. Привести короткий опис виконаних дій.

3. Проаналізувати отримані результати.

Звіт повинен містити:

  • Назва і мета лабораторної роботи.

  • Прилади та обладнання.

  • Завдання та результати роботи.

  • Відповіді на контрольні запитання.

  • Висновки

Контрольні запитання

1. Як отримати за допомогою однієї команди файл, що містить всі числові ідентифікатори користувачів, зареєстрованих в системі?

2. Як отримати за допомогою однієї команди рядки з 5-ої по 8-ю в файлі /proc/cpuinfo з інформацією про процесор?

3. Як за допомогою однієї команди знайти всі файли з розширенням .txt або .html в директорії /usr, в яких міститься слово user?