- •Введення
- •1. Структура та обсяг дисципліни
- •2. Основи програмування на мові с
- •2.1 Найпростіші конструкції мови
- •2.2 Типи даних
- •2.4 Операції мови с
- •2.5 Структура простої с програми
- •2.6 Організація введення-виведення
- •2.7 Компіляція в системі Linux
- •2.8 Організація розгалужень в програмі
- •2.9 Організація циклів
- •2.10 Оператор break
- •2.11 Оператор continue
- •2.11 Масиви
- •2.12 Функції
- •2.13 Вызов функции с переменным числом параметров
- •2.14 Рекурсивні функції
- •2.15 Читання і запис текстових файлів
- •2.16 Структури даних
- •2.17 Перелік|перерахування| (enumeration)
- •2.18 Об'єднання (union)
- •3. Операційні системи і системне програмування
- •3.1. Поняття операційної системи
- •4. Корисні команди Linux
- •4.1. Загальні|спільні| команди
- •4.1.1. Команда arch – виведення архітектури комп'ютера
- •4.1.2. Команда clear – очищення екрану
- •4.1.3. Команда date
- •4.1.9. Команда uptime – інформація про роботу системи
- •4.1.10. Команда users – інформація про користувачів
- •4.1.11. Команди w, who і whoami інформація про користувачів
- •4.1.12. Команда xf8config – настройка графічної підсистеми
- •4.2. Команди для роботи з текстом
- •4.2.1. Команди diff і cmp
- •4.2.2. Команди grep і egrep – текстовий фільтр
- •4.2.3. Команди more и less – посторінкове виведення
- •4.2.4. Команди head і tail – виведення начала і хвоста файлу
- •4.2.5. Команда wc – підрахунок слів у файлі
- •5. Захист інформації в інформаційних системах
- •5.1 Основні завдання забезпечення безпеки
- •5.2 Базові поняття криптографії
- •5.2.1 Поняття криптографічного алгоритму і протоколу
- •5.2.2 Криптосистеми з секретним ключем
- •5.2.3 Криптосистеми із відкритим ключем
- •5.2.4. Гибридні криптосистеми
- •5.2.5. Цифрові підписи
- •5.2.6. Сертифікати
- •5.3. Принципи аутентифіекації і керування доступом
- •5.3.1. Основи аутентифікації
- •5.3.2. Основи керування доступом
- •5.4. Аутентифікація та керування доступом в unix
- •5.4.1. Облікові записи користувачів
- •5.4.2. Аутентифікація
- •5.4.3. Керування доступом
- •6. Програмний інтерфейс unix. Системні виклики і функції стандартних бібліотек
- •6.1. Підтримка програмування в oc unix. Вивчення передачі інформації
- •6.2. Змінні оточення
- •6.3. Обробка помилок
- •6.4. Правила формування і засоби розбору командних рядків
- •7. Операції над файлами
- •7.1 Файлові операції posix
- •7.2. Збирання інформації про атрибути файла
- •7.3. Операції над каталогами
- •Література
4.2.2. Команди grep і egrep – текстовий фільтр
Припустимо|передбачимо|, що у|в,біля| нас є файл протоколу /var/log/messages, і ви хочете вивести всі повідомлення|сполучення|, пов'язані з демоном pppd. Зрозуміло, що виділити уручну|вручну| всі потрібні повідомлення|сполучення| буде досить важко|скрутно|. Але|та| за допомогою grep можна автоматизувати дане завдання|задачу|:
cat /var/log/messages |grep ppp
Команда cat /var/log/messages передасть вміст файлу /var/log/messages на стандартне введення команди grep, яка, в свою чергу|, виділить рядки, що містять|утримують| рядок ppp.
У цій ситуації краще поступити|вчинити| так. Команда tac виводить рядки файлу в зворотному порядку|ладі|. Адже повідомлення|сполучення| дописуються в кінець журналу|часопису|, отже, якщо виводити рядки в зворотному порядку|ладі|, то спочатку одержимо|отримаємо| найсвіжіші повідомлення|сполучення|, з|із| потім вже всі інші.
tac /var/log/messages | grep ppp
Команда egrep схожа на команду grep, але|та| вважається|лічиться| швидшою і більш функціональною. Якщо файли не задані, то програма читає текс із|із| стандартного введення.
Формат виклику програми:
egrep [параметри] рядок файли
Параметри команди egrep приведені в таблиці 4.3.
Таблиця 4.3 . Параметри програми egrep
Параметр |
Опіс |
-A n |
Виведення n рядків після|потім| рядка, в якому є шуканий рядок |
-B n |
Виведення n рядків перед рядком, що містить|утримує| шуканий рядок |
-b |
Виводить для| кожного рядка файлу, де є шуканий рядок, його положення|становище| у файлі |
-c |
Виводить кількість збігів, але|та| не виводить самі збіги |
-C |
Виводить два рядки до і два рядки після|потім| рядка, який містить|утримує| шуканий рядок |
-e рядок |
Використовуйте даний параметр, якщо шуканий рядок починається з символу ”-“ |
-f файл |
Проводить|виробляє,справляє| пошук шуканих рядків у вказаному файлі |
-h |
Виводить рядки, що містять|утримують| шуканий рядок, але|та| не виводить імена файлів, що містять|утримують| їх |
-i |
Ігнорувати регістр|реєстр| букв|літер| |
-n |
Виводить номери рядків (і самі рядки), що містять|утримують| шуканий рядок |
-s |
Не виводити повідомлення|сполучення| про помилку, якщо деякі файли не можуть бути відкриті|відчинені| |
-w |
Пошук збігу цілого слова з|із| шуканим рядком |
-x |
Пошук збігу цілого рядка з|із| шуканим рядком |
Приклад|зразок| використання:
egrep “ppp [11]” *
Дана команда шукає рядок, поміщений|ув'язнений| в лапки, у всіх файлах в поточному каталозі.
4.2.3. Команди more и less – посторінкове виведення
Великий текстовий файл набагато зручніший за переглядати| за допомогою команд less і more. Програма less зручніше, ніж more, якщо вона є у вашій системі:
tac /var/log/messages | grep ppp |less
