Guida per principianti: i principali comandi del terminale Mac

Guida per principianti: i principali comandi del terminale Mac

Due parole introduttive, in questa nuova guida che ho scritto, 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.

Aprire più finestre del terminale

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

Impostare il colore della finestra del terminale

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

Come è fatto un comando del terminale: sintassi

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.

Comandi base: ls

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			

Comandi base: cd

cd non fa altro che farvi navigare nel filesystem:

Indietro di un livello:

cd ..

Alla root di sistema:

cd \

Tutti gli altri comandi

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

Come faccio a vedere la cartella in cui mi trovo?

er 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.

Come faccio a vedere il mio nome utente?

La crisi d’identità si risolve facilmente digitando:

whoami

Accedere come super utente / amministratore

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.

Editare file di testo con pico

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. Serve più che altro in SSH, in effetti, ma è opportuno conoscerlo per i casi di manutenzione di emergenza, ad esempio.

Mostrare i file nascosti del Mac

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.

Fare screenshot del terminale

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

Impostare i privilegi sui file: chmod

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 – altro discorso se vuoi sapere come usare chmod su WordPress.

Cancellare lo spazio libero in modo sicuro

Questo serve a evitare che i file cancellati siano recuperabili mediante vari tool, utile per la privacy se state pensando di vendervi un Mac ad esempio. 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.

Connettersi via SSH

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.

Pingare un host

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.

Testare se una pagina web funziona

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).

Cercare pattern in un file

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.

Cercare pattern in più di un file

Per cercare pattern di testo dentro tutti i file in una cartella, non dovrete fare altro che andare nella cartella desiderata e poi lanciare:

grep -lr "cosa cerchi" *

che cerca le occorrenze della frase “cosa cerchi” dentro tutti i file, in modo ricorsivo, a partire dalla posizione corrente.

Confrontare due file

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

diff -y firstfile secondfile

Fare un backup del Mac (Time Machine)

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

Monitorare i processi attivi

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

top

Killare o fermare un programma

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 vedi anche qui.

Web Hosting

Ti piace questo articolo?

18 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 9.56 / 10, da 18 utenti