Comandi essenziali del terminale macOS che devi conoscere [Guida]

Pubblicato: 2021-06-30

Un terminale è un'applicazione su sistemi operativi basati su Unix che fornisce un'interfaccia a riga di comando (o CLI), in modo da poter interagire con la shell del sistema operativo e accedere/controllare i suoi diversi servizi.

macOS terminal commands
IMMAGINE: Pixabay

Su macOS, il terminale è opportunamente chiamato Terminale e utilizza la shell Z (Zsh) come shell di accesso predefinita. (Prima di macOS Catalina, Apple utilizzava la shell Bash come shell predefinita). Utilizzando questo terminale, puoi navigare facilmente nelle directory di sistema, copiare/spostare file, ottenere informazioni di sistema, accedere in remoto in modo sicuro ad altri sistemi e automatizzare attività/azioni sul tuo Mac in modo efficiente.

Tuttavia, per eseguire una di queste azioni, è necessaria familiarità con i comandi del terminale (e le relative sintassi). In questa guida tratteremo tutti i comandi essenziali di macOS Terminal che devi conoscere e come usarli in modo efficace sul tuo Mac.

Sommario

Comandi essenziali del terminale macOS

L'esecuzione di comandi su qualsiasi sistema operativo richiede un terminale. macOS ne è già dotato e puoi trovarlo in Applicazioni> Utilità . In alternativa, puoi utilizzare la ricerca Spotlight per cercare Terminale.

Inoltre, puoi anche aggiungerlo al tuo dock per un rapido accesso. Per questo, esegui Terminal, fai clic con il pulsante destro del mouse sulla sua icona nel dock e seleziona Opzioni > Mantieni nel Dock .

Aprendo la finestra del Terminale viene visualizzato il prompt dei comandi del Mac che sembra una scatola nera. Ora, tutto ciò che devi fare è digitare un comando da terminale e premere Invio per eseguirlo.

Per tua comodità, abbiamo classificato i comandi della riga di comando in diverse categorie in modo che sia più facile seguirli:

1. Comandi di base del terminale

Prima di passare ai comandi Terminal specifici dell'azione, di seguito sono riportati alcuni comandi di base che dovresti conoscere.

io. uomo

Il comando man visualizza un manuale utente del comando per il quale si esegue la query. Usandolo, puoi ottenere maggiori informazioni su un comando, come la sua descrizione, l'utilizzo, le opzioni disponibili e le variazioni, tra le altre cose.

Per esempio:

man cd

ti darà tutti i dettagli che devi sapere sul comando cd (cambia directory).

ii. chiaro

Come suggerisce il nome, il comando clear cancella la shell e ti dà una finestra vuota per inserire i tuoi comandi. Quindi, se hai la finestra del Terminale piena di risultati di tutti i tuoi comandi precedenti, esegui semplicemente il comando per ottenere una tabula rasa.

iii. sudo

sudo è il comando da terminale più potente. Ti dà i privilegi di amministratore (root) per eseguire azioni su macOS. Dovrai usarlo quando vuoi eseguire un comando che richiede l'accesso come superutente.

Ad esempio, se desideri spegnere il Mac tramite Terminale, dovrai eseguire:

sudo shutdown

e inserisci la tua password utente per eseguire il comando.

iv. storia

Il comando cronologia è utile quando vuoi scoprire tutti i comandi che hai eseguito in passato. Ad esempio, se hai disabilitato/abilitato alcuni servizi sul tuo Mac ma non ricordi esattamente il suo nome o il comando che hai utilizzato, puoi utilizzare questo comando per scoprire il servizio e annullare l'azione.

Anche su TechPP

2. Navigazione nelle directory

Lo spostamento tra directory o cartelle diverse è una delle azioni di base che dovrai eseguire per navigare nel tuo file system. Dovrai eseguirlo quando desideri creare un nuovo file, spostare un file tra directory o avviare programmi all'interno di una directory.

Tuttavia, prima di cambiare directory o cartelle, è importante conoscere la directory di lavoro attuale. Per fare ciò, esegui:

pwd

Allo stesso modo, potrebbe anche essere necessario visualizzare il contenuto di una directory o di una cartella per identificare se contiene il file/la directory a cui si desidera accedere. Usa il comando seguente e le sue variazioni per farlo in modo efficace:

ls

Per una ripartizione dettagliata:

ls -l

Per visualizzare tutto il contenuto di una directory, inclusi i file e le directory nascosti:

ls -al

Dopo aver identificato la directory di lavoro corrente e la directory in cui si desidera navigare, il comando cd ti aiuterà a spostarti tra le directory. Quella che segue è una spiegazione di come usarlo.

Per andare alla directory Home:

cd

o

cd ~

Quando vuoi spostarti in una particolare directory o cartella:

cd directory_name

Per esempio:

cd Downloads

Per passare alla directory principale:

cd ..

Se vuoi tornare alla directory o cartella di lavoro precedente:

cd -

Infine, quando devi andare alla directory principale, esegui:

cd /

3. Gestione delle directory

Dopo aver navigato nella directory o cartella desiderata, puoi eseguire diverse operazioni lì, dalla creazione e modifica di nuove directory all'eliminazione di quelle esistenti.

Per creare una directory, eseguire:

mkdir directory_name

Quando desideri creare più directory o cartelle contemporaneamente:

mkdir directory_name_1 directory_name_2 directory_name_3

Se vuoi rimuovere/eliminare una directory o una cartella, esegui:

rmdir directory_name

Per le volte in cui desideri eliminare una directory non vuota, puoi utilizzare l'opzione -R (ricorsiva) per eliminare la directory/cartella insieme a tutto il suo contenuto:

rm -R directory_name

4. Gestione dei file

Proprio come la gestione delle directory, Terminal ti consente anche di eseguire operazioni sui file, quindi puoi creare nuovi file, modificarli ed eliminare quelli che non ti servono.

Per creare un file:

touch file_name

Se vuoi creare e modificare un file, esegui:

nano file_name

che aprirà il file nell'editor di testo Nano. In alternativa, se preferisci usare un altro editor di testo, sostituisci nano con il nome di quell'editor nel comando precedente.

Per visualizzare il tipo di file di un file sul tuo Mac:

file file_name

Per le volte in cui desideri copiare un file dalla directory corrente in un'altra directory/cartella, esegui:

cp file_name directory_name

Per esempio:

cp myfile ~/Desktop/MyDocs

Se è necessario copiare un file nella stessa directory, ma con un nome diverso:

cp file_name new_file_name

Oltre alla copia, a volte è necessario spostare i file tra directory diverse. Quando si presentano tali esigenze, è possibile spostare un file dalla directory corrente a un'altra directory con:

mv file_name directory_name

Per esempio:

mv myfile ~/Documents/MyDocs

Inoltre, il comando mv funge anche da comando di ridenominazione. Per usarlo per rinominare il tuo file, usa la seguente sintassi:

mv current_file_name new_file_name

Quando vuoi rimuovere/eliminare un file, esegui:

rm file_name

5. Installazione di programmi utilizzando i comandi di Terminale

macOS viene preinstallato con il gestore di pacchetti Homebrew, che ti consente di installare programmi sul tuo Mac utilizzando il Terminale. In un certo senso, è un modo molto più semplice per installare app sul tuo computer, al contrario del modo tradizionale in cui dovresti eseguire una serie di passaggi.

Per aggiornare il repository Homebrew, esegui:
brew update

Se vuoi aggiornare tutti i pacchetti installati sul tuo sistema:
brew upgrade

Quando è necessario installare un'applicazione basata su GUI, dovremo utilizzare Cask:
brew install --cask program_name

Per esempio:
brew install --cask vlc

Se si tratta di un programma non GUI:
brew install program_name

Nota che non tutti i pacchetti/programmi possono essere installati subito: potresti dover aggiungere il loro repository di origine per recuperarli prima di eseguire il comando install.

Infine, se vuoi rimuovere un programma, usa:
brew uninstall program_name

6. Gestione della rete

macOS ti consente di visualizzare informazioni dettagliate sulla configurazione di rete direttamente dalla finestra Terminale. Sebbene sia possibile utilizzare la GUI per visualizzare tali informazioni, l'approccio CLI rende l'intero processo rapido e semplice e consente di risparmiare passaggi aggiuntivi.

Una delle operazioni di rete più basilari consiste nel eseguire il ping di un sito Web/indirizzo IP per verificare la connettività. Per fare ciò, inserisci:

ping hostname

Per esempio:

ping google.com

o

ping 142.250.192.14

Se desideri visualizzare l'indirizzo IP e l'indirizzo MAC del tuo dispositivo, esegui:

ifconfig en0

Per trovare l'indirizzo IP e l'indirizzo MAC di tutti i dispositivi collegati alla tua rete:

arp -a

Quando hai bisogno di informazioni sulle connessioni in entrata e in uscita al tuo Mac, usa:

netstat

Per trovare tutti i processi in esecuzione sul tuo Mac che hanno una connessione Internet attiva:

lsof

Per ottenere maggiori informazioni su un dominio, utilizzare:

whois domain_name

Per esempio:

whois google.com

Se vuoi identificare il percorso (e gli hop) attraversato dai pacchetti dal tuo dispositivo e al loro indirizzo di destinazione, esegui:

traceroute hostname

Per esempio:

traceroute google.com

7. Gestione del processo

Se hai mai aperto l'app Activity Monitor sul tuo Mac, avresti visto tutti i processi attivi in ​​esecuzione sul tuo sistema. Questi processi possono essere app di sistema, app di terze parti o altri servizi in background richiesti dal sistema operativo.

Anche se, in generale, non incontreresti problemi con questi processi, a volte quando ne hai molti in esecuzione sul tuo dispositivo, fino a un punto in cui è vicino al limite massimo di memoria/CPU, potresti riscontrare un certo ritardo sul tuo sistema.

Un modo per affrontarlo è utilizzare l'app Activity Monitor. Tuttavia, un modo molto più semplice per farlo è utilizzare il Terminale.

Il primo passaggio consiste nell'identificare i processi in esecuzione sul sistema. Per fare ciò, esegui:

ps -ax

In alternativa, se desideri conoscere lo stato dei principali processi attualmente in esecuzione, puoi farlo con:

top

Premere q o control + C per interrompere.

Ora, se noti un processo sconosciuto o un processo che sta consumando molte delle tue risorse nell'output di uno qualsiasi dei comandi precedenti, puoi ottenere maggiori informazioni al riguardo eseguendo:

ps -ax | grep program_name

Per esempio:

ps -ax | grep Safari

Qui puoi vedere il nome dell'applicazione sotto la colonna CMD. Di solito è elencato con il percorso assoluto del programma/applicazione.

Dopo aver appreso di più sul processo, se trovi la necessità di terminarlo, esegui:

sudo killall program_name

Ex:

sudo killall systemuiserver

o

sudo kill PID

Poiché stiamo eseguendo il comando kill/killall con sudo, dovrai inserire la tua password utente dopo aver inserito il comando per eseguirlo.

8. Gestione delle autorizzazioni

Le autorizzazioni su un sistema operativo definiscono chi può accedere e modificare file/directory su un computer. Se hai più utenti che condividono lo stesso sistema, puoi impostare le autorizzazioni per ciascun utente per limitare il loro accesso e impedire loro di visualizzare o modificare i file del tuo sistema (o altri).

L'impostazione delle autorizzazioni sul Terminale è abbastanza semplice una volta che hai imparato la sua sintassi. Tuttavia, prima di passare ad esso, la prima cosa che devi fare è identificare i permessi del file per il file che desideri modificare. Per fare ciò, digita:

ls -al file_name

Dovresti essere in grado di vedere i permessi dei file sul lato sinistro dell'output. Un permesso per file/directory di solito comprende undici caratteri: il primo carattere indica se si tratta di un file o una directory, i nove caratteri successivi indicano i permessi (e sono divisi in gruppi di tre e il carattere finale identifica se il file/directory contiene attributi.

Il primo carattere è sempre un trattino ( ) o una lettera ( d ): il primo rappresenta un file, mentre il secondo una directory. Passando ai successivi nove caratteri, questi sono divisi in tre gruppi: proprietario di file/directory, gruppo e altri permessi utente. Ognuna di queste nove posizioni è occupata dai seguenti caratteri: (nessuna autorizzazione), r (lettura), w (scrittura) o x (esegui).

Mettendo insieme questi caratteri, puoi impostare i permessi per un file/directory. Ecco come si possono formare i permessi:

  • non rappresenta alcuna autorizzazione di lettura, scrittura, esecuzione.
  • r– mostra solo il permesso di lettura.
  • rw- significa che il file può essere solo letto e scritto.
  • rwx significa che il file può essere letto, scritto ed eseguito.
  • rx significa che il file può essere solo letto ed eseguito.

In alternativa, puoi anche usare la notazione numerica, in cui i caratteri sopra sono sostituiti da numeri. Costituisce un totale di otto numeri, ed ecco una ripartizione di ciò che rappresentano:

  • 0 – nessuna autorizzazione
  • 1 – eseguire
  • 2 – scrivi
  • 3 – esegui e scrivi
  • 4 – leggi
  • 5 – leggi ed esegui
  • 6 – leggi e scrivi
  • 7 – leggi, scrivi ed esegui

Infine, l'undicesimo carattere nella notazione di autorizzazione è @ . Viene definito attributo esteso ed è univoco per file e directory specifici.

Con le nozioni di base, ecco come incorporare le informazioni di cui sopra per impostare le autorizzazioni.

Per impostare le autorizzazioni di lettura, scrittura ed esecuzione per tutte e tre le classi di accesso, eseguire:

chmod ugo+rwx file_name

Nella rappresentazione numerica, dovrai usare:

chmod 777 file_name

Per fare lo stesso per tutti i file di testo in una directory:

chmod ugo+rwx *txt

Quando è necessario fornire a tutte le classi utente la stessa autorizzazione:

chmod a+rwx file_name

Se desideri impostare l'autorizzazione in modo che la classe utente ottenga tutti e tre gli accessi mentre il gruppo ottiene l'accesso in lettura e scrittura e gli altri utenti ottengono solo l'accesso in lettura, dovrai utilizzare il comando seguente:

chmod ugo+rwxrw-r-- file_name

Con la rappresentazione numerica:

chmod 764 file_name

Per rimuovere le autorizzazioni di scrittura ed esecuzione per il gruppo e le classi di altri utenti, immettere:

chmod go-wx file_name

o

chmod 744 file_name

Se hai difficoltà a utilizzare la rappresentazione numerica, puoi utilizzare un calcolatore chmod per dedurre la denotazione di autorizzazione per i tuoi requisiti di autorizzazione.

9. Gestione della proprietà

Sebbene chmod ti dia la possibilità di modificare i permessi di file/directory per limitarne l'accesso, non ti consente di stabilire chi possiede un file/directory. È qui che entra in gioco il comando chown e ti aiuta a cambiare la proprietà di file/directory sul tuo Mac.

Nel caso in cui non sei sicuro di quale comando usare quando, ecco un consiglio: se vuoi cambiare ciò che gli utenti sul tuo Mac possono fare con i tuoi file, hai bisogno di chmod, mentre quando vuoi cambiare chi possiede un file, hai bisogno di chown .

Per modificare la proprietà di un file, utilizzare la seguente sintassi:

chown user name file_name

Per esempio:

chown user1 myfile

Per conoscere il tuo nome utente, esegui whoami nel Terminale. In alternativa, per trovare un elenco di tutti gli utenti sul tuo Mac, inserisci:

ls /users

Successivamente, se desideri modificare la proprietà di un file/directory a cui non hai accesso, puoi utilizzare sudo per forzare le modifiche:

sudo chown user_name path/to/file

Nota che dovrai anche anteporre il percorso assoluto (cioè il percorso dalla directory principale) per il tuo file. Ad esempio, se il tuo file è in Documenti, dovrai usare la seguente sintassi ~/Documents/Directory_Name/File_Name.

Per esempio:

sudo chown user1 ~/Documents/MyFolder/myfile

Usa il tuo Mac in modo efficiente con i comandi del terminale

Abbiamo appena scalfito la superficie con i comandi Terminale in questo elenco: c'è una sfilza di altri comandi che puoi usare per eseguire praticamente tutti i tipi di azioni sul tuo Mac.

Tuttavia, detto questo, i comandi che abbiamo elencato sopra ti aiuteranno sicuramente a entrare in possesso del Terminale e ti permetteranno di usarlo in modo efficace per eseguire azioni banali sul tuo Mac in modo rapido ed efficiente. E col tempo, man mano che acquisirai familiarità con esso, sarai in grado di usarlo in modo più competente.