Перейти до вмісту

Unix

Матеріал з K2 ERP Wiki
Версія від 19:40, 6 травня 2026, створена R (обговорення | внесок) (Створена сторінка: '''Unix''' або '''UNIX''' — це сімейство операційних систем, філософія проєктування, стандарт сумісності та одна з найважливіших ідей в історії компʼютерних систем. Unix виник наприкінці 1960-х років у Bell Labs і вплинув на Linux, BSD, macOS, iOS, Android, Solaris, AIX, HP-UX, сучасні сервер...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)

== Unix і DevOps ==
Приклади:
</blockquote>

Linux успадкував або повторив багато Unix-ідей:

Unix і C розвивалися разом.;== Unix і інтернет ==

<blockquote>

→ Команди й програми

* shell scripts;
* pipes;
* logs as text;
* config files;
* cron;
* ssh;
* small tools;
* automation;
* command-line pipelines;
* monitoring;
* deployment scripts.;[[Category:POSIX]]
'''У Unix-світі документація часто живе прямо в системі.; Вони дозволяють будувати складну обробку даних із маленьких простих команд.'''

</blockquote>

'''Unix''' — одна з найвпливовіших технологій в історії компʼютерів.; → Web / Desktop / Mobile client

== Unix і мережа ==

</syntaxhighlight>
ps aux | grep nginx
<syntaxhighlight lang="bash">

</syntaxhighlight>

== Висновок ==

</syntaxhighlight>

* ZFS;
* DTrace;
* zones;
* enterprise-сценаріям;
* SPARC;
* серверній інфраструктурі.; bg

== Bell Labs ==

* The Open Group — UNIX: https://www.unix.org/
* The Single UNIX Specification V5 / 2024: https://www.unix.org/overview.html
* The Open Group — UNIX Standard: https://www.opengroup.org/membership/forums/platform/unix
* The Open Group — UNIX Certification Program: https://www.opengroup.org/certifications/unix
* POSIX / The Open Group Base Specifications: https://pubs.opengroup.org/onlinepubs/9799919799/
* Dennis Ritchie — The Evolution of the Unix Time-sharing System: https://www.nokia.com/bell-labs/about/dennis-m-ritchie/hist.pdf
* The Unix Heritage Society: https://www.tuhs.org/
* FreeBSD: https://www.freebsd.org/
* OpenBSD: https://www.openbsd.org/
* NetBSD: https://www.netbsd.org/

Одна з відомих ідей Unix — '''everything is a file'''.; * PID;
* parent process;
* child process;
* signals;
* foreground process;
* background process;
* daemon.; |-
| 1
| історичний розвиток Unix і Bell Labs
|-
| 2
| Unix-філософія
|-
| 3
| Shell і командний рядок
|-
| 4
| Файлова платформа
|-
| 5
| Права доступу й користувачі
|-
| 6
| Процеси й сигнали
|-
| 7
| Pipes і redirect
|-
| 8
| grep, sed, awk, find
|-
| 9
| Shell scripts
|-
| 10
| cron і daemons
|-
| 11
| POSIX
|-
| 12
| C і системні виклики
|-
| 13
| TCP/IP і sockets
|-
| 14
| BSD, Linux, macOS, Solaris
|}

== Сигнали ==

Приклади:
Це означає, що багато обʼєктів системи представлені через файлову модель:
'''chmod''' змінює права доступу.;== Файлова платформа Unix ==
'''root''' — суперкористувач Unix-системи.; Приклад:

* популяризацією Unix;
* книгою про мову C разом із Dennis Ritchie;
* AWK;
* Unix-документацією;
* поясненням Unix-філософії.; '''У побуті Linux часто називають Unix-подібною системою.; |-
| '''man'''
| Документація
|-
| '''ls'''
| Перегляд файлів
|-
| '''cd'''
| Перехід у каталог
|-
| '''pwd'''
| Поточний каталог
|-
| '''cat'''
| Виведення файлу
|-
| '''grep'''
| Пошук тексту
|-
| '''find'''
| Пошук файлів
|-
| '''chmod'''
| Права доступу
|-
| '''ps'''
| Процеси
|-
| '''kill'''
| Сигнали процесам
|-
| '''ssh'''
| Віддалений доступ
|-
| '''cron'''
| Задачі за розкладом
|}

BSD вплинув на:

!; !; Команда

Він повʼязаний із:

Unix — це прадід багатьох сучасних операційних систем і водночас набір ідей, які досі живуть у Linux, macOS, BSD, Android, серверах і DevOps.;<blockquote>

Подивитись процеси:

каталоги;

* web server;
* database server;
* mail server;
* file server;
* application server;
* scientific computing;
* enterprise systems;
* telecom;
* banking;
* universities.; Статус

<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">

!; Команда

</syntaxhighlight>

Unix має сильну базову модель безпеки:
'''illumos''' — відкрита гілка, що походить від OpenSolaris.; Головна ідея Unix — створити просту, переносиму й багатокористувацьку операційну систему, у якій програми можна без зайвих зусиль поєднувати між собою.;<pre>
'''Unix — це не тільки операційна платформа.;</syntaxhighlight>
'''Unix — це платформа, яка стала філософією.; !; '''Unix дав світу модель операційної системи, а C дала спосіб переносити цю модель між різним обладнанням.'''
Unix-програми мають стандартні потоки.; У ширшому технічному й історичному сенсі Unix — це ціла традиція операційних систем, побудованих навколо ідей простоти, текстових інтерфейсів, файлів, процесів, pipes, shell, прав доступу й переносимості.; Unix виник наприкінці 1960-х років у Bell Labs і вплинув на Linux, BSD, macOS, iOS, Android, Solaris, AIX, HP-UX, сучасні сервери, командний рядок, C, POSIX, DevOps, інтернет-інфраструктуру й культуру відкритих систем.; '''Ken Thompson''' — один із головних творців Unix.;[[Category:Unix]]
</blockquote>
Історично використовувалась у enterprise-середовищах:

'''Linux''' не походить безпосередньо від оригінального Unix-коду, але є собою Unix-подібною системою.;</blockquote>
man ls
Але Android не є собою звичайним Unix-дистрибутивом.; '''Dennis Ritchie''' — співтворець Unix і творець мови C.; |-
| style="background:#d4edda; color:#155724; font-weight:bold;" | Ключове
| '''Мова C і Unix розвивалися разом'''
| Переписування Unix мовою C зробило систему переносимішою між апаратними платформами.; Багато ранньої інтернет-інфраструктури працювало на Unix або Unix-подібних системах.; Теза

Окремо варто відзначити філософія проєктування, стандарт сумісності і одна з найважливіших ідей в історії компʼютерних систем виступає ключовою рисою '''Unix''' або '''UNIX'''.; '''macOS''' має Unix-подібну основу Darwin і в різні періоди мала UNIX-сертифікацію для певних версій.; Значення
У контексті Unix Bell Labs важливі з цієї причини, що там працювали:
Знайти всі log-файли, вибрати рядки з error і порахувати їх:

<syntaxhighlight lang="bash">
Приклад запуску backup щодня о 02:00:
невеликі утиліти;

</blockquote>

команди;

[[Category:Bell Labs]]
Of course it runs NetBSD
</blockquote>
|-
| '''1'''
| Команди користувача
|-
| '''2'''
| Системні виклики
|-
| '''3'''
| Бібліотечні функції
|-
| '''4'''
| Спеціальні файли
|-
| '''5'''
| Формати файлів
|-
| '''6'''
| Ігри
|-
| '''7'''
| Огляди, conventions
|-
| '''8'''
| Адміністративні команди
|}

chmod +x script.sh

<blockquote>
== Приклад Unix-стилю ==
<blockquote>
|-
| '''Простота концепцій'''
| Файли, процеси, shell, pipes і permissions створюють зрозумілу модель
|-
| '''Композиційність'''
| Команди можна поєднувати в pipelines
|-
| '''Переносимість'''
| C і POSIX-ідеї допомогли переносити програми між системами
|-
| '''Стабільність'''
| Unix-системи історично сильні в довготривалих серверних сценаріях
|-
| '''Багатокористувацька модель'''
| Unix із самого початку був розрахований на кількох користувачів
|-
| '''Сильна CLI-культура'''
| Shell і команди зручні для автоматизації
|-
| '''Вплив на сучасне IT'''
| Linux, macOS, BSD, Android і DevOps несуть Unix-спадщину
|}

find .;== Brian Kernighan ==

ps aux
-rwxr-xr--
== AIX ==

!; chmod 755 script.sh

== Команди Unix ==

Приклади:

* web server;
* cron;
* sshd;
* syslog;
* database server;
* mail server;
* print service.; Чи підходить Unix-підхід?; -name "*.conf"

<blockquote>
Важливі елементи:
<pre>
|-
| '''Складність для новачків'''
| Shell, права, процеси й конфігурації потребують навчання
|-
| '''Історична фрагментація'''
| Різні Unix-гілки мали різні команди, API й інструменти
|-
| '''Комерційні Unix-системи можуть бути дорогими'''
| AIX, HP-UX, Solaris у enterprise-сценаріях повʼязані з обладнанням і підтримкою
|-
| '''Не всі системи однаково сумісні'''
| POSIX і SUS допомагають, але деталі можуть відрізнятися
|-
| '''CLI має змогу бути небезпечним'''
| Потужні команди без зайвих зусиль використати неправильно
|-
| '''Менше масового desktop-ПЗ'''
| Класичні Unix-системи не стали головною домашньою desktop-платформою
|}

'''Brian Kernighan''' — важлива постать Unix-культури, автор і співавтор класичних книг та інструментів.; → Backend на Linux/Unix-like server

== Процеси ==

→ Hardware

* Unix-подібну основу;
* Terminal;
* shell;
* POSIX-інтерфейси;
* графічний Apple UI;
* AppKit;
* Swift;
* Apple ecosystem.; Елемент
Unix-системи сильно вплинули на еволюція мережевої інфраструктури.; Помилка

!; Зміст
[[Category:Shell]]
|-
| '''sh'''
| Класична Bourne shell
|-
| '''bash'''
| Bourne Again Shell, дуже поширена в Linux-світі
|-
| '''zsh'''
| Зручна інтерактивна shell, популярна в macOS і серед розробників
|-
| '''ksh'''
| KornShell, історично важлива shell
|-
| '''csh / tcsh'''
| C shell і її еволюція
|-
| '''fish'''
| Friendly Interactive Shell, зручна сучасна shell
|}

== Головна ідея Unix ==

Встановити права 755:

'''POSIX — це спроба формалізувати Unix-поведінку так, щоб програми могли працювати на різних системах.'''

<pre>
#!/bin/sh

== Рекомендований шлях вивчення Unix ==
'''AIX''' — Unix-система IBM.;</blockquote>
/
== Unix у порівнянні з іншими ОС ==
{| class="wikitable"

</syntaxhighlight>

!; Пояснення

Права:

Знайти файли:

echo "Hello" > output.txt
;
  • find;
  • xargs;
  • grep;
  • wc;
  • pipe;
  • текстові потоки.; Створи прості інструменти, які можна поєднувати.
; /proc

</syntaxhighlight> Pipes — це клей Unix-світу.; платформа kill -TERM 1234

Douglas McIlroy — один із людей, повʼязаних із концепцією pipes і Unix-філософією.; характеристика

; * shell;
  • permissions;
  • process model;
  • filesystem hierarchy;
  • pipes;
  • signals;
  • sockets;
  • C API;
  • POSIX-сумісність;
  • command-line culture.; Команда man — це перше місце, куди варто дивитися.

процеси;

</syntaxhighlight>


</syntaxhighlight>

У строгому сучасному значенні '''UNIX®''' — це не без ускладнень будь-яка Unix-подібна платформа, а сертифікована платформа, яка відповідає вимогам The Open Group.; це сімейство операційних систем.; '''Unix-філософія''' — це набір принципів проєктування програм і систем.; Секція

* запускати команди;
* працювати з файлами;
* перенаправляти потоки;
* використовувати pipes;
* писати скрипти;
* автоматизувати задачі;
* керувати процесами;
* запускати програми.; Сигнал

застосовується для:

Переглянути документацію:
|
== POSIX ==

 printf("Hello, Unix\n");

</blockquote>
<pre>
!; Shell
== Unix у корпоративному світі ==
|-
| Історична платформа Bell Labs і її нащадки
| Незалежне Unix-подібне ядро, створене Лінусом Торвальдсом
|-
| має змогу означати сертифікований UNIX®
| Зазвичай не є собою сертифікованим UNIX®
|-
| Комерційні й академічні гілки
| Open source-екосистема дистрибутивів
|-
| AIX, Solaris, HP-UX, BSD-гілки
| Debian, Ubuntu, Fedora, Arch, RHEL та інші
|}

Але безпека залежить від адміністрування:

== Простими словами ==

== FreeBSD ==

}
{| class="wikitable"
!; → Unix kernel

== Типові помилки новачків у Unix-like системах ==

* сервери;
* промислові системи;
* корпоративні застосунки;
* бази даних;
* великі організації.; Термін
Основні поняття:

== Користувачі й права доступу ==

'''Root має майже повну владу над системою.; Приклад:

!; Потік
Unix-системи історично використовувались у великих корпоративних середовищах.; '''Single UNIX Specification''' або '''SUS''' — специфікація The Open Group, яка визначає вимоги до систем, що можуть бути сертифіковані як UNIX®.; {| class="wikitable"

 return 0;

хвилина година день_місяця місяць день_тижня команда

* OpenSSH;
* security-first підходу;
* якісній документації;
* консервативному дизайну;
* чистій архітектурі.; {| class="wikitable"
!; The Open Group управляє UNIX trademark licensing program.; !; програмування забезпечується через Unix зʼявився в Bell Labs наприкінці 1960-х років.; -name "*.log" -type f -print0 | xargs -0 grep -i "error" | wc -l

* переносимості програм;
* shell;
* системних викликів;
* файлових операцій;
* процесів;
* потоків;
* утиліт;
* сумісності між Unix-like системами.;== Джерела ==

man printf

Shell надає можливість:

* серверна технічна архітектура;
* Linux-сервери;
* shell-автоматизація;
* backup scripts;
* cron/systemd timers;
* логування;
* text-based configuration;
* API-сервіси;
* бази даних;
* Docker і Kubernetes;
* CI/CD;
* monitoring;
* POSIX-сумісні інструменти.; man grep
!; * серверів;
* мережевих систем;
* storage;
* firewalls;
* appliances;
* ZFS-сценаріїв;
* високонавантажених систем.; {| class="wikitable"

* shell;
* pipes;
* C;
* ієрархічна файлова платформа;
* small tools;
* text processing;
* переносимість;
* документація через man pages.;<syntaxhighlight lang="bash">

Зробити файл виконуваним:
Manual pages зазвичай поділяються на секції.; Ключові етапи:

Типова схема:

<syntaxhighlight lang="bash">

Pipes стали однією з найважливіших ідей Unix, бо дозволили зʼєднувати програми між собою.; Що робить
→ Database
права доступу;
Приклади історично важливих або повʼязаних із UNIX систем:
<syntaxhighlight lang="bash">
'''OpenBSD''' — BSD-система з сильним акцентом на безпеку, аудит коду й простоту.; з цієї причини працювати постійно під root — погана практика.'''

== BSD ==

* робити одну річ добре;
* поєднувати програми через текстові потоки;
* використовувати прості формати;
* писати програми, які можна комбінувати;
* уникати зайвої складності;
* робити інструменти придатними для автоматизації.; Основні поняття:
== Unix і C ==

</syntaxhighlight>

cat names.txt | sort | uniq -c

ps aux

'''Shell''' — командна оболонка Unix.; Призначення

cat access.log | grep "error" | wc -l
!;
  • банки;
  • великі компанії;
  • критичні системи;
  • IBM Power hardware;
  • корпоративні бази даних;
  • ERP.; Символ pipe:

Unix використовує ієрархічну файлову систему.; Для K2 ERP Unix важливий не обовʼязково як конкретна ОС для встановлення, а як історична й технічна основа багатьох серверних практик.; Сортування і підрахунок:

Важливі акценти

Поточний каталог: ls -l

; Перевага
{| class="wikitable"
мережа;
Відома завдяки наявності:
== Unix-філософія ==

<syntaxhighlight lang="bash">
</blockquote>
текстові потоки;

{| class="wikitable"

!; Його створювали дослідники, яким потрібне було зручне середовище; додатково реалізовано роботи з файлами й експериментів.; !; Signals  механізм повідомлення процесів.; Сценарії:

'''Unix зробив операційну систему не монолітом із важкими інструментами, а набором простих механізмів, які можна комбінувати.'''

== Douglas McIlroy ==

* C стала мовою, якою Unix став переносимим;
* Unix і C разом сформували стиль системного програмування;
* багато сучасних мов, компіляторів і систем досі несуть цей вплив.;[[Category:Сервери]]

echo "Hello from Unix shell"
<syntaxhighlight lang="bash">
→ Shell
Unix-системи історично були дуже важливі для серверів.; Чому це проблема
sudo chown user:group file.txt

Відома завдяки наявності: ERP-сценарії: /dev/tty

Ken Thompson

</syntaxhighlight>

; Unix

Unix і документація

Unix має модель процесів.; {| class="wikitable"

Pipe передає результат однієї програми іншій.; застосовується в enterprise-сценаріях:

Не кожна Unix-подібна платформа є собою сертифікованим UNIX®.; Solaris — Unix-система, історично повʼязана з Sun Microsystems, пізніше Oracle.;</syntaxhighlight>

fg

  1. include <stdio.h>

Android використовує Linux kernel, а таким чином має непрямий звʼязок із Unix-like світом.; Пояснення

/bin Основні виконувані програми
/sbin Системні утиліти
/etc Конфігураційні файли
/home Домашні каталоги користувачів у багатьох Unix-like системах
/usr Програми, бібліотеки, документація
/var Логи, кеші, spool, змінні інформаційні дані
/tmp Тимчасові файли
/dev Пристрої як файли
/proc Псевдофайлова платформа процесів у багатьох Unix-like системах
/opt Додаткове програмне забезпечення

Приклад:

Формат:

man sh

  • user;
  • group;
  • owner;
  • permissions;
  • root;
  • process owner;
  • file owner;
  • read/write/execute.; Unix/Linux-like ідея

</syntaxhighlight> користувач системи ping example.com

sh

0 2 * * * /home/user/backup.sh

grep "error" app.log | wc -l

- істотно Unix і Unix-like — не одне й те саме Linux є собою Unix-подібною системою, але не обовʼязково сертифікованим UNIX®.; !; Unix має сильну традицію документації через manual pages.;</syntaxhighlight>

Dennis Ritchie

Назва Unix / UNIX
Тип Сімейство операційних систем, стандарт, філософія проєктування
Походження Bell Labs
Початок розробки 1969 рік
Ключові постаті Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy та інші дослідники Bell Labs
Основна мова реалізації C та assembly у ранніх версіях
Сучасний власник торговельної марки UNIX® The Open Group
Актуальна специфікація Single UNIX Specification Version 5 / 2024
Повʼязані стандарти POSIX, Single UNIX Specification
Нащадки й родичі BSD, Solaris, AIX, HP-UX, illumos, macOS, Linux-подібні системи
Ключові ідеї Everything is a file, pipes, shell, process model, permissions, portability

ssh user@example.com

Типові каталоги:

Сертифікованими UNIX можуть бути тільки системи, які пройшли відповідну процедуру The Open Group.; Його внесок критично важливий:
<blockquote>

man grep

== Pipes ==

Unix виріс після досвіду Multics  великого й амбітного проєкту операційної системи.; Параметр

== illumos ==

* web servers;
* DNS;
* email;
* TCP/IP;
* scripting;
* log processing;
* server administration;
* open systems;
* remote access;
* network tools.; !; Linux

* IBM AIX;
* HP-UX;
* Oracle Solaris;
* macOS у певних версіях;
* інші системи, що проходили сертифікацію.;== Android і Unix ==
</blockquote>

pwd

  • звичайні файли;
  • каталоги;
  • пристрої;
  • термінали;
  • pipes;
  • sockets;
  • псевдофайлові системи.;</syntaxhighlight>

command > output.log 2>&1

Мінімальний набір Unix-команд

Типові ідеї:

Команда:

  • сервер бази даних;
  • application server;
  • batch jobs;
  • інтеграції;
  • обмін файлами;
  • планові задачі;
  • резервне копіювання;
  • middleware;
  • monitoring;
  • enterprise storage;
  • банківські й промислові системи.; |-
Працювати постійно під root Можна випадково пошкодити систему
Копіювати команди без розуміння Команда має змогу змінити права, видалити файли або зламати конфігурацію
Ігнорувати man pages Втрачається головне джерело документації
Не брати змінні в лапки у shell Пробіли й спецсимволи можуть зламати скрипт
Плутати Unix, Linux і macOS Це повʼязані, але різні системи
Не робити backup Помилки адміністратора або диска можуть призвести до втрати даних

</syntaxhighlight>

Якщо сучасний сервер — це місто, то Unix — це один із перших вдалих планів такого міста: вулиці-файли, мешканці-процеси, правила-дозволи, транспорт-pipes і диспетчер-shell. man chmod Команди: |- | Linux | Unix-подібна open source-екосистема, не прямий нащадок оригінального Unix-коду |- | BSD | Історично ближча Unix-гілка з університетської традиції Berkeley |- | macOS | Unix-подібна платформа Apple з графічним інтерфейсом і Darwin-основою |- | Windows | Має іншу історію й архітектуру, хоча підтримує роботу багато Unix-подібних інструментів через WSL |- | Android | Використовує Linux kernel, але має власну Android-модель застосунків |- | Solaris / AIX / HP-UX | Комерційні enterprise Unix-системи |}

користувачі;
== Стандартні потоки ==
{| class="wikitable"
|-
| Серверна інфраструктура
| style="background:#d4edda; color:#155724; font-weight:bold;" | Дуже добре
|-
| автоматизація процесів через shell
| style="background:#d4edda; color:#155724; font-weight:bold;" | Дуже добре
|-
| Обробка логів
| style="background:#d4edda; color:#155724; font-weight:bold;" | Дуже добре
|-
| DevOps
| style="background:#d4edda; color:#155724; font-weight:bold;" | Дуже добре
|-
| ERP backend і сервери
| style="background:#d4edda; color:#155724; font-weight:bold;" | Добре
|-
| Навчання системному програмуванню
| style="background:#d4edda; color:#155724; font-weight:bold;" | Дуже добре
|-
| Масовий домашній gaming desktop
| style="background:#f8d7da; color:#721c24; font-weight:bold;" | Не ключовий сценарій
|-
| Windows-only програми й драйвери
| style="background:#f8d7da; color:#721c24; font-weight:bold;" | Не напряму
|}

== Сертифіковані UNIX-системи ==

Root має змогу:
!; Значення

'''chown''' змінює власника файлу.; Етап

* раннім Unix;
* файловою системою;
* shell;
* системним програмуванням;
* мовою B;
* ранніми інструментами;
* загальною архітектурою системи.; Недолік

<syntaxhighlight lang="bash">

<syntaxhighlight lang="bash">

== Unix і K2 ERP ==

* TCP/IP stack;
* sockets;
* modern Unix;
* FreeBSD;
* OpenBSD;
* NetBSD;
* macOS;
* інтернет-інфраструктуру.;== chmod ==

<pre>

[[Category:DevOps]]
ls -la
→ Queue / Cache / Storage

!; Пояснення
'''cron'''  класичний Unix-механізм запуску задач за розкладом.; Каталог

'''Unix-філософія каже: не створюй одну гігантську програму для всього.;

Приклад C-програми:

Ця команда поєднує:
== Man pages ==
|-
| '''ls'''
| Показує файли
|-
| '''cd'''
| Переходить у каталог
|-
| '''pwd'''
| Показує поточний каталог
|-
| '''cp'''
| Копіює файли
|-
| '''mv'''
| Переміщує або перейменовує файли
|-
| '''rm'''
| Видаляє файли
|-
| '''cat'''
| Виводить вміст файлу
|-
| '''grep'''
| Шукає текст
|-
| '''find'''
| Шукає файли
|-
| '''sed'''
| Потоковий редактор
|-
| '''awk'''
| Обробка тексту й колонок
|-
| '''sort'''
| Сортує рядки
|-
| '''uniq'''
| Прибирає або рахує повтори
|-
| '''wc'''
| Рахує рядки, слова, символи
|-
| '''chmod'''
| Змінює права доступу
|-
| '''chown'''
| Змінює власника
|-
| '''ps'''
| Показує процеси
|-
| '''kill'''
| Надсилає сигнал процесу
|}

== Unix і сервери ==

<blockquote>

{| class="wikitable"
Кожна запущена програма є собою процесом.; Для чого
'''NetBSD'''  BSD-система, відома переносимістю на багато апаратних платформ.; '''macOS цікава тим, що під красивим графічним інтерфейсом Apple ховається Unix-подібна основа з shell, процесами, правами й системними інструментами.'''
!;</blockquote>
!;<syntaxhighlight lang="bash">

Unix-система мислить так:

Типова схема:

Unix-ідеї в DevOps:

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

Знайти текст:

Приклади:

Корисні приклади

  • Ken Thompson;
  • Dennis Ritchie;
  • Brian Kernighan;
  • Douglas McIlroy;
  • Joe Ossanna;
  • інші дослідники.; Призначення

NetBSD

POSIX важливий для:

pipes;

Solaris

command 2> errors.log

{| class="wikitable"

Переглянути файли:
<syntaxhighlight lang="bash">
Рекурсивно:
C стала мовою, яка дозволила:
|-
| '''stdin'''
| 0
| Стандартне введення
|-
| '''stdout'''
| 1
| Стандартне виведення
|-
| '''stderr'''
| 2
| Стандартний потік помилок
|}

Популярні shell:

Приклад скрипта:
== Unix і безпека ==

</syntaxhighlight>

Single UNIX Specification

chown

/etc/passwd

find .; sudo chown -R user:group /path/to/folder

/dev/null

'''Рекурсивні команди з правами адміністратора потрібно виконувати обережно, бо вони можуть змінити багато файлів одразу.'''

Приклади redirect:
<syntaxhighlight lang="bash">
== HP-UX == System calls

</pre>

<blockquote>

* змінювати системні файли;
* керувати користувачами;
* встановлювати програми;
* змінювати права;
* запускати системні служби;
* керувати мережею;
* виконувати адміністративні дії.; Саме там сформувалися багато ідей, які сьогодні здаються звичними:

!; як ілюстрація, Linux зазвичай називають Unix-like, але не UNIX® у строгому торговельно-стандартизованому сенсі.'''

Результат:

<blockquote>

Користувачі K2 ERP
файли;
== Shell ==
|-
| '''UNIX®'''
| Торговельна марка The Open Group
|-
| '''SUS'''
| Single UNIX Specification
|-
| '''POSIX'''
| Набір стандартів переносимих інтерфейсів
|-
| '''Certification'''
| бізнес-процес підтвердження відповідності системи вимогам UNIX
|}

<syntaxhighlight lang="bash">

grep -R "error" .; |}

== OpenBSD ==

Bell Labs — дослідницька лабораторія, де народилися Unix, мова C та багато інших фундаментальних технологій.;</syntaxhighlight> скрипти;

; * актуалізація;
  • права;
  • конфігурація;
  • мережеві служби;
  • firewall;
  • backup;
  • моніторинг;
  • мінімізація доступів.; * операційних систем;
  • Linux;
  • BSD;
  • macOS;
  • Android;
  • серверів;
  • DevOps;
  • C;
  • POSIX;
  • shell;
  • інтернет-інфраструктури;
  • системного програмування;
  • ERP-серверів;
  • автоматизації;
  • текстових інструментів.; Актуальна специфікація — Single UNIX Specification Version 5 / 2024.; Символ

</syntaxhighlight>

Linux і Unix

jobs

; !; → Backup / Monitoring / Logs

Unix став успішним не з цієї причини, що був найбільшим, а з цієї причини, що був простим, переносимим і зручним для програмістів.

BSD або Berkeley Software Distribution — важлива гілка Unix-історії, що виникла в University of California, Berkeley.;
Unix-підхід корисний для K2 ERP у таких напрямах:

* ZFS;
* DTrace;
* zones;
* серверними й storage-сценаріями;
* системами на кшталт OmniOS або SmartOS.;</blockquote>

<blockquote>
<blockquote>
== Daemons ==
Типові галузі:
Його внесок повʼязаний із:
<blockquote>
<syntaxhighlight lang="bash">
== cron ==

!; Значення
|-
| Kernel
| Linux kernel
|-
| Застосунки
| APK/AAB, Android Runtime
|-
| Userland
| Android framework замість класичного GNU/Linux userland
|-
| Security
| Android sandbox, permissions, SELinux
|-
| Shell
| adb shell у технічних сценаріях
|}

!; |-
| style="background:#d4edda; color:#155724; font-weight:bold;" | Ключове
| '''Unix-філософія вплинула на DevOps і CLI-культуру'''
| Shell, pipes, grep, sed, awk, cron, ssh і текстові конфігурації  прямі спадкоємці Unix-культури.; Значення
== переважні аспекти Unix ==
|-
| '''Unix'''
| Історичне сімейство операційних систем і філософія проєктування
|-
| '''UNIX®'''
| Зареєстрована торговельна марка The Open Group для сертифікованих систем
|-
| '''Unix-like'''
| платформа, схожа на Unix за принципами, API або поведінкою, але не обовʼязково сертифікована
|-
| '''POSIX-compatible'''
| платформа або середовище, яке підтримує роботу POSIX-інтерфейси
|-
| '''GNU/Linux'''
| Unix-подібна платформа на основі Linux kernel і GNU/інших компонентів
|}

'''Daemon'''  фоновий бізнес-процес Unix-системи.; Unix із самого початку був багатокористувацькою системою.; На відміну від Multics, Unix спочатку був меншим, простішим і практичнішим.; Android-реалізація
'''DevOps виглядає сучасно, але його коріння дуже Unix-ове: автоматизація процесів, текст, shell, процеси, мережа й маленькі інструменти.'''
{| class="wikitable"

Її часто описують ідеєю:

Порахувати кількість рядків із помилками:

[[Category:Операційні системи]]

* банки;
* телеком;
* університети;
* промисловість;
* авіація;
* наука;
* державні системи;
* медіа;
* інженерія;
* великі ERP-системи;
* бази даних.; |-
| style="background:#d4edda; color:#155724; font-weight:bold;" | Ключове
| '''UNIX® сьогодні є собою торговельною маркою'''
| Назву UNIX® офіційно використовують сертифіковані системи, які відповідають вимогам The Open Group.; macOS поєднує:

== Unix, UNIX і Unix-like ==

* користувачі;
* групи;
* права доступу;
* root;
* процеси від імені користувача;
* ізоляція файлів;
* системні логи;
* sudo у Unix-like системах;
* chroot у деяких сценаріях;
* SSH keys;
* audit tools.;== Коротко ==

<syntaxhighlight lang="bash">

</pre>

'''FreeBSD'''  Unix-like операційна платформа з BSD-традиції.; '''Навіть якщо K2 ERP не функціонує на класичному UNIX®, багато її серверних практик можуть бути Unix-подібними: shell, logs, services, backup, API, cron, Linux, Docker і monitoring.'''

системні виклики.;<pre>

<syntaxhighlight lang="bash">
== macOS і Unix ==
== Коли Unix-підхід  хороший вибір ==
|-
| '''r'''
| read, читання
|-
| '''w'''
| write, запис
|-
| '''x'''
| execute, виконання
|}

== root ==

!; Команди:
!; Але офіційна назва UNIX® стосується сертифікації й торговельної марки.'''
<syntaxhighlight lang="bash">
== Everything is a file ==
|-
| '''SIGTERM'''
| Прохання завершитись
|-
| '''SIGKILL'''
| Примусове завершення
|-
| '''SIGHUP'''
| Часто застосовується для перечитування конфігурації
|-
| '''SIGINT'''
| Переривання, як ілюстрація Ctrl+C
|}

Повʼязана з:

{| class="wikitable"
Корінь:
'''HP-UX''' — Unix-система Hewlett-Packard / HPE.; !;== Unix і ERP ==

Unix вплинув на:
'''POSIX'''  набір стандартів, які описують інтерфейси Unix-подібних операційних систем.; kill 1234

Недоліки Unix

Unix довго був основою великих корпоративних систем.; Порівняння

shell;

Приклад:

  • переписати Unix з assembly на переносимішу мову;
  • переносити систему на різні машини;
  • створювати системні утиліти;
  • писати компілятори;
  • формувати API;
  • вплинути на C++, Java, C#, JavaScript, Go, Rust та інші мови.; Що вивчати

Він важливий для:

</syntaxhighlight>

Ключове Unix вплинув майже на всі сучасні операційні системи Linux, BSD, macOS, iOS, Android і багато серверних систем прямо або концептуально повʼязані з Unix.;== історичний розвиток Unix == ; * 1969 — початок роботи над Unix у Bell Labs;
  • ранні версії для PDP-компʼютерів;
  • еволюція shell, файлової системи, процесів і утиліт;
  • створення мови C;
  • переписування значної частини Unix мовою C;
  • поширення Unix в університетах;
  • поява BSD;
  • комерційні Unix-системи;
  • стандартизація POSIX і UNIX;
  • вплив на Linux, macOS, Android, BSD і сучасний інтернет.; !; |-
Увага Unix-команди дають багато влади Неправильні команди з правами адміністратора можуть пошкодити систему або інформаційні дані.; !; Задача

int main(void) {

  • TCP/IP;
  • sockets;
  • inetd;
  • ssh;
  • telnet у старих системах;
  • sendmail;
  • DNS;
  • NFS;
  • web servers;
  • network daemons.; Номер

Коли платформа представляє багато речей як файли, з ними можна працювати однаковими інструментами: читати, писати, перенаправляти, фільтрувати.

; Значення

DevOps-культура багато в чому успадкувала Unix-підхід.; Вона повʼязана з POSIX і описує інтерфейси, утиліти, заголовки, поведінку системи та вимоги до сумісності.;

sh — класична shell Unix-систем.; Ці терміни потрібно розрізняти.; Саме з цієї причини її ідеї пережили десятиліття й досі працюють у Linux-серверах, MacBook, Android-смартфонах, хмарі, контейнерах і бізнес-системах. netstat -an Багато Unix-команд досі використовуються в Linux, macOS, BSD і серверних системах.