Pull to refresh

Настоящий Unix — не есть приемлемый Unix

Reading time 5 min
Views 28K
System administration **nix *Shells *
Translation
Командная строка Unix полна сюрпризов. Например, вы знали, что инструмент ls, который чаще всего используется для получения списка файлов в текущем каталоге, в версии OS X распознаёт не менее 38 разных флагов?

Я не знал, так что затвитил этот факт. И получил парочку ответов, один из которых заставил меня задуматься: действительно ли саму Unix нужно винить в этом?

Насколько я знаю, ни Linux, ни OS X не были спроектированы в строгом соответствии с философией Unix. Будет лицемерием основывать критику “Unix” только на этих производных от Unix, которые есть у нас сегодня.

Но я всё-таки попробую показать, как много проблем с интерфейсами командной строки в современных наследниках Unix восходят к корням самой Unix. В частности, я попытаюсь объяснить свой скепсис относительно идеи, что окружение командной строки Unix могло когда-либо поддерживать экосистему программ, каждая из которых хорошо выполняет одну функцию.

Но я немного опережаю события. Прежде чем я начну говорить об этом, давайте более пристально посмотрим на команду ls и попробуем выяснить, что конкретно она делает не так.
Читать дальше →
Total votes 44: ↑32 and ↓12 +20
Comments 116

Усложнение команд консоли, 1979−2020

Reading time 14 min
Views 30K
Open source **nix *Development for Linux *Software
Translation
Моё хобби — открыть «Философию UNIX» Макилроя на одном мониторе, одновременно читая маны на другом.

Первый из принципов Макилроя часто перефразируют как «Делайте что-то одно, но делайте хорошо». Это сокращение от его слов «Создавайте программы, которые делают одну вещь хорошо. Для новой работы создавайте новые программы, а не усложняйте старые добавлением новых "функций"».

Макилрой приводит пример:

Для посторонних кажется удивительным тот факт, что компиляторы UNIX не выдают листинги: печать лучше осуществляется и более гибко настраивается с помощью отдельной программы.

Если вы откроете справку для ls, то она начинается с

ls [-ABCFGHLOPRSTUW@abcdefghiklmnopqrstuwx1] [file ...]

То есть однобуквенные флаги для ls включают все строчные буквы, кроме {jvyz}, 14-ти прописных букв, @ и 1. Это 22 + 14 + 2 = 38 только односимвольных вариантов.
Читать дальше →
Total votes 74: ↑72 and ↓2 +70
Comments 135

Справочная: «философия Unix» — базовые рекомендации, эволюция и немного критики

Reading time 3 min
Views 4.6K
1cloud.ru corporate blog Programming *IT Standards *Development for Linux *History of IT
Расскажем, в чем суть философии, кто её сформулировал, расширял и критиковал по ходу развития.

(Кстати, вчера вышел и наш очередной TL;DR-дайджест про «удаленку» и личную ИБ.)

Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Comments 1

Почему работать в консоли настолько приятно? Так задумано отцами-основателями Unix

Reading time 8 min
Views 57K
VDSina.ru corporate blog Configuring Linux *Open source **nix *History of IT

Кен Томпсон и Деннис Ритчи

Unix. Легендарная операционная система оказала огромное влияние на разработку программного обеспечения и всю информатику в целом. Из неё выросли целые семейства Unix-подобных ОС, которыми все мы пользуемся.

Язык программирования Си, Ричард Столлман и GNU, движение Open Source, Линус Торвальдс с ядром Linux, маки, айфоны и Android. Почти всё в системном программировании 21 века можно отследить до истоков — до Unix.

Unix — это фундаментальная база. Но что же в ней такого особенного? Есть один секрет. Точнее, два.
Читать дальше →
Total votes 116: ↑103 and ↓13 +90
Comments 434

Зачем уметь работать в командной строке?

Reading time 13 min
Views 20K
Configuring Linux **nix *Development for Linux *Studying in IT DevOps *

Сегодня мы поговорим о том, зачем учить операционную систему GNU/Linux, о преимуществах работы в командной строке и о том, как это все связано с философией Unix.

Это не перевод, а мой авторский текст, появившийся в результате долгих чтений комментариев на хабре и других всевозможных интернет ресурсов. Я не ставил целью задеть чьи-то чувства или оскорбить, а любые совпадения случайны. Прошу отнестись с пониманием.

Читать далее
Total votes 43: ↑25 and ↓18 +7
Comments 97

Философия Unix: Краткое введение

Reading time 9 min
Views 12K
OTUS corporate blog Programming *C *
Translation

Философия Unix лежит в основе не только оригинальной UNIX, разрабатываемой Кеном Томпсоном в Bell Labs с 1969 года, но и ее многочисленных прямых потомков и клонов, к коим относятся Solaris, Linux и семейство BSD1, называемые в совокупности Unix-подобными операционными системами. Она оказалась определяющим фактором быстрого роста и успеха Linux и стала причиной того, что эти операционные системы до сих пор считаются лучшими операционными системами, разработанными на сегодняшний день, несмотря на то, что они, безусловно, являются самыми старыми операционными системами в широком доступе.

Читать далее
Total votes 12: ↑10 and ↓2 +8
Comments 10