Un Mac mi aiuterà a imparare Linux?


10

Ho lavorato con un Mac la scorsa settimana per la prima volta in assoluto. Ho notato che la shell è molto simile a Linux. Normalmente sviluppo su una macchina Windows e tendo ad essere un noob in tutte le cose Linux. Un Mac mi aiuterà in questo, o peggiorerà le cose a causa delle piccole differenze nel sistema operativo del Mac?


1
Tutte e tre le risposte sono vere. Tutto dipende da cosa vuoi imparare. Come utente Terminale frequente, mi sento a casa quando devo fare cose da riga di comando su macchine Linux.
Daniel Beck

2
È necessario essere consapevoli, tuttavia, che molti strumenti di uso frequente ( cp, top, ...) hanno diverse opzioni della riga di comando, credo perché Mac OS X utilizza le versioni BSD.
Daniel Beck

Risposte:


11

Certamente non peggiorerà le cose. Esistono numerose somiglianze tra OS X e Linux e se stai iniziando a dilettarti con OS X, le differenze minori non saranno rilevanti al momento. Cose come la shell bash, strumenti di scripting e molte applicazioni shell Linux sono tutte disponibili per OS X.

Sviluppo regolarmente su OS X sul mio MacBook ed eseguo i miei programmi su una workstation Linux. Ci sarà un punto in cui dovrai imparare le differenze tra Linux e OS X (ad es. Come vengono gestiti i servizi) ma quando arriverai a quel punto, saprai dove trovare le informazioni di cui hai bisogno.


2
Non potrei essere più d'accordo. Ottenere un Powerbook (molto tempo fa) e OS X è ciò che ha stimolato il mio interesse per Unix in generale. Dopo alcuni mesi di attrezzamento attorno al Terminale, mi sono sentito abbastanza a mio agio da iniziare a attrezzare attorno al Terminale di una macchina Linux, e poi le cose sono andate fuori controllo da lì e sono diventato un enorme nerd * OS X è ancora il mio sapore di scelta però.
peelman,

5

Certamente.

OS X è un sistema operativo basato su UNIX conforme POSIX basato sul kernel XNU, che include molti strumenti Unix standard che possono essere esplorati da Terminal.app. A causa della conformità POSIX, molti programmi scritti per Linux possono essere ricompilati per essere eseguiti su di esso.

I progetti Fink e MacPorts possono aiutare ad estendere anche i set di strumenti con cui puoi imparare.


1
Con l'avvertenza che il sistema di finestre è completamente diverso. Se lavori esclusivamente con programmi terminali, funzioneranno. Se stai usando una GUI, devi preoccuparti della shell X11 in cima a tutto.
Tarka,

3

Linux ti aiuterà a imparare Linux. Linux potrebbe aiutarti a imparare il Mac. Non sono sicuro che Mac ti aiuterà a imparare Linux, comunque.

Hai ragione sul fatto che ci sono molte somiglianze tra Mac OS X e Linux. Questo perché entrambi sono basati su Unix. Vi sono tuttavia differenze sostanziali. Mac OS X è configurato per essere un sistema operativo consumer. Ciò significa che tutte le attività, tranne quelle più dettagliate e difficili, hanno un'interfaccia grafica che è piacevole e facile da usare. Linux è stato originariamente progettato come un progetto hobby e ora è utilizzato principalmente nei server. Per i normali utenti desktop Linux sta migliorando ogni giorno, ma molte altre attività di routine presuppongono semplicemente che è possibile utilizzare il terminale. A volte non esiste una GUI o non è installata per impostazione predefinita. A volte esiste una GUI, ma le istruzioni non sono aggiornate e fanno ancora riferimento al terminale, oppure l'autore usa il terminale solo per abitudine. In entrambi i casi, passare da Mac OS X a Linux ti lascerà comunque con una curva di apprendimento (come accade con qualsiasi interruttore del sistema operativo). Dipende anche da quanto vuoi conoscere le profondità del sistema operativo: se stai facendo cose di basso livello come la programmazione dei driver, saranno molto diverse. La programmazione di alto livello sarà probabilmente molto simile.

Detto questo, ci sono molte cose uguali. Hai già notato che la shell - probabilmente bash, che è un valore predefinito comune - è la stessa. Analogamente, molti di riga di comando programmi di utilità come ssh, rsync, top, ps, grepe fondamentali della shell per citarne alcuni sono uguali o molto simili. Se finisci per usare molto il terminale su Mac OS X, ti sentirai come a casa con il terminale su Linux.


2

Mi piacciono i Mac e offre una buona esperienza UNIX (BSD), ma rigorosamente per ottenere un'esperienza Linux sul tuo PC, penso che ci siano alternative migliori.

Personalmente utilizzo Cygwin su qualsiasi macchina Windows che possiedo. Si scarica il programma di installazione da http://www.cygwin.com/setup.exe I comandi sono sostanzialmente gli stessi GNU che Linux esegue, quindi gli script dovrebbero essere abbastanza simili a Linux (la grande differenza tende ad essere i percorsi, con spazi in nomi di file e percorso della directory $ HOME molto più probabili). Esistono anche varie utilità per unire l'esperienza UNIX / Windows, come cygpath, cygstart, ecc.

Puoi anche provare a eseguire COLinux. Una porta interessante del kernel Linux da eseguire come processo di Windows e interagire con Windows in modo pulito. Non l'ho mai provato, ma sembra promettente. http://www.colinux.org/

Se vuoi solo giocarci un po ', puoi sempre correre da un LiveCD o un'unità USB. Se vuoi solo provarlo, LiveCD va bene, ma se vuoi fare qualsiasi lavoro reale vorresti che un'unità USB fosse in grado di salvare e ottenere aggiornamenti.

E c'è sempre il doppio avvio, ma tende ad essere più difficile da configurare su Windows rispetto al Mac Bootcamp.


2
Cygwin è davvero innestato su Windows, il che diventa fin troppo evidente quando si tenta di eseguire operazioni unixy / bashy su file non locali nella directory di lavoro corrente. I percorsi di Windows e i percorsi unix sono a malapena termini in termini di parole. Bash è meglio di cmd.exe e Windows è meglio con Cygwin che senza, ma è un po 'un ibrido dai bordi grezzi. Lo dico come vittima di Windows che si sta riprendendo, si è trasferito su MacOS (e amandolo e il suo unix), ora con un piede indietro nel campo di Windows per gentile concessione del mio attuale datore di lavoro.
JRobert,

Vedo il tuo punto, ma dato che hai la possibilità di aggiungere un grosso pezzo del toolkit UNIX, e per questo usa percorsi UNIX, puoi ancora fare un grosso pezzo di cose UNIX in cygwin. Certo, si rompe se provi a fare le cose di Windows. I nostri carichi di lavoro differiscono ovviamente, lo trovo incredibilmente utile.
Rich Homolka,

Non contesto la tua esperienza con essa e continuo a usarla da solo. Ma lo trovo confuso vicino al confine tra i due e pensando che uno studente di Linux lo troverebbe anche più moreso.
JRobert,

0

Dovrei dire di sì, ma non del tutto. E che sì dipende dalla frequenza con cui usi la riga di comando del Mac (Terminale). Per varie cose, sono venuto a usare spesso la riga di comando e vedere le somiglianze tra la base BSD di OSX e Linux. Tanto che sono arrivato anche a riferirmi ai Mac come "Linux fatto bene" (per favore non infiammare, ho buone ragioni! (Per me)), parlando da un punto di vista della potenza / facilità d'uso . Certo, ci sono alcune grandi differenze tra i due (installazione di app, ad esempio) ma a basso livello, puoi ottenere una buona conoscenza di base di Linux tramite un uso frequente dell'applicazione Terminale del Mac.

Certo, per padroneggiare Linux dovrai usarlo regolarmente; e dalla mia esperienza personale immagino che padroneggiare Linux, come qualsiasi altra cosa, possa richiedere anni di utilizzo, armeggiamento e apprendimento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.