В чем разница между командами оболочки Linux (Ubuntu) и Mac?

В чем разница между командами оболочки Linux (Ubuntu) и Mac?

На работе я использую Ubuntu, а дома — Mac.

Я сегодня пробовал некоторые команды оболочки на моем терминале bash на Mac, но они не работали. Мне сказали, что обе машины должны работать с командами UNIX, поэтому команды терминала должны быть одинаковыми.

Однако я не могу использовать apt-get installдругие команды. Почему?

Что мне набрать на Mac вместо apt-get? Можно ли как-то использовать одни и те же команды на обеих системах?

решение1

Это очень упрощенный ответ, но в целом он точный.

Команды, которые не работают на терминале Mac, — это программы, которых нет на Mac. Вы можете найти эквиваленты для большинства из них, но apt-getэто менеджер пакетов Ubuntu, поэтому вы не найдете его в OS X. Насколько мне известно, в OS X даже нет менеджера пакетов.

решение2

Вы, кажется, знаете, что используете одну и ту же оболочку и в Ubuntu, и в Mac OS X (то есть BASH). Но apt-get — это не "команда оболочки", что бы это ни значило. apt-get — это просто программа, а точнее, программное обеспечение для управления пакетами, используемое в дистрибутивах Linux, связанных с Debian (например, Ubuntu). Конечно, его можно использовать и в других дистрибутивах Linux.

Так что причина, по которой вы не можете набрать его в терминале на работе, заключается в том, что он отсутствует на Mac. Как уже упоминали другие, Mac OS X не следует модели распространения пакетов, как Linux. Вы найдете эти странные файлы .dmg или что-то еще, что обычно используют Mac для установки приложений. Однако для Mac доступны похожие системы распространения, напримерMacPorts. Используя Macports, вы используете аналогичный командный интерфейс для apt-get, чтобы установить вещи

port install package

Подписывайтесь на MacPortsдокументациядля остальных.

Все, что является встроенной оболочкой, будет доступно как в Ubuntu/Mac (тем более специфичные для BASH вещи, поскольку это одна и та же оболочка), но множество программ, которые вы могли бы ожидать в дистрибутиве Linux (т. е.coreutilsи другие материалы, связанные с GNU) не будут присутствовать.

решение3

MacPorts — это нечто похожее на apt-get, хотя на самом деле он происходит от системы "портов" FreeBSD. Конечно, вы будете использовать его только для установки и обновления программного обеспечения с открытым исходным кодом, и это в основном терминальные вещи.

Многие команды UNIX работают в OSX, но UNIX всегда был фрагментированным миром с различиями между версиями. Есть ли какие-то другие конкретные команды, которые доставляли вам проблемы?

Связанный контент