Основні принципи unix way

На основі статті "Класичний UNIX-way або« комп'ютер для професіонала "

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

there's more than one way to do it
Для кожного завдання повинно бути нескінченна кількість рішень.
Цей підхід є однією з основ світу UNIX, він дозволяє спеціалісту практично будь-якої кваліфікації вирішити своє завдання, нехай і з різною якістю.

Одна задача - одна програма
Цей підхід є найважливішим в UNIX-світі. Саме він дає
можливість зробити одночасно просту, ефективну, надійну і функціональну робоче середовище. Чим складніше завдання, тим складніше написати для неї якісне рішення.

Все є текст
Головне, що необхідно для конструювання рішення складних задач за допомогою маленьких утиліт - стандартний підхід до обміну даними між програмами. В якості такого підходу прийнято використовувати "plain text" (простий текст).
Цей підхід вкрай зручний для обробки даних скриптовими мовами, які, на відміну від мов на кшталт Сі, зазвичай мають досить зручні і потужні засоби роботи з рядками.

pipes (потоки, труби)
pipes це основний метод зв'язку програм в UNIX-like ОС один з одним. Кожен раз, коли ми використовуємо символ '|' в командному рядку (shell), ми створюємо трубу (pipe), яка з'єднує стандартний висновок (stdout) однієї програми зі стандартним вводом (stdin) іншої програми. Таким чином коли одна програми видає що-небудь, ми можеш це або побачити на екрані, або перенаправити на введення іншої програми.
Наприклад ls / home / music> albums.txt створить текстовий файл зі списком каталогів і файлів в діркторіі music.

Все є файл
Одна з найбільш дивовижних концпецій. Наприклад ви можете зробити так:
cat bootsect.bin> / dev / fd0
і таким чином запишіть образ завантажувального сектора прямо на дискету.
Або ви можете зробити так:
dd if = / dev / cdrom of = cd.iso
і таким чином ви зробите образ компакт-диска (останню сесію, тільки дані), який придатний для запису за допомогою утиліти cdrecord.Ви можете зробити так:
dd if = / dev / hda bs = 512 count = 1 of = mbr.bin
і таким чином зберегти кудись перший сектор свого жорсткого діска.Прінціп, завдяки якому пристрої принципово мало відрізняються від файлу з точки зору користувача дозволяє використовувати для роботи з пристроями ті ж програми, що і для роботи зі звичайними файлами.

скрипти
Користувачеві не так вже й часто потрібно вирішувати відносно прості завдання, на кшталт виведення на екран отфильтрованием списку файлів. Йому необхідно об'єднувати утиліти в більш складні завдання. І для цього існує ще одна основа UNIX-світу - glue languages ​​(мова-клей, найчастіше використовується термін «скриптові мови», "script languages"). Вони призначені для склеювання безліч блоків і створення єдиної програми, яка виконує будь-яку задачу.

Самий використовуваний мову в UNIX-like ОС - bash (Bourne Again SHell)
Основна відмінність «скриптових» мов від «великих» (з яких переважно використовуються C і C ++), поряд з відносною простотою - у відсутності необхідності компіляції, переробки комп'ютером вихідного тексту в виконуваний файл. Тому програми на них куди простіше запускати.

Ти це просив? Отримай!
Один з поширених підходів в UNIX, замість "Що ти видешь, то і отримаєш WYSIWYG".

Принцип «KISS»
З'явився раніше Unix систем але багато розробників програм і дистрибутивів поділяють цю концепцію. Стався від англ Keep It Simple, Stupid - «роби простіше, дурень» - процес і принцип проектування, при якому простота системи декларується в якості основної мети та / або цінності. Також часто використовується більш ввічлива розшифровка - Keep It Short and Simple ( «роби коротше і простіше»).

Схожі статті