Как командная строка Mac сравнивается с Linux?

Я люблю Ubuntu Linux-особенно commmand line. Но я должен признать, что по крайней мере сейчас, Windows более удобный - там больше софта для нее, дополнительных драйверов, и работает.

зная, что Mac построен на Unix заставляет меня задаться вопросом, если это сладкое пятно между ними. Но мне интересно:как похожа командная строка Mac на Linux bash? Могу ли я воспользоваться vim, bash scripting, git и так далее? Будут ли общие команды, такие как смена каталогов будет другой? Кто-нибудь знает онлайн-ресурс "сравнение и контраст"?

23
задан peelman
14.02.2023 4:26 Количество просмотров материала 3498
Распечатать страницу

6 ответов

Bash-это bash, поэтому оболочка и встроенные модули одинаковы. Но имейте в виду, что поведение некоторых инструментов, таких как "ps" или "head", может отличаться в деталях, поэтому ваши скрипты могут потерпеть неудачу.

10
отвечен 2023-02-15 12:14

Mac OS X-это ОС Unix, и ее командная строка на 99,9% совпадает с любым дистрибутивом Linux. bash - Это ваша оболочка по умолчанию, и вы можете скомпилировать все те же программы и утилиты. Нет никакой заметной разницы. Вы также можете найти различные проекты, такие как MacPorts, которые обеспечивают управление пакетами для Mac.

27
отвечен w0rm 2023-02-15 14:31

Это очень похоже, но если вы знаете какие-либо различия BSD V.Linux, ожидайте, что Mac будет иметь поведение BSD.

11
отвечен Neth 2023-02-15 16:48

пару вещей - это действительно зависит от того, что вы подразумеваете под командной строки.

  1. вы, вероятно, запустите bash, который будет таким же, как bash на любом другом UNIX. Язык программирования bash будет таким же - до тех пор, пока это та же версия. Версии Bash имеют небольшие различия в языке, но это не имеет ничего общего с MacOSX и Linux как таковыми.

  2. bash сам по себе является небольшим подмножеством "командной строки". Чтобы быть полезным вам обычно используют другие утилиты UNIX, такие как awk, ls или cut. Из-за своей истории (она происходит от BSD, а не от Linux или SystemV), версии утилит для Mac будут отличаться от тех, к которым вы привыкли в Linux (a.k.a. Версии GNU). Они будут иметь, по крайней мере, некоторые различия в флагах, а также некоторые различия в выводе и функциональности, чем Linux. Сценарии, которые используют их, должны быть изменены для компенсации. BSD awk vs GNU gawk-это совсем другое. Или, вы можете получить эти GNU версии из macports, и установите свой путь так, чтобы это были значения по умолчанию (по встроенным версиям).

  3. MacOS X также имеет некоторые новые интересные инструменты. open приятно, он откроет объект, как если бы вы дважды щелкнули его. defaults позволяет установить некоторые настройки, некоторые даже не в панели настроек GUI. textutil может быть полезно и say может быть интересно.

8
отвечен Rich Homolka 2023-02-15 19:05

функциональность командной строки на Mac и Linux действительно похожи, поскольку OS X имеет аромат UNIX (называемый Darwin) под графическим интерфейсом, который вы видите.

оболочка по умолчанию в OS X-bash, поэтому, если вы знакомы с этим, вы будете хорошо настраиваться.

на Mac приложение командной строки по умолчанию-Terminal. Есть также ряд других эмуляторов, но в целом терминал обеспечивает очень похожий внешний вид оболочки, к которой вы привыкли Linux.

основной источник различий, хотя:

  • различные аргументы командной строки время от времени (т. е. см du например). Основные команды, такие как cd или ls etc. похожи.
  • есть больше частей OS X, которые не должны редактироваться вручную, как вы могли бы сделать в Linux. Это отдельная тема, но просто имейте в виду, что запуск Mac не совсем похож на запуск Linux box с точки зрения конфигурации и содержание.

это, как говорится, есть также много интересных хаков, доступных из командной строки в OS X (например,open commnand). Есть много предыдущих тем и сообщений в блогах с дополнительной информацией.

вы также можете получить в свои руки кучу пакетов с открытым исходным кодом (т. е. git,hg, etc.) через MacPorts, Fink или несколько других систем управления пакетами для OS X. Вы также можете создавать другие пакеты с исходным кодом, предназначенные для UNIX / Linux необходимый.

3
отвечен dtlussier 2023-02-15 21:22

вот одно отличие. Попробуйте эту команду в Mac и Linux bash shell

find /etc -name "*.conf"

Mac ничего не отображает, даже если их много .файл Conf в /etc.

-2
отвечен Antony Thomas 2023-02-15 23:39

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх