Я люблю Ubuntu Linux - особенно командную строку. Но я должен признать, что, по крайней мере, на данный момент, Windows более удобна для пользователя - для этого есть больше программного обеспечения, больше драйверов, и больше всего работает.
Знание того, что Mac построен на Unix, заставляет задуматься, а не сладкое ли это место между ними. Но мне интересно: насколько похожа командная строка Mac на bash Linux ? Могу ли я разобраться с использованием сценариев vim, bash, git и т. Д.? Будут ли общие команды, такие как изменение каталогов, другими? Кто-нибудь знает онлайн ресурс "сравни и сравнивай"?
Ответы:
Bash - это bash, поэтому оболочка и ее встроенные компоненты совпадают. Но учтите, что поведение некоторых инструментов, таких как
ps
илиhead
может отличаться в деталях, может привести к сбою ваших сценариев.источник
file
:file -i
на linux в то время какfile -I
в OSX ☹️Mac OS X - это ОС Unix, и ее командная строка на 99,9% такая же, как и в любом дистрибутиве Linux.
bash
это ваша оболочка по умолчанию, и вы можете скомпилировать все те же программы и утилиты. Там нет заметной разницы. Вы также можете найти различные проекты, такие как MacPorts, которые обеспечивают управление пакетами для Mac.источник
Это очень похоже, но если вы знаете о каких-либо различиях между BSD и Linux, ожидайте, что Mac будет работать с BSD.
источник
Пара вещей - это действительно зависит от того, что вы подразумеваете под командной строкой.
Вы можете столкнуться с этим - / bin / bash на Mac прикреплен к 3.x по причинам лицензирования. Вы можете найти незначительные проблемы совместимости, если вы привыкли к 4 или даже 5.
bash сам по себе является небольшим подмножеством «командной строки». Чтобы быть полезным, вы обычно используете другие распространенные утилиты UNIX, такие как awk, ls или cut. Из-за своей истории (она произошла от BSD, а не от Linux или SystemV), версии утилит для Mac будут отличаться от тех, которые вы привыкли использовать в Linux (также как версии GNU). Они будут иметь по крайней мере некоторые различия флагов, а также некоторые отличия вывода и функциональности по сравнению с Linux. Сценарии, которые их используют, должны быть изменены для компенсации. BSD awk против GNU gawk довольно сильно отличается. ИЛИ, вы можете получить эти версии GNU из macports или home brew и установить свой PATH так, чтобы это были значения по умолчанию (по сравнению со встроенными версиями).
MacOS X также имеет несколько новых интересных инструментов.
open
хорошо, он откроет объект, как если бы вы дважды щелкнули по нему.defaults
позволяет вам установить некоторые настройки, некоторые даже не в панелях настроек GUI.textutil
может быть полезным иsay
может быть весело.источник
Функциональность командной строки в Mac и Linux действительно схожи, поскольку OS X имеет вид UNIX (называемый Darwin) под GUI, который вы видите.
Оболочкой по умолчанию в OS X является bash, поэтому, если вы с ней знакомы, вы все настроите правильно.
На Mac приложением командной строки по умолчанию является Терминал. Существует также ряд других эмуляторов, но в целом Terminal обеспечивает очень похожий внешний вид на оболочку, к которой вы привыкли в Linux.
Основным источником различий являются:
du
Например). Основные команды, такие какcd
илиls
др., Похожи.Тем не менее, есть также много классных хаков, доступных из командной строки в OS X (например,
open
commnand). Есть много предыдущих тем и сообщений в блоге там с дополнительной информацией.Вы также можете получить ваши руки на кучу пакетов с открытым исходным кодом (то есть
git
,hg
и т.д.) через MacPorts, Fink или несколько других систем управления пакетами для OS X. Вы можете также создавать другие пакеты с исходным кодом , предназначенный для UNIX / Linux , как системы по мере необходимости ,источник
Здесь есть одно отличие. Попробуйте эту команду в оболочке bash для Mac и Linux
Mac ничего не показывает, хотя внутри / etc много файлов .conf.
источник
find /etc/* -name "*.conf"
. Тем не менее, это было предоставлено в качестве примера для сравнения командной строки MAC с командной строкой LINUX. Невозможно мотивировать голос.find /etc/ -name "*.conf"
это указать, то / etc - это каталог, а не файл. Есть лиfind
в Linux рассматривать символические ссылки на каталоги как папки по умолчанию?