5

Интересно, одинаковые ли команды unix (cp, mv, grep, args и т.д.) Для Mac и Ubuntu.

Есть ли у них одинаковые списки параметров и т.д., Или они пытаются остаться прежними, но немного отличаются?

3 ответа3

8

OS X (Darwin) использует BSD-версии стандартных инструментов. Ubuntu (и Linux в целом) использует версии GNU. Они очень похожи, но различия (такие как наличие и порядок опций) могут сбить вас с толку, если вы не будете осторожны.

8

Основные команды и параметры одинаковы, но каждая реализация предоставляет свои собственные дополнительные команды и параметры.

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

В конце концов, спецификация POSIX была разработана для стандартизации общего подмножества функций. Этот стандарт в настоящее время управляется Open Group. Хотя текущей версией стандарта является Single Unix версии 4, большинство систем реализуют только версию 3. В Ubuntu пакет susv3 содержит спецификацию Single Unix версии 3. Это справочный документ, поэтому его можно прочесть, но полезно по крайней мере проверить, является ли стандартная опция, которую вы уже понимаете.

Существуют POSIX-совместимые инструменты для большинства настольных / серверных операционных систем. Все, что основано на Unix (Linux, Solaris, * BSD, OSX, ...), имеет их изначально. Нативные утилиты в Linux - это утилиты GNU. Существует несколько реализаций для Windows, включая Microsoft Services for Unix и порты утилит GNU, таких как cygwin и GNU Win32.

4

Они достаточно различны , что (1) вы не можете полагаться на них являются одинаковыми, (2) она расстроит вас много, и (3) вы действительно должны тщательно протестировать любой скрипт , который вы планируете использовать в обеих системах.

Обычно я справляюсь со всем этим, устанавливая coreutils GNU и find и используя эти версии в предпочтении версий Mac. Вы можете установить версии GNU с помощью одного из инструментов * nix для OSX:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .