Я собираюсь научиться использовать командную строку. В частности, я буду использовать книгу: «Командная строка Linux: полное введение» . Теперь я должен использовать дистрибутив Linux, чтобы пройтись по книге, или OS X будет достаточно?
Если мне понадобится дистрибутив Linux, то будет ли достаточно использовать его через виртуальную машину или мне нужно будет установить его самостоятельно?
linux
command-line
osx
Утка
источник
источник
/proc
файловой системы, USB-накопители, как правило, появляются/Volumes
не так,/media/username
как в Ubuntu. У CentOS другойdhclient.conf
файл. И так далее и тому подобноеОтветы:
Я очень рекомендую запускать Linux на ВМ. Все программное обеспечение доступно для бесплатной загрузки, и нет практической разницы между запуском на виртуальной машине и собственным запуском для изучения командной строки.
Кроме того, командная строка Linux в основном состоит из coreutils bash + GNU , который сильно отличается от BSD Unix (а OS X является наследником BSD Unix). Существует очень большая разница в предпочтениях при написании аргументов в BSD Unix и GNU Linux. Вы можете укусить себя даже как не новичок с различными опциями для стандартных утилит , как
ps
иtar
при работе в обеих системах.Использование OS X, когда ваша книга посвящена Linux, будет регулярно приводить к появлению несоответствий и различий, которые будут казаться поверхностными, когда вы более опытны, но будут просто сбивать с толку, когда вы учитесь. Держите вещи легкими для себя.
Это также позволит вам экспериментировать, не беспокоясь о том, как сломать компьютер, удалив или изменив любые важные файлы.
И последнее, хотя, конечно, не в последнюю очередь, это позволит вам настроить SSH-подключение к вашей виртуальной машине из терминала OS X, чтобы вы могли привыкнуть к использованию ключей SSH и к мысли, что не имеет значения, является ли ваш сервер Linux это собственная машина, локальная виртуальная машина или работающая на AWS или Digital Ocean: все работает одинаково!
источник
OS X достаточно для изучения командной строки, поскольку она является сертифицированной UNIX и соответствует POSIX. Если вы смотрите на специфическую для Linux книгу командной строки, вы должны иметь в виду, что пользовательские инструменты в OS X являются производными от BSD, в то время как инструменты для Linux являются GNU, и между ними есть некоторые тонкие (и не очень тонкие) различия.
Если вы хотите учиться с помощью инструментов GNU, вы можете установить пользовательское пространство GNU через macports или homebrew, или можете выполнить полную установку Linux на ВМ.
источник
bash
), она подойдет практически для любой системы, в которой она работает. Это зависит от того, когда вы начинаете использовать функции операционной системы или специальные инструменты вне оболочки.ls
должны быть из GNU или BSD (пожалуйста, исправьте, если я ошибаюсь). Итак, я думаю, что это означает, что мне нужно выбрать одну цепочку инструментов (или среду) и начать там изучение командной строки. Это правильно?Пока есть несколько хороших ответов, но еще одна причина держаться подальше от стандартных инструментов командной строки OS X - они очень старые версии. Например, OS X выпускается
grep
с 2004 года иbash
с 2007 года! Причина в том , что компания Apple отказывается от корабельных инструментов под лицензией GPL3.Если вы не хотите устанавливать Linux должным образом, вы можете вручную установить последние версии (возможно, через какую-то систему портов, такую как MacPorts, Fink или Homebrew).
источник
Первое отличие:
Работает на Linux, не работает на Mac (параметры должны быть на первом месте). Используйте виртуальную машину или получите книгу для Mac OS. Вы должны изучить тот, который вы будете использовать больше позже, а затем различия.
источник
ls * -lah
работает в Linux так же, как работает в Linux, и работает в OS X так же, как работает в OS X. Принцип работы в OS X является правильным в соответствии с POSIX (12. Соглашения об утилитах / 12.2 Рекомендации по синтаксису утилит / Принцип 9) : «Все параметры должны предшествовать операндам в командной строке». Как описано в getopt (3) : «Если… установлена переменная окружения POSIXLY_CORRECT , тогда обработка опции останавливается, как только встречается аргумент без опции».Лучший способ изучить Unix - это работать с ним. Я бы сказал, что стоит столкнуться с различиями между примерами для Linux в вашей книге и версиями стандартных инструментов для Mac, просто чтобы иметь возможность работать со своими собственными файлами и данными в обычной рабочей среде (OS X).
Обнаружение различий также будет ценным обучающим опытом, даже если иногда это расстраивает.
Также полезно иметь виртуальную машину Linux (например, для потенциально опасных команд), но ничто не сравнится с практическим использованием для обучения.
источник