Mac поможет мне изучить Linux?

10

Я работал с Mac на прошлой неделе впервые. Я заметил, что оболочка очень похожа на Linux. Обычно я работаю на машине с Windows и склонен быть нубом во всем, что касается Linux. Поможет ли мне Mac с этим, или мне станет хуже из-за небольших различий в ОС Mac?

orokusaki
источник
1
Все три ответа верны. Все зависит от того, что вы хотите узнать. Как частый пользователь Терминала, я чувствую себя как дома, когда мне нужно сделать что-то из командной строки на машинах с Linux.
Даниэль Бек
2
Вы должны знать, однако, что многие часто используемые инструменты ( cp, top, ...) имеют разные параметры командной строки, я думаю , потому что Mac OS X использует версию BSD.
Даниэль Бек

Ответы:

11

Это, конечно, не сделает вещи хуже. Между OS X и Linux существует множество сходств, и если вы начинаете заниматься OS X, незначительные различия не будут актуальны сейчас. Такие вещи, как оболочка bash, инструменты сценариев и многие приложения оболочки Linux, доступны для OS X.

Я регулярно работаю на OS X на своем MacBook и запускаю свои программы на рабочей станции Linux. Будет момент, когда вам нужно будет узнать о различиях между Linux и OS X (например, как управлять сервисами), но к тому времени, когда вы доберетесь до этой точки, вы будете знать, где найти нужную вам информацию.

fideli
источник
2
Не могу согласиться больше. Получение Powerbook (еще в далеком прошлом) и OS X - это то, что вызвало мой интерес к Unix в целом. После нескольких месяцев работы с терминалом, я был достаточно удобен, чтобы начать работать с терминалом машины с Linux, а затем все отчасти вышло из-под контроля, и я стал огромным * nix ботаником ... OS X все еще мой вкус выбора хотя.
Пилман
5

Конечно.

OS X - это совместимая с POSIX ОС на основе UNIX, построенная поверх ядра XNU, которая включает в себя множество стандартных инструментов Unix, которые можно изучить из Terminal.app. Из-за соответствия POSIX многие программы, написанные для Linux, могут быть перекомпилированы для запуска на нем.

В Fink и MacPorts проекты могут помочь расширить наборы инструментов вы можете узнать с а.

CaseyIT
источник
1
С оговоркой, что система управления окнами совершенно другая. Если вы работаете исключительно с терминальными программами, они будут работать. Если вы используете графический интерфейс, вам нужно беспокоиться о оболочке X11 поверх всего.
Тарка
3

Linux поможет вам выучить Linux. Linux вполне может помочь вам изучить Mac. Я не уверен, что Mac поможет вам изучить Linux.

Вы правы, что между Mac OS X и Linux много общего. Это потому, что они оба основаны на Unix. Однако есть серьезные различия. Mac OS X настроена как потребительская операционная система. Это означает, что все, кроме самых подробных и трудоемких задач, имеют удобный и удобный графический интерфейс. Linux изначально разрабатывался как хобби-проект и теперь в основном используется на серверах. Для обычных пользователей настольных компьютеров Linux с каждым днем ​​становится все лучше и лучше, но многие другие рутинные задачи просто предполагают, что вы можете использовать терминал. Иногда нет графического интерфейса или он не установлен по умолчанию. Иногда есть графический интерфейс, но инструкции устарели и все еще относятся к терминалу, или автор просто использует терминал по привычке. Так или иначе, переход с Mac OS X на Linux все равно оставит вас в курсе обучения (как это происходит с любым переключателем операционной системы). Это также зависит от того, сколько вы хотите узнать о глубине операционной системы - если вы делаете низкоуровневые вещи, такие как программирование драйверов, они будут сильно отличаться. Программирование высокого уровня, вероятно, будет очень похоже.

Тем не менее, есть много вещей, которые одинаковы. Вы уже заметили, что оболочка - вероятно bash, которая является обычной по умолчанию - такая же. Кроме того , многие из командной строки утилиты нравится ssh, rsync, top, ps, grepи оболочка на встроенные функции имя , но некоторые из них являются одинаковыми или очень похожими. Если вы в конечном итоге будете часто использовать терминал в Mac OS X, вы будете чувствовать себя как дома с терминалом в Linux.

Скотт
источник
2

Мне нравятся Mac, и они дают хороший (BSD) опыт работы с UNIX, но, строго говоря, если вы знакомитесь с Linux на вашем ПК, я чувствую, что есть лучшие альтернативы.

Я лично использую Cygwin на любой машине с Windows, которой я владею. Вы загружаете установщик с http://www.cygwin.com/setup.exe . Команды в основном те же, что и в GNU, которые запускает Linux, поэтому скрипты должны работать примерно так же, как в Linux (большая разница, как правило, в путях, с пробелами в имена файлов и путь к каталогу $ HOME гораздо более вероятны). Существуют также различные утилиты, помогающие объединить опыт UNIX / Windows, такие как cygpath, cygstart и т. Д.

Вы также можете попробовать запустить COLinux. Интересный порт ядра Linux для запуска в качестве процесса Windows и чистого взаимодействия с Windows. Я никогда не пробовал, но выглядит многообещающе. http://www.colinux.org/

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

И всегда есть двойная загрузка, но это сложнее настроить в Windows, чем в Mac Bootcamp.

Рич Гомолка
источник
2
Cygwin действительно привит bash на Windows, что становится слишком очевидным, когда вы пытаетесь делать unixy / bashy вещи с файлами, не локальными в вашем текущем рабочем каталоге. Пути Windows и Unix-пути едва ли говорят. Bash лучше, чем cmd.exe, а Windows лучше с Cygwin, чем без, но это немного грубоватый гибрид. Я говорю это как выздоравливающая жертва Windows, переехавшая в MacOS (и любящая ее и ее unix), теперь с одной ногой назад в лагере Windows, любезно предоставленном моим нынешним работодателем.
JRobert
Я понимаю вашу точку зрения, но, поскольку у вас есть возможность добавить огромный кусок инструментария UNIX, и он использует пути UNIX для них, вы все равно можете делать большой кусок UNIX-вещей в cygwin. Конечно, он сломается, если вы попытаетесь сделать что-то в Windows. Наши рабочие нагрузки, очевидно, отличаются, я считаю это невероятно полезным.
Богатая гомолка
Я не оспариваю ваш опыт с этим, и я продолжаю использовать его сам. Но я нахожу это сбивающим с толку около границы между ними и думая, что изучающий Linux мог бы найти это еще больше.
JRobert
0

Я бы сказал да, но не полностью. И это да зависит от того, как часто вы используете командную строку Mac (Терминал). Для разных целей я часто использую командную строку и вижу сходство между базой BSD OSX и Linux. Настолько, что я также стал называть Mac «linux правильно» (пожалуйста, не говорите, у меня есть веские причины! (Для меня)), говоря с точки зрения мощи / простоты использования , Конечно, между ними есть некоторые большие различия (например, установка приложения), но на низком уровне вы можете получить хорошее, базовое понимание linux благодаря частому использованию приложения терминала Mac.

Конечно, чтобы освоить Linux, вам нужно будет регулярно его использовать; и из моего личного опыта я бы предположил, что освоение Linux, как и все остальное, может занять годы использования, работы и обучения.

Аарон
источник