Програмування для UNIX

Управління процесами – fork і wait

Наступний крок – це відновлення управління після того, як програма виконана за допомогою execlp або execvp Оскільки ці програми просто накладають нову програму поверх старої, то щоб зберегти первинну програму, необхідно спочатку розділити її на дві копії одна з них може бути переписана, в той час як друга очікує закінчення нової, накладеної програми Поділ здійснюється […]

Виведення програми як аргументи UNIX

Тепер перейдемо від аргументів команди всередині командного файлу до формування аргументів Звичайно ж, найпоширеніший спосіб породження аргументів полягає в розширенні імені файлу за допомогою метасимволов типу * (не рахуючи явного введення аргументів), але є й інший хороший спосіб – запуск програми Висновок будь-якої програми може бути поміщений в командний рядок, для цього команда повинна бути […]

Аргументи програми: vis, версія 2

Коли програма, написана на Сі, виконується, аргументи командного рядка стають доступні функції main як кількість argc і масив покажчиків на символьні рядки, що містять аргументи, argv Прийнято угоду про те, що argv [0] – це імя самої команди, так що argc завжди більше 0 «Корисними» ж є аргументи argv [1] .. argv [argc-1] Вам вже […]

Каталоги та імена файлів UNIX

Всі належать користувачеві файли мають імена, що починаються з / usr / you, але якщо ваш єдиний файл називається junk, то, виконавши команду ls, ви не побачите імені / usr / you / junk імя файлу надрукується без префікса: $ ls junk

Ієрархія каталогів UNIX

У першому розділі неформальне розгляд ієрархії файлової систе ми починалося з каталогу / usr / you Тепер розглянемо її більш методично, з самого початку, від її кореня Кореневим каталогом є /: $ ls / bin boot dev etc  lib tmp unix usr

Випереджаюче введення з клавіатури UNIX

Ядро зчитує введення з клавіатури в міру надходження, навіть якщо воно одночасно зайнято чимось ще, так що можна друкувати як завгодно швидко, в будь-який момент, навіть якщо якась команда виконує друк Якщо введення з клавіатури виконується в той час, поки система друкує, введені символи зявляться на екрані упереміш з виведеними, але вони збережуться окремо і […]

Файловий ввід-висновок – read і write

Весь введення і виведення здійснюється двома системними викликами – read і write, які доступні з мови Сі через функції з тими ж іменами В обох функціях перший аргумент – це дескриптор файлу Другий аргумент – масив байт, службовець джерелом або приймачем даних Третій аргумент задає кількість переданих байт

Створення нових команд

Настав час звернутися до теми, заявленої в розділі 1, і поговорити про те, як зі старих команд створювати нові Якщо якусь послідовність команд доводиться виконувати досить часто, то було б зручно перетворити її на «нову» команду, що має власне імя, так щоб її можна було використовувати надалі як звичайну команду Щоб бути конкретними, припустимо, що […]

Введення команд UNIX

Як тільки отримано запрошення, можна починати вводити коман5 ди, Які є проханням до системи виконати якусь дію Словопрограма буде вживатися як синонім команди Отже, коли отримано запрошення (будемо вважати, що це $), введіть date і натисніть клавішу Return (Enter) Система повинна відповісти, видавши дату і час, а потім вивести нове запрошення, таким чином, вся транзакція […]

Що в файлі?

Формат файлу визначається використовує його програмою тому, ймовірно, велика кількість типів файлів визначається різноманітністю програм Але, оскільки файлові типи в файлової системі не визначені, то і ядро ​​нічого про них не знає Команда file робить припущення про тип файлу (коротко пояснимо, як вона це робить):