Terminale: i comandi base – Guide SlideToMac

Eccoci ad un nuovo appuntamenteo sulla guida del Terminale di Mac OS X. Nell’ultimo articolo abbiamo visto la gestione, seppure veloce, di alias e variabili utilizzati all’interno di una shell. Oggi, invece, andremo a scoprire i comandi base UNIX.

Chi conosce il DOS presente in Windows, sa che esistono alcuni semplici comandi che ci permettono di compiere operazioni di base.
Anche in ambiente UNIX, ovviamente, ce ne sono alcuni che, per forza di cose, saranno i più utilizzati.
Molti di questi avranno la possibilità di aggiungere delle opzioni per ampliare il comando stesso.
E’ bene ricordare, che al contrario del mondo Windows, il sistema UNIX è case sensitive: tutti i comandi sono sempre in caratteri minuscoli, mentre le opzioni potranno essere maiuscole o minuscole, con differenti risultati.

  • Spostarsi nel file system

Cominciamo, quindi, questa guida con uno dei comandi più semplici: “cd“.
Il comando “cd” viene utilizzato per muoversi tra una directory e l’altra: è lo stesso comando utilizzato in ambito Windows.
Per spostarsi basterà digitare:

cd PATH_DI_DESTINAZIONE

dove PATH_DI_DESTINAZIONE indica la directory dove vogliamo spostarci. Vi ricordo, come abbiamo visto nel precedente articolo, che è possibile utilizzare delle variabili per agevolare la digitazione del path.
Il comando non ha opzioni particolari tranne:

cd – : con questo comando si torna all’ultima directory visitata

cd : digitato in qualsiasi punto del file system, riporta alla nostra home.

Se non abbiamo personalizzato la nostra shell, potremmo aver necessità di sapere dove ci troviamo all’interno del file system.
Per farlo basterà utilizzare il comando “pwd”, ovvero l’acronimo di “print working directory”.
Digitando da riga di comando “pwd”, il sistema ci mostrerà in quale posizione del file system ci troviamo.

  • Visualizzare il contenuto delle cartelle

Passiamo ora ad esaminare come visualizzare il contenuto di una directory. Il comando, anche se velocemente, lo abbiamo già visto in un precedente articolo: “ls”.
E’ l’equivalente del comando “dir” su Windows.
Digitando il comando, il sistema visualizzerà l’elenco di file e cartelle presenti nella directory, senza nessun tipo di informazione aggiuntiva.
Il comando, senza nessun tipo di opzione, ci mostrerà l’elenco di file o cartelle presenti, visualizzando prima i file e successivamente le cartelle, in ordine alfabetico.
Ovviamente, per avere maggiori dettagli, esistono varie opzioni da poter inserire. Vediamo le più usate:

  • ls -l : in questo caso ci verranno indicate tutte le informazioni (se è un file o una cartella, la dimensione, i permessi, proprietario, gruppo di appartenenza, e data ultima modifica);
  • ls -L : in questo caso, se il file è un link simbolico, verranno mostrare le informazioni del file o della directory a cui il link si riferisce, non le informazioni del link stesso; nessun’altra informazione viene visualizzata;
  • ls -r : avremo un ordinamento alfabetico decrescente, senza informazioni aggiuntive;
  • ls -R : l’opzione “R” maiuscola sta per “recursive”; il comando ci mostrerà anche il contenuto delle directory;
  • ls -t : l’opzione “t” ci permette di ordina temporalmente i file; il primo visualizzato sarà quello modificato/creato più recentemente; nessun’altra informazione viene visualizzata.

Ovviamente, potremo combinare tra loro le varie opzioni per avere la visualizzazione più adatta.

  • Rinominare o spostare file e directory

Passiamo ora al comando per spostare o rinomare file o cartelle. Al contrario di Windows ove esiste un comando apposito per rinominare i file (nella fattispecie ren), in ambito UNIX per rinominare i file si utilizza lo stesso comando per spostare i file: “mv”.

Nel caso in cui volessimo rinominare un file (o una cartella) basterà digitare il seguente comando:

mv NOME_ORIGINALE NUOVO_NOME

Per postare, invece, un file (o una cartella) da un punto all’altro del file system, dovremo digitare:

mv FILE_DA_SPOSTARE DIRECTORY_DI_DESTINAZIONE

Poichè il comando viene utilizzato sia per lo spostamento che per la modifica del nome, potremo spostare e rinominare contemporaneamente il file.
Per farlo basterà:

mv FILE_DA_SPOSTARE DIRECTORY_DI_DESTINAZIONE/NUOVO_NOME

Fate sempre attenzione alle estensioni dei file e soprattutto agli spazi contenuti nel nome.
Solitamente, in ambito UNIX, non si utilizzano gli spazi: viene utilizzato il carattere “_” per separare i termini del nome del file.
Nel caso, comunque, vogliate utilizzare lo spazio basterà costruire il nome del file nel seguente modo:

“NOME\ FILE.ESTENSIONE”

senza le doppie apici.

Una piccola considerazione: fate sempre attenzione alle estensioni. Alcune applicazioni (come ad esempio TextWrangler) in fase di salvataggio del file non viene assegnata automaticamente l’estensione. Mac OS X è comunque in grado di gestirlo. Ricordate sempre di inserire le estensioni se dovete utilizzare i file anche in ambito Windows.

  • Copiare i file

Dopo aver visto come spostare file e cartelle, vediamo come copiare i file e le cartelle.
A differenza del comando mv, che è in grado si spostare tutta una directory, UNIX prevede che venga indicato specificatamente se effettuare la copia delle cartelle.
Il comando per copiare il file è il seguente:

cp NOME_FILE CARTELLA_DESTINAZIONE (o nome file in caso si voglia creare una copia del file nello stesso punto)

Il comando “cp” prevede molte opzioni, vediamo le più utilizzate.

  • cp -R : effettua la copia ricorsiva, ovvero copierà anche le directory e il loro contenuto;
  • cp -p : vengono mantenuti tutti gli attributi (data, permessi etc), se possibile verranno mantenuti anche utente e gruppo di appartenenza; i link simbolici non saranno copiati, nel caso in cui sia specificata l’opzione -R;
  • cp -P : con questa opzione, non sono considerati i link simbolici;
  • cp -L : verranno considerati anche i link simbolici.
Il comando “cp” è lo stesso di “copy” in ambito Windows.
  • Creare un file o una cartella

UNIX permette, ovviamente la creazione sia di cartelle vuote che di file vuoti. Vediamo quali sono i comandi.
Se volessimo creare un file vuoto basterà digitare:

touch nome_file

La directory, invece, viene creata nel seguente modo:

mkdir NOME_DIRECTORY

Il comando “touch” può essere utilizzato anche per aggiornare il timestamp di un file alla data attuale.

  • Eliminare file e directory

Ed eccoci giunti al comando per eliminare file e cartelle. Fate MOLTA attenzione all’uso del comando.
Prima di effettuare la cancellazione controllate sempre dove siete posizionati.
UNIX, tramite il comando sudo (o come utente root), permette di cancellare TUTTO il contenuto del disco.
Prestate sempre massima attenzione.

Il comando per la cancellazione di un file è:

rm NOME_FILE

Lo stesso comando, tramite le apposite opzioni, permette di cancellare anche intere directory. L’opzione è “r”:

rm -r NOME_DIRECTORY

Poichè UNIX chiede conferma sempre dei file da eliminare, si può ovviare la richiesta della conferma con l’opzione “f”:

rm -f NOME_FILE : cancella il file senza richiesta di conferma;

rm -rf NOME_DIRECTORY : cancella tutta la directory senza richiesta di conferma.

Il comando rm (sia per directory che per file) permette di cancellare più di un elemento alla volta, ad esempio:

rm -f NOME_FILE1 NOME_FILE2 NOME_FILE3

rm -rf NOME_FILE1 NOME_FILE2 DIRECTORY1 DIRECTORY2

Ricordate che la cancellazione ha effetto immediato: nessun file o directory verrà spotato nel cestino.

Se volete avere maggiori dettagli sui vari comandi, potete utilizzare l’help, con la seguente notazione:

man NOME_COMANDO

Siamo così giunti alla fine di questa guida.
Abbiamo analizzato come spostarsi nel file system e come compiere modifiche agli elementi presenti.

Vi ricordiamo che sono on line anche le seguenti guide:

sempre in riferimento all’utilizzo del Terminale UNIX.

Nel prossimo articolo affronteremo l’editor di testi nativo in tutti gli ambienti UNIX: il “vi“.

Di seguito, il video con la quale vi mostriamo l’utilizzo dei comandi indicati nella presente guida.

HotAcquista iPhone 15 su Amazon!
Guide Mac