
Командная строка Unix полна сюрпризов. Например, вы знали, что инструмент
ls, который чаще всего используется для получения списка файлов в текущем каталоге, в версии OS X распознаёт не менее
38 разных флагов?
Я не знал, так что
затвитил этот факт. И получил парочку ответов,
один из которых заставил меня задуматься: действительно ли саму Unix нужно винить в этом?
Насколько я знаю, ни Linux, ни OS X не были спроектированы в строгом соответствии с
философией Unix. Будет лицемерием основывать критику “Unix” только на этих производных от Unix, которые есть у нас сегодня.
Но я всё-таки попробую показать, как много проблем с интерфейсами командной строки в современных наследниках Unix восходят к корням самой Unix. В частности, я попытаюсь объяснить свой скепсис относительно идеи, что окружение командной строки Unix могло
когда-либо поддерживать экосистему программ, каждая из которых хорошо выполняет одну функцию.
Но я немного опережаю события. Прежде чем я начну говорить об этом, давайте более пристально посмотрим на команду
ls и попробуем выяснить, что конкретно она делает не так.