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.
- 1) Aprire più finestre del terminale
- 2) Impostare il colore della finestra del terminale
- 3) Come è fatto un comando del terminale: sintassi
- 4) Comandi base: ls
- 5) Comandi base: cd
- 6) Tutti gli altri comandi
- 7) Come faccio a vedere la cartella in cui mi trovo?
- 8) Come faccio a vedere il mio nome utente?
- 9) Accedere come super utente / amministratore
- 10) Editare file di testo con pico
- 11) Mostrare i file nascosti del Mac
- 12) Fare screenshot del terminale
- 13) Impostare i privilegi sui file: chmod
- 14) Cancellare lo spazio libero in modo sicuro
- 15) Connettersi via SSH
- 16) Pingare un host
- 17) Testare se una pagina web funziona
- 18) Cercare pattern in un file
- 19) Cercare pattern in più di un file
- 20) Confrontare due file
- 21) Fare un backup del Mac (Time Machine)
- 22) Monitorare i processi attivi
- 23) Killare o fermare un programma
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).
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, …).
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:
- nome;
- eventuali opzioni;
- argomento.
In pratica questa struttura corrisponderebbe ad un qualcosa tipo:
- cosa fare (ad esempio creare o cancellare un file);
- come farlo (in modalità binaria, come file di testo, oppure in modo permanente);
- dove farlo (ad esempio un file o una directory).
Ad esempio:
chmod -r 777 /path/to/some/file
in cui eseguiamo chmod (che è il comando utile per impostare i permessi di qualsiasi file o directory) con parametri -r 777 su /path/to/some/file.
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, quindi ad esempio:
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?
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.
Come faccio a vedere il mio nome utente?
La crisi d’identità , ovvvero scoprire quale sia il proprio nome utente nel Mac, 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, in questo caso leggi qui.
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 [email protected]
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
è venuto il momento di passare in rassegna i vari shortcut, i comandi base e quelli per la gestione dei file.
Alcuni sono identici a quelli che utilizzereste in ambiente Linux, in particolare in una derivazione della FreeBSD, con la differenza che nel terminale Mac ci sono comandi extra, in alcune circostanze non molto ben documentati.
Se avete un Macbook o un altro computer Apple recente, questi sono i principali comandi che potrete impartire al sistema: sono tratti da questa pagina di GitHub che ho tradotto (ed in parte esteso) per vostra comodità , anche basandomi su una delle migliori guide in circolazione (quella di MacRumors).
Cerca prodotti Apple su Amazon.it
Attenzione: utilizzateli sempre con la massima cautela e cercando di capire bene quello che state facendo. I comandi “a rischio” potrebbero cancellare o alterare file del sistema, per quanto nel farlo sarà sempre attiva la protezione su (SuperUser), che consiglio di sfruttare solo in caso di reale necessità .
Buona consultazione!
SHORTCUT o “abbreviazioni” mediante tastiera
Tasto | Cosa fa? |
---|---|
Ctrl + A | Sposta il cursore ad inizio riga |
Ctrl + E | Sposta il cursore ad fine riga |
Ctrl + L | Pulisce lo schermo |
Command + K | Pulisce lo schermo |
Ctrl + U | Azzera la riga che state scrivendo |
Ctrl + H | Backspace |
Ctrl + R | Cerca nello storico dei comandi |
Ctrl + C | Stoppa qualsiasi processo attivo nella finestra |
Ctrl + D | Esce dalla shell del terminale |
Ctrl + Z | Mette in esecuzione in background il processo correntemente attivo, fg lo rimette in attività |
Ctrl + W | Cancella l’ultima parola digitata |
Ctrl + K | Cancella la linea prima del cursore |
Ctrl + T | Scambia gli ultimi due caratteri prima del cursore |
Ctrl + F | Sposta il cursor un carattere avanti |
Ctrl + B | Sposta il cursor un carattere indietro |
Esc + F | Sposta il cursor un carattere avanti |
Esc + B | Sposta il cursor un carattere indietro |
Esc + T | Scambia le ultime due parole prima del cursore |
Tab | Completa in automatico il nome del comando di sistema, proponendovi più suggerimenti se esistono |
 COMANDI PRINCIPALI DEL TERMINALE
cd | Vai alla directory home |
cd [directory] | Vai alla [directory] – può essere un path assoluto o relativo alla posizione in cui vi trovate nella directory |
cd ~ | Vai alla directory home (~ si fa con ALT 5) |
cd / | Vai alla root del sistema (da qui in poi cautela) |
ls | Mostra file e directory nella cartella corrente |
ls -l | Mostra file e directory nella cartella corrente con maggiori dettagli |
ls -a | Mostra file e directory nella cartella corrente mostrando i file nascosti |
ls -lh | Mostra file e directory nella cartella corrente con maggiori dettagli in forma leggermente più leggibile |
ls -R | Scopri il contenuto di una cartella corrente in modo ricorsivo (può richiedere molto tempo, se lo fate nella cartella root scoprirà , per intenderci, l’intero contenuto dell’hard disk) |
sudo [comando] | Esegue il [comando] specificato in modalità Super User (maneggiare con cautela) |
open [file] | Apre il [file] esattamente come se ci faceste doppio-click |
top | Mostra i processi attivi nel sistema – utile per capire se ci siano malware o processi che occupano troppe risorse (premi Q per uscire) |
nano [file] | Apre il [file] con l’editor nano (guida ufficiale) |
pico [file] | Apre il [file] con l’editor pico (guida ufficiale) |
q | Esce dal terminale |
clear | Pulisce interamente lo schermo |
STORICO COMANDI
history k | Mostra gli ultimi k comandi digitati |
ctrl-r | Cerca tra gli ultimi comandi digitati |
![abc] | Riesegue l’ultimo comando che inizia con ‘abc’ |
!! | Riesegue l’ultimo comando |
GESTIONE FILE
touch [file] | Crea un nuovo [file] |
pwd | Mostra il path della directory corrente |
.. | Mostra la directory padre della corrente |
ad esempio: cd .. torna indietro di un livello | |
ad esempio: cd ../../ torna indietro di due livelli | |
. | Mostra la directory corrente |
cat [file] | Mostra il contenuto di [file] a schermo |
rm [file] | Cancella un [file] (usare con cautela) |
rm -i [file] | Cancella un [file] chiedendo conferma (usare con cautela) |
rm -r [dir] | Cancella un [file] in modo ricorsivo (usare con molta cautela) |
rm -f [file] | Cancella un [file] senza chiedere conferma (usare con molta cautela) |
cp [x] [y] | Crea una copia del file [x] con nome [y] |
cp [file] [dir] | Copia [file] nella [directory] |
mv [file] [dove-cosa] | Sposta (ma anche rinomina) [file] come / in [dove-cosa] |
GESTIONE DIRECTORY
mkdir [directory] | Crea [directory] |
mkdir -p [altra]/[directory] | Crea [altra]/[directory] |
rmdir [directory] | Cancella directory (solo se sono vuote, usare con cautela) |
rm -R [directory] | Cancella ricorsivamente directory (usare con cautela) |
 PIPE
more | Mostra il contenuto dell’output del comando in finestre progressive |
> [file] | Scrive l’output su file (sovrascrive i vecchi contenuti) |
>> [file] | Scrive l’output su file (appende i vecchi contenuti) |
< | Dice al comando di leggere da file l’input |
 AIUTO & GUIDE INTEGRATE
[comando] -h | Mostra aiuto per il [comando] |
[comando] —help | Mostra aiuto per il [comando] |
[comando] help | Mostra aiuto per il [comando] |
reset | Reset del display del terminale |
man [comando] | Mostra aiuto per il [comando] |
whatis [comando] | Mostra descrizione del [comando] |
Compralo su Amazon: Apple MacBook Air
Da non perdere 👇👇👇
- 🔒 Conosci meglio privacy e diritti digitali
- 👩💻 Impara a programmare in Python, C++, PHP
- 💻 Configura hosting e domini
- 📊 Tutto sui database
- 🛠️ Approfondisci le nuove tecnologie
- 🎮 Esplora la sezione retrogame
- 👀 Guarda i migliori servizi in offerta
- 🏁 Usa al meglio Excel
- 💬 Il nostro canale Telegram: iscriviti
- 🧐 *2767*3855#: effettuare un hard reset
- 😬 Matrioska: significato, storia e aneddoti
- 😳 Cosa c’era nel software segreto di NSA?