Guida per principianti: i principali comandi del terminale Mac

Guida per principianti: i principali comandi del terminale Mac

Due parole introduttive sull’uso del terminale del Mac: si tratta di una shell che eredita i comandi di UNIX e che è stata integrata, nonchè parzialmente riprogrammata, dal team della Apple.

Cliccando con due dita sull’icona, dopo aver aperto la finestra, se ne possono lanciare più di una in contemporanea, eventualmente di colori differenti, utile ad esempio se state procedendo a lavorare su due o più cartelle diverse del sistema (ad esempio WWW e la directory di configurazione di un software).

Nota: qualsiasi comando eseguito via terminale può essere interrotto digitando CTRL C (necessario per interrompere i ping, ad esempio).

Screen 2014-08-04 alle 10.21.58

La prima cosa che impararemo a fare riguarda il colore della finestra, che può essere bianca su sfondo nero (Basic) ma ci sono anche molte altre combinazioni (Grass, Homebrew, …).

Screen 2014-08-04 alle 10.21.45

Compralo su Amazon: Apple MacBook Air a meno di 1000 euro

Premesso questo, bisogna inquadrare quella che è la struttura generale di un comando da terminale, che è caratterizzato da:

  1. nome;
  2. eventuali opzioni;
  3. argomento.

In pratica questa struttura corrisponderebbe ad un qualcosa tipo:

  1. cosa fare (ad esempio creare o cancellare un file);
  2. come farlo (in modalità binaria, come file di testo, oppure in modo permanente);
  3. dove farlo (ad esempio un file o una directory).

Ad esempio:

chmod -r 777 /path/to/something

in cui eseguiamo chmod con parametri -r 777 su /path/to/something.

0. I due comandi base da conoscere sono ls e cd: il primo permette di listare i file nella directory corrente, mentre il secondo vi permette di navigare nelle directory di sistema.

Alcuni esempi:

ls

che mostra, nella directory base:

Applications		bin			private
Contents		cores			prova.mat.wings
Incompatible Software	dev			sbin
Library			etc			sockets.log
Network			home			tmp
System			mach_kernel		usr
Users			net			var
Volumes			

mentre invece cd non fa altro che farvi navigare nel filesystem:

Indietro di un livello:

cd ..

Alla root di sistema:

cd \

1. Quanti sono i comandi disponibili? Per vedere la lista completa dei comandi (sono 1514 su Mavericks) lasciate premuto ESC e digitate Y quando richiesto.

2. Come faccio a vedere la cartella in cui mi trovo? Per vedere il nome del path (assoluto) della directory corrente, cioè il nome della cartella in cui vi trovate, digitate semplicemente:

pwd

che non è un comando relazionato con le password, bensì con l’acronimo print working directory.

3. Come faccio a vedere il mio nome utente? La crisi d’identità si risolve facilmente digitando:

whoami

4. Per accedere in modalità superuser ed avere il massimo dei privilegi, premettete a qualsiasi comando della forma vista al punto 0 con il comando su, esempio:

sudo command123 -p1 -p2 123 ...

Attenzione che se accedete in modalità su 1) vi sarà richiesta la password di root (che non apparirà mentre la digitate) 2) qualsiasi comando potrà essere eseguito, ivi compresa la cancellazione o modifica di file importanti. Fate quindi molta attenzione a come ne fate uso.

5. Il terminale Apple eredita molto dalla shell UNIX, e naturalmente ne contiene i suoi programmi più interessanti: uno dei miei preferiti è pico, un editor di testo abbastanza potente, che potete vedere digitando:

pico

oppure:

pico nomefile.txt

e su cui vi suggerisco un rapido tutorial (in inglese) prima di farne uso.

6. Il terminale è interessante perchè introduce parecchie opzioni a basso livello, non disponibili mediante interfaccia grafica e che, naturalmente, vanno impostate con piena consapevolezza di quello che si fa (leggasi: nella maggioranza dei casi è bene non “giocare” con questi comandi). Premesso questo, le potenzialità del terminale esplodono quando si scopre che puoi, ad esempio, mostrare i file nascosti nell’interfaccia grafica (utile in certi casi, si ripristina mandando il comando con FALSE al posto di TRUE):

defaults write com.apple.finder AppleShowAllFiles TRUE

defaults è il comando per accedere alle impostazioni di sistema di OS, e permette di effettuare moltissime operazioni simili.

7. Con CMD + SHIFT + 4 si crea una screenshot di una porzione di schermo (CMD + SHIFT + 3 di tutto): per cambiare il formato di generazione del file, e mettere ad esempio file JPG:

defaults write com.apple.screencapture type JPG

Per cambiare la cartella in cui vengono salvati i file degli screen:

defaults write com.apple.screencapture location ~/MiacartellaScreen

dove MiacartellaScreen va messa la cartella che volete, mentre ~/ (la “tilde”) sta ad indicare la home directory.

Per attivare subito le modifiche potete digitare di seguito:

killall SystemUIServer

8. Con chmod è possibile impostare i privilegi dell’utente sui file: il codice di tre cifre corrisponde al livello di permesso in lettura, scrittura ed esecuzione, e varia a seconda dei casi.

Esempio di massimo privilegio (sconsigliato nella maggioranza dei casi):

sudo chmod 777 /path/assoluto/fino/al/file.abc

che assegna tutti i permessi all’utente corrente, al gruppo e a tutti gli altri.

Esempio di permesso che imposta lettura, scrittura ed esecuzione (7) per il proprietario (prima cifra), e lettura ed esecuzione (i due 5) per gruppo (seconda cifra) ed altri (terza cifra).:

sudo chmod 755 /path/assoluto/fino/al/file.abc

chmod funziona sia su singoli file e cartelle, che in modo ricorsivo su gruppi di essi. Per maggiori informazioni leggere la documentazione ufficiale.

9. Come faccio a cancellare lo spazio libero via terminale? È presto detto:

diskutil secureErase freespace 3 /Volumes/name-of-drive

Attenzione che la cancellazione ripassa per 35 volte sullo spazio libero, per cui potrebbe richiedere molto tempo per essere completata, periodo nel quale è bene interrompere qualsiasi attività sul vostro Mac.

10. Come fare una connessione SSH? SSH serve a instaurare sessioni di lavoro remote su macchine esterne, ad esempio il vostro cloud o VPS. Per operare in questa direzione la sintassi tipica è la seguente:

ssh root@aaa.bbb.ccc.ddd

che permette di collegarsi come root all’IP aaa.bbb.ccc.ddd. Attenzione che queste connessioni sono normalmente regolamentate da un certificato di autenticazione che dovrete installare una tantum (vedi qui per i necessari approfondimenti).
Per approfondire la questione date uno sguardo ai vari tutorial di questo sito sull’argomento shell remota.

11. Per effettuare un ping su un host, cioè per valutare i suoi tempi di risposta, si scrive:

ping miohost.it

dove miohost.it può essere sostituito da un IP. Per testare il funzionamento di una pagina web basta invece digitare:

curl -V sito.it

che restituisce il markup della pagina e la sua risposta codificata (codice 200 per dire “tutto ok”, 404 per pagina mancante, 301 per redirect permanente, 302 per temporaneo, 500 per errore irreversibile e così via).

12. Per cercare pattern di testo nei vostri file utilizzerete grep:

grep -ic qualcosa file.txt

che cerca le occorrenze del pattern “qualcosa” dentro file.txt.

Per confrontare due file (ad esempio due versioni di codice), invece, si scrive:

diff -y firstfile secondfile

13. Per fare un backup del Mac si usa solitamente Time Machine, per quanto sia possibile controllarlo da terminale mediante tmutil. Per avviare un backup:

tmutil startbackup

per stopparlo:

tmutil stopbackup

14. Per controllare le prestazioni del Mac, ovvero tutti i processi in esecuzione al momento, digitate:

top

mentre per “uccidere” i processi indesiderati:

sudo kill PID-number

dove il PID-number viene indicato da top nella colonna corrispondente. Fate molta attenzione, anche qui, a quello che fate ed al perchè lo fate, perchè potreste facilmente compromettere il funzionamento del sistema.

Cerca prodotti Apple su Amazon.it

Per un elenco dei principali comandi del terminale Mac guarda anche qui.

Ti piace questo articolo?

15 voti

Su Trovalost.it puntiamo sulla qualità dei contenuti da quando siamo nati: la tua sincera valutazione può aiutarci a migliorare ogni giorno.

Guida per principianti: i principali comandi del terminale Mac

Votato 10 / 10, da 15 utenti