Чи допоможе мені Mac вивчити Linux?


10

На минулому тижні я працював з Mac вперше в історії. Я помітив, що оболонка дуже схожа на Linux. Я, як правило, розвиваюся на машині Windows і, як правило, є нобієм Linux. Чи допоможе мені Mac у цьому, чи це погіршить мене через незначні відмінності в ОС Mac?


1
Усі три відповіді вірні. Все залежить від того, що ви хочете навчитися. Як часто користувач терміналів, я відчуваю себе як вдома, коли мені потрібно робити завдання командного рядка на машинах Linux.
Даніель Бек

2
Ви повинні знати, однак, що багато часто використовувані інструменти ( cp, top, ...) мають різні параметри командного рядка, я думаю , тому що Mac OS X використовує версію BSD.
Даніель Бек

Відповіді:


11

Це, звичайно, не погіршить ситуацію. Існує чимало подібностей між OS X та Linux, і якщо ви починаєте посперечатися з OS X, незначні відмінності зараз не будуть актуальними. Такі речі, як bash shell, сценарії інструментів та багато додатків оболонки Linux, доступні для OS X.

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


2
Не можу погодитися більше. Отримання Powerbook (зворотній час) та OS X - це те, що спонукало мене зацікавити Unix загалом. Після декількох місяців інструментації навколо Терміналу мені стало досить зручно, щоб почати інструментувати навколо терміналу машини Linux, а потім щось звідти вийшло з-під контролю, і я став величезним * nix nerd ... OS X все ще мій смак вибору, хоча.
peelman

5

Звичайно.

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

У Fink і MacPorts проекти можуть допомогти розширити набори інструментів ви можете дізнатися з а.


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

Мені подобаються Macs, і він дає хороший досвід (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 дійсно прищеплений на Windows, що стає занадто очевидним, коли ви намагаєтеся робити unixy / bashy речі для файлів, не локальних для вашої поточної робочої каталоги. Шляхи до Windows та unix-шляхи ледь не розмовляють. Bash краще, ніж cmd.exe, а Windows краще з Cygwin, ніж без, але це трохи грубий гібрид. Я кажу про це як жертву Windows, що одужає, переїхав до MacOS (і люблю його та його unix), тепер однією ногою в таборі Windows з люб’язності мого поточного роботодавця.
JRobert

Я бачу вашу думку, але оскільки у вас є можливість додати величезний фрагмент набору інструментів UNIX, і він використовує для цього шляхи UNIX, ви все одно можете зробити великий фрагмент речей UNIX у cygwin. Зрозуміло, він все одно виходить з ладу, якщо ви намагаєтеся робити речі Windows. Наші навантаження очевидно відрізняються, я вважаю це неймовірно корисним.
Багата Гомолка

Я не суперечу вашому досвіду з цим і продовжую сам користуватися ним. Але я вважаю це заплутаним біля кордону між ними та думаю, що учень, який навчається за Linux, знайде це ще більше.
JRobert

0

Я мав би сказати «так», але не повністю. І це так, залежить від того, як часто ви використовуєте командний рядок Mac (Terminal). Для різних речей я часто використовую командний рядок і бачу подібність між базою BSD для OSX та Linux. Настільки, що я також став називати Маки як "Linux зроблено правильно" (будь ласка, не полум’я, у мене є вагомі причини! (Для мене)), кажучи з точки зору влади / простоти у використанні . Звичайно, існують великі відмінності між ними (наприклад, установка додатків), але на низькому рівні ви можете отримати хороше, базове розуміння linux завдяки частому використанню додатка Terminal Mac.

Звичайно, для освоєння linux вам потрібно буде регулярно використовувати його; і зі свого особистого досвіду я б здогадався, що оволодіння Linux, як і все інше, може зайняти роки використання, майстерності та навчання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.