Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
for_spz_lab_2.doc
Скачиваний:
9
Добавлен:
03.05.2019
Размер:
259.58 Кб
Скачать

2. Завдання

Створити виконувані файли, один з який сприймає з командного рядка параметри. У випадку відсутності або недостатньої кількості параметрів організувати введення останніх із клавіатури у діалоговому режимі.

Варіанти завдань

  1. Перший виконуваний файл для п’яти файлів, імена яких пе­редаються як параметри, встановлює атрибути, що вводяться користу­вачем у діалоговому режимі. Після чого копіює ці файли у новий каталог (ім’я каталогу містить шостий параметр), який створюється у поточному, і передає керування другому виконуваному файлу. Другий виконуваний файл об’єднує усі скопійовані файли у один і додає в кінець цього файла шлях до нього, після чого повертає керування першому файлу. Перший файл видаляє усі початкові файли і виводить на екран вміст поточного каталогу та список користувачів у системі.

  1. Перший виконуваний файл виводить на екран вміст усіх файлів, розширення яких передаються як перші три параметри. Після чого визначає усіх користувачів, які знаходяться у системі, та впоряд­ковує цей список за спаданням у файлі, і передає керування другому виконуваному файлу. Другий виконуваний файл видаляє каталоги із усім вмістом, імена яких вводяться користувачем у діалоговому режи­мі, після чого повертає керування першому файлу. Перший файл виво­дить на екран вміст поточного каталогу та поточний час у системі.

Створити виконувані файли, один з який сприймає з команд-ного рядка параметри. У випадку відсутності або недостатньої кіль-кості параметрів забезпечити присвоєння останніх за замовчуванням.

  1. Перший виконуваний файл для п’яти файлів, імена яких пе­редаються як параметри, встановлює атрибути, що вводяться користу­вачем у діалоговому режимі. Після чого копіює ці файли у новий каталог (ім’я каталогу містить шостий параметр), який створюється у поточному, і передає керування другому виконуваному файлу. Другий виконуваний файл об’єднує усі скопійовані файли у один і додає в кі­нець цього файла шлях до нього, після чого повертає керування пер­шому файлу. Перший файл видаляє усі початкові файли і виводить на екран вміст поточного каталогу та список користувачів у системі.

  1. Перший виконуваний файл виводить на екран вміст усіх файлів, розширення яких передаються як перші три параметри. Після чого визначає Усіх користувачів, які знаходяться у системі, та впоряд­ковує цей список за спаданням у файлі і передає керування другому виконуваному файлу. Другий виконуваний файл видаляє каталоги із усім вмістом, імена яких вводяться користувачем у діалоговому режимі, після чого повертає керування першому файлу. Перший файл виводить на екран вміст поточного каталогу та поточний час у системі.

Створити виконувані файли, один з який сприймає з командного рядка параметри. У випадку відсутності або недостатньої кількості параметрів вивести відповідне повідомлення на екран і припинити виконання програми.

  1. Перший виконуваний файл для п’яти файлів, імена яких пе­редаються як параметри, встановлює атрибути, що вводяться користу­вачем у діалоговому режимі. Після чого копіює ці файли у новий каталог (ім’я каталогу містить шостий параметр), який створюється у поточному, і передає керування другому виконуваному файлу. Другий виконуваний файл об’єднує усі скопійовані файли у один і додає в кінець цього файла шлях до нього, після чого повертає керування пер­шому файлу. Перший файл видаляє усі початкові файли і виводить на екран вміст поточного каталогу та список користувачів у системі.

  1. Перший виконуваний файл виводить на екран вміст усіх файлів, розширення яких передаються як перші три параметри. Після чого визначає усіх користувачів, які знаходяться у системі, та впоряд­ковує цей список за спаданням у файлі, і передає керування другому виконуваному файлу. Другий виконуваний файл видаляє каталоги із усім вмістом, імена яких вводяться користувачем у діалоговому режи­мі, після чого повертає керування першому файлу. Перший файл виво­дить на екран вміст поточного каталогу та поточний час у системі.

  1. Розробити виконуваний файл, який у діалоговому режимі забезпечить необхідні арифметичні обчислення для користувача (типу “калькулятор”).

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

  1. Написати командний файл, що реалізує меню із трьох пунктів:

– ввести користувача і вивести на екран всі процеси, запущені даним користувачем;

– показати всіх користувачів, у даний момент, що перебувають у системі;

– завершення.

  1. Написати командний файл, що реалізує меню із трьох пунктів:

– вивести всіх користувачів, що працюють у системі у цей час;

– послати повідомлення користувачу, ім’я користувача, термі­нал і повідомлення вводяться із клавіатури;

– завершення.

  1. Написати командний файл, що реалізує меню із трьох пунктів:

– показати всі процеси користувача, які запустили даний ко­мандний файл;

– надіслати сигнал завершення процесу поточного користу­вача (ввести PID процесу);

– завершення.

  1. Написати командний файл, що підраховує кількість актив­них терміналів користувача (ім’я користувача вводиться із клавіатури).

  1. Написати командний файл, що посилає повідомлення всім активним користувачам (повідомлення знаходиться у файлі).

  1. Написати командний файл, що посилає сигнал завершення процесам поточного користувача. Символьна маска імені процесу вводиться із клавіатури.

  1. Для файла (файлів) із заданим ім’ям визначити, чи є він символічним посиланням. Якщо так – простежити весь ланцюжок по­силань від цього імені.

  1. Перевірити заданий каталог на наявність у ньому нерозв’я­заних м’яких посилань. Якщо такі є – відправити про них повідомлен­ня по mail користувачу derev.

  1. Підрахувати кількість рядків, що містять задане слово в за­даному файлі. Якщо файл має тип, відмінний від “ISO-8859 text”, під­рахунок не робити, а просто вивести повідомлення про це.

  1. З файла /home/metod/task1 прочитати рядок, перше слово якого – Ваше мережне ім’я. Інша після пробілу частина цього рядка – перелік (через пробіл) імен файлів. Вивести другі рядки всіх пере­рахованих файлів в окремий файл у своєму домашньому каталозі. Пе­ред кожним рядком указати ім’я файла, якому він належить.

  1. У заданому файлі визначити повторювані рядки, вивести їхні номери.

  1. З файла /home/metod/task1 прочитати рядок, перше слово якого – Ваше мережне ім’я. Інша після пробілу частина цього рядка – перелік (через пробіл) імен файлів. Якщо розмір файла із заданого спис­ку перевищує 20 рядків, створити у своєму домашньому каталозі одной­менну копію цього файла, у яку занести тільки його перші 20 рядків.

  1. Визначити, хто з користувачів з першими літерами імені “ap” увійшов у систему раніше всіх. Послати йому повідомлення, тіло якого складається з двох рядків всіх заданих файлів.

  2. У заданому каталозі визначити, які імена файлів є жорст­кими посиланнями на той самий файл.

  3. У заданому каталозі знайти порожні файли. Створити у своєму домашньому каталозі однойменні файли і занести в них вміст файла-параметра.

  4. Вивести імена всіх файлів і підкаталогів у заданому ката­лозі, що належать користувачу із заданим ім’ям і загальне число всіх інших файлів і каталогів.

  5. Вивести список всіх каталогів, перерахованих у змінній оточення PATH, і для кожного вивести права доступу до нього

  6. Вивести списки всіх файлів у заданому каталозі, які були створені в один день.

  7. Shell-програма підраховує кількість і виводить список всіх файлів (без каталогів) у порядку зменшення їхніх довжин у піддереві, починаючи з каталогу, ім’я якого задане параметром Shell-програми.

Форма виводу результату:

каталог <ім’я каталогу>

початковий каталог

каталог <ім’я>

каталог <ім’я>

каталоги в поточному каталозі

каталог <ім’я каталогу>

підкаталог

каталог <ім’я>

каталог <ім’я>

каталоги в поточному каталозі

і т.д.

  1. Shell-програма підраховує кількість і виводить перелік ка­талогів у хронологічному порядку (за датою створення) у піддереві, починаючи з каталогу, ім’я якого задане параметром Shell-програми.

Форма виводу результату:

каталог <ім’я каталогу>

початковий каталог

<ім’я каталогу> <довжина>

<ім’я каталогу> <довжина>

файли каталогу

каталог <ім’я каталогу>

підкаталог

<ім’я каталогу> <довжина>

<ім’я каталогу> <довжина>

файли каталогу

і т.д.

  1. Виконати завдання варіанта 27, але список файлів у ката­лозі вивести в алфавітному порядку.

  1. Shell-програма об’єднує всі тимчасові файли із вказаним суфіксом (наприклад, .tmp) у піддереві, починаючи з каталогу, ім’я якого задано параметром Shell-програми. Результат об’єднання помі­щається в зазначений Shell-програмою файл, або виводиться на екран у формі:

    <ім’я каталогу> <ім’я файла>

    початковий каталог

    [вміст файла]

    End of file

    [вміст файла]

    End of file

    каталог <ім’я каталогу>

    підкаталог

    [вміст файла]

    End of file

    [вміст файла]

    End of file

    і т.д.

  2. Shell-програма періодично з деяким інтервалом видаляє всі тимчасові файли із вказаним суфіксом (наприклад, .tmp) у піддереві, починаючи з каталогу, ім’я якого задано параметром Shell-програми і виводить при цьому список об’єднаних файлів у формі, запропонова­ній у варіанті 27.

  3. Shell-програма переглядає каталог, ім’я якого вказане пара­метром Shell-програми й виводить імена каталогів, що зустрілися. По­тім здійснює перехід у батьківський каталог, що стає поточним та пов­торює вказані дії доти, поки поточним каталогом не стане кореневий каталог. Форма виводу результату аналогічна формі варіанта 28.

  4. Завдання, аналогічне варіанту 6, але виводяться не катало­ги, а файли каталогів.

  5. Shell-програма виводить імена тих підкаталогів у каталозі, які в собі не містять каталогів. Ім’я каталогу задане параметром Shell-програми.

  6. Shell-програма виводить імена тих підкаталогів у каталозі, які в собі містять каталоги. Ім’я каталогу задане параметром Shell-програми.

  7. Shell-програма виводить вміст каталогу, ім’я якого вказане параметром Shell-програми. При виводі спочатку перераховуються імена каталогів, а потім в алфавітному порядку імена файлів із зазна­ченням їхніх довжин, дати створення і числа посилань на них.

  8. Визначити кількість підкаталогів в /home, до яких немає публічних прав доступу.

  9. Визначити кількість груп користувачів.

  10. Визначити кількість підкаталогів в /home, до яких є публіч­ні права на пошук і читання в них.

  11. Визначити кількість користувачів з вашої студентської групи.

  12. Визначити кількість (не підкаталогів і не посилань) файлів у каталозі /home.

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

  14. Визначити кількість файлів у каталозі /etc, які є символіч­ними посиланнями.

  15. Визначити кількість файлів у каталозі /etc, на які є більше одного жорсткого посилання.

  16. Визначити кількість файлів у каталозі /etc, які створені не цього року.

  17. Вивести впорядкований за алфавітом список підкаталогів в /home, до яких немає публічних прав.

  18. Вивести впорядкований за алфавітом список підкаталогів в /home, до яких є публічні права на пошук і читання в них.

  19. Визначте однією командою: ім’я хоста, тип ОС, дату складання системи.

  20. Визначте імена користувачів, які працюють у системі в цей момент.

  21. Визначте системне ім’я вашого термінала.

  22. Додайте в запрошення командного рядка: поточну дату, ім’я системи, шлях до поточного каталогу, ім’я користувача.

  23. Визначте список ідентифікаторів процесів, запущених з вашого термінала.

  24. Визначте число процесів з позитивними і негативними зна­ченнями ефективного пріоритету, що виконуються в цей момент у системі.

  25. Отримайте список всіх процесів, які в цей момент перебу­вають у стані WAIT.

  26. Одержите список всіх процесів, які в цей момент перебу­вають у стані RUN.

  27. Визначте список всіх процесів, які використали на момент запуску скрипта більше 5 хвилин часу ЦП.

  28. Визначте список всіх процесів, які використали на момент запуску скрипта менш 5 хвилин часу ЦП.

  29. Отримайте список всіх звичайних файлів поточного ката­логу, власником яких є користувач web, дата створення пізніше поза­вчорашнього числа і вони є виконуваними для групи web.

  30. Отримайте список всіх файлів з розширенням txt, розта­шованих у підкаталогах поточного каталогу із глибиною вкладення 2.

  31. Підрахуйте число рядків, що містять слово mail у всіх фай­лах всіх підкаталогах поточного каталогу.

  32. Знайдіть самий “свіжий” файл поточного каталогу.

  33. Знайдіть самий “старий” файл поточного каталогу.

  34. Напишіть скрипт killall, який завершить всі процеси, запу­щені користувачем gandy.

  35. Перейменуйте всі файли поточного каталогу з іменами date-<дата>.txt в date-<номер>.txt. Формат дати YYYYMMDD.

  36. Визначите ім’я процесу, що використав більше всіх інших процесів час ЦП за останню хвилину.

  37. Визначите тип термінала та ім’я командного процесора ко­ристувача tom.

  38. Визначите тип вашого термінала.

  39. Перенаправте потік помилок команди в стандартний потік виводу, а стандартний потік виводу на пристрій /dev/null.

  40. Напишіть конвеєр, що підраховує число рядків у звіті ко­манди ls –al та число слів у цьому ж звіті.

  41. Роздрукуйте перші n рядків всіх файлів поточного каталогу з розширенням root.

  42. Роздрукуйте останні n рядків всіх файлів поточного ката­логу з розширенням root.

  43. Визначите дату останньої зміни файла.

  44. Визначите дату останнього звертання до файла.

  45. Підрахуйте число локальних змінних оточення.

  46. Підрахуйте число глобальних змінних оточення.

  47. Отримайте саме довге значення із всіх значень змінних оточення.

  48. Отримайте саме коротке значення із всіх значень змінних оточення.

  49. Отримайте самий довгий командний рядок для процесів, що виконуються у цей момент у системі.

  50. Отримайте самий короткий командний рядок для процесів, що виконуються у цей момент у системі.

  51. Порахувати кількість користувачів у системі.

  52. Відсортувати список файлів поточної директорії у зворот­ному порядку і записати його у файл.

  53. Порахувати кількість файлів поточного каталогу, що міс­тять підрядок “include”.

  54. Порахувати, скільки разів користувач X увійшов у систему.

  55. Відсортувати список текстових файлів поточної директорії в алфавітному порядку та записати його у файл.

  56. Видалити з поточного каталогу всі файли, що містять під­рядок “text”.

  57. Об’єднати всі файли з розширенням “.txt” в один файл.

  58. Порахувати, скільки процесів запущено з даного термінала.

  59. Вивести на екран відсортований в алфавітному порядку список файлів, що містять підрядок “include”.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]