La Command Line Linux - Tutorial Comandi Base

La Command Line Linux. Alcuni comandi principali del terminale (Bash).

La Command Line Linux detta anche riga di comando è un programma del sistema operativo  che interpreta i comandi Linux che noi digitiamo. Possiamo definirla come un’interfaccia tra l’utente ed il sistema.

Prima di imparare ad utilizzare la Command Line Linux ti consiglio di leggere il precedente post introduttivo: Corso Base Linux. Kernel e le distribuzioni più famose al seguente link:

Corso Base Linux. Kernel e le distribuzioni più famose.

La Command Line Linux

Linux è un sistema operativo nato con un’interfaccia a riga di comando o CLI ( Command Line Interface ) che comunica direttamente con la shell. Cos’è la shell?

Come anticipavo nell’introduzione del post è un programma del sistema operativo che interpreta ed esegue i comandi di Linux digitati dall’utente nella linea comandi o richiesti dalle applicazioni. E’ l’interfaccia tra l’utente o le applicazioni e il kernel del sistema.

Nel sistema operativo Linux l’uso della shell può essere interattivo e non.

  • Le shell interattive ( shell di login ) attendono la digitazione del comando da parte dell’utente sulla linea comandi e lo eseguono. Sono comandi o procedure eseguibili soltanto dentro una sessione.
  • Le shell non interattive ( shell non di login ) eseguono i comandi, programmi, procedure in tutto il sistema operativo. I comandi sono eseguiti indipendentemente dalle sessioni.

Perché si usa la linea comandi

In origine, sui vecchi mainframe, i comandi erano impartiti tramite un terminale video. L’utente digitava un solo comando alla volta sulla linea del terminale e lo eseguiva premendo sul tasto Invio della tastiera. Nel corso degli anni Linux, come molti altri sistemi operativi, ha sviluppato anche un’interfaccia grafica o GUI ( Graphical User Interface ) che agevola la vita agli utenti con il desktop. E’ decisamente più user-friendly e gradevole da vedere. Tuttavia, la linea comandi è ancora oggi importante per gli amministratori del sistema. Spesso è indispensabile saperla usare.

Tipi di shell su Linux

Nel sistema Linux esistono diverse tipologie di shell. Quelle più comuni sono le seguenti:

  • BASH ( Bourne Again SHell ). E’ la più diffusa nelle distribuzioni e uno standard di Linux.
  • CSH ( C Shell )
  •  TCSH ( C Shell estesa )
  • KSH ( Shell Korn)

Command Line Linux: PWD (Print Working Directory)

Tutto in Linux è un file, man mano che avanzi in Linux capirai questo, ma per ora tienilo a mente. Ogni file è organizzato in un albero di directory gerarchico. La prima directory nel filesystem è giustamente chiamata directory root. La directory principale ha molte cartelle e file che è possibile memorizzare più cartelle e file, ecc.

La posizione di questi file e directory viene definita percorso. Se avessi una cartella chiamata home con una cartella al suo interno chiamata bart e un’altra cartella in quella cartella chiamata Movies, quel percorso sarebbe simile a questo: / home / bart / movies, piuttosto semplice eh?

La navigazione del filesystem, proprio come la vita reale, è utile se sai dove sei e dove stai andando. Per vedere dove ti trovi, puoi usare il comando pwd, questo comando significa “stampa directory di lavoro” e ti mostra solo in quale directory ti trovi, nota che il percorso deriva dalla directory principale.

Il terminale di Linux - Comando PWD
Il terminale di Linux – Comando PWD

Comando terminale Linux: CD (Change Directory)

Ora che sai dove ti trovi, vediamo se possiamo spostarci un po’ nel filesystem. Esistono due modi diversi per specificare un percorso, con percorsi assoluti e relativi.

Percorso assoluto: questo è il percorso dalla directory principale.  La directory principale viene comunemente visualizzata come una barra. Ogni volta che il tuo percorso inizia con / significa che stai iniziando dalla directory principale. Ad esempio, / home / bart / desktop.
Percorso relativo: questo è il percorso dal quale ci si trova attualmente nel filesystem. Se mi trovassi in location / home / bart / documents e volessi accedere a una directory all’interno di Documents denominata tax, non devo specificare l’intero percorso dalla radice come / home /Bart / Documents / tax, posso semplicemente andare su tax / invece.
Ora che sai come funzionano i percorsi, abbiamo solo bisogno di qualcosa che ci aiuti a passare alla directory che vogliamo. Fortunatamente, abbiamo cd o “cambia directory” per farlo.

$ cd / home / bart / immagini

Quindi ora ho cambiato la posizione della mia directory in / home / bart / immagini

$ cd Hawaii

Notate come ho appena usato il nome della cartella? È perché ero già in / home / bart / immagini

Può essere sempre stancante navigare con percorsi assoluti e relativi tutto il tempo, fortunatamente ci sono alcune scorciatoie per aiutarti.

. (directory corrente): questa è la directory in cui ti trovi attualmente.
.. (directory principale): Ti porta nella directory sopra la tua corrente.
~ (home directory): Questa directory viene impostata automaticamente sulla “home directory”. Come / home / bart
– (directory precedente): Questo ti porterà alla directory precedente in cui ti trovavi.

Altri comandi terminale Linux: ls (List Directories)

Ora che sappiamo come muoverci nel sistema, come possiamo capire cosa è presente all’interno della cartella?  Bene, possiamo usare il meraviglioso comando ls per elencare i contenuti della directory. Il comando ls elencherà directory e file nella directory corrente per impostazione predefinita, tuttavia è possibile specificare il percorso in cui si desidera elencare le directory.

$ ls

 
$ ls / Bart / pete

È uno strumento abbastanza utile, ti mostra anche informazioni dettagliate sui file e le directory che stai guardando.

Si noti inoltre che non tutti i file in una directory saranno visibili. Nomi di file che iniziano con il (.) sono nascosti, puoi comunque visualizzarli con il comando ls e passare il flag -a (a per tutti).

$ ls -a

C’è anche un altro utile comando ls, -l, che mostra un elenco dettagliato di file. Questo ti mostrerà informazioni dettagliate, partendo da sinistra: permessi dei file, numero di collegamenti, nome del proprietario, gruppo del proprietario, dimensione del file, data / ora dell’ultima modifica e nome del file / directory.

Command Line Linux - Comando LS
Command Line Linux – Comando LS

Affianco ai comandi possiamo aggiungere degli argomenti (argomenti o opzioni, qualunque cosa tu voglia chiamarlo) per aggiungere più funzionalità. In precedenza abbiamo aggiunto -a e -l, bene puoi aggiungerli entrambi insieme ls -la.

L’ordine degli argomenti determina in quale ordine va, la maggior parte delle volte questo non ha importanza, quindi puoi anche fare ls -al

$ ls -la

Comando touch

Impariamo a creare dei nuovi file. Un modo molto semplice è usare il comando touch. Touch ti consente di creare nuovi file vuoti.

$ touch mynewfile

Il touch viene anche utilizzato per modificare i timestamp su file e directory esistenti. Provalo, fai una ls -l su un file e annota il timestamp, esegui il comando Touch su quel file e aggiornerà il timestamp.

Esistono molti altri modi per creare file che permettono di aprire un editor di testo dal terminale Linux come nano.

Comando cat

Abbiamo visto come muoverci nei file, ma prima impariamo come leggere un file. Un comando semplice da usare è il comando cat, abbreviazione di concatenato, non solo mostra il contenuto del file ma può combinare più file e mostrarne l’output.

$ cat dogfile birdfile

Non è eccezionale per la visualizzazione di file di grandi dimensioni ed è pensato solo per contenuti brevi. Ci sono molti altri strumenti che usiamo per visualizzare file di testo più grandi di cui parleremo successivamente.

Comando Less

Se stai visualizzando file di testo più grandi di un semplice output, utilizziamo il comando Less. Il testo viene visualizzato in modo impaginato, quindi puoi navigare attraverso un file di testo pagina per pagina. Una volta che hai il comando less, puoi effettivamente usare altri comandi da tastiera per navigare nel file.

Utilizzare il seguente comando per  il comando Less:

  • q – Usato per uscire dal comando Less e tornare alla shell.
  • Pagina su, Pagina giù, Su e giù – Navigare usando i tasti freccia e i tasti pagina.
  • g – Passa all’inizio del file di testo.
  • G – Sposta alla fine del file di testo.
  • / cerca: è possibile cercare un testo specifico all’interno del documento di testo. Prefazione delle parole che si desidera cercare con /
  • h – Se hai bisogno di un piccolo aiuto su come usare il comando Less

Comando Copia CP

Iniziamo a fare alcune copie di questi file. Proprio come copiare e incollare file in altri sistemi operativi, la shell ci offre un modo ancora più semplice di farlo

$ cp mycoolfile / home / bart / Documents / cooldocs

mycoolfile è il file che si desidera copiare e / home / bart / Documents / cooldocs è il punto in cui si sta copiando il file.

È possibile copiare più file e directory e utilizzare i caratteri jolly. Un carattere jolly è un carattere che può essere sostituito da una selezione basata su pattern, offrendo maggiore flessibilità con le ricerche. È possibile utilizzare i caratteri jolly in ogni comando per una maggiore flessibilità.

  • * il carattere jolly dei caratteri jolly, viene utilizzato per rappresentare tutti i singoli caratteri o qualsiasi stringa.
  • ? usato per rappresentare un personaggio
  • [] utilizzato per rappresentare qualsiasi carattere tra parentesi

$ cp * .jpg / home / bart / immagini

 

Ciò copierà tutti i file con estensione .jpg nella directory corrente nella directory Pictures. Un comando utile è usare il flag -r, questo copierà ricorsivamente i file e le directory all’interno di una directory.

Prova a fare un cp in una directory che contiene un paio di file nella tua cartella Documents. Non ha funzionato, vero? Bene, perché dovrai copiare anche i file e le directory all’interno con il comando -r.

$ cp -r Pumpkin / / home / bart / Documents

Una cosa da notare, se copi un file in una directory che ha lo stesso nome file, il file verrà sovrascritto con qualsiasi cosa tu stia copiando. Questo non è un problema se si dispone di un file che non si desidera sovrascrivere accidentalmente. È possibile utilizzare il flag -i (interattivo) per richiedere all’utente di sovrascrivere un file.

Comando mkdir (Crea Cartella)

Avremo bisogno di alcune directory per archiviare tutti questi file su cui stiamo lavorando. Il comando mkdir (Crea directory) è utile per questo, creerà una directory se non esiste già. Puoi anche creare più directory contemporaneamente.

$ mkdir libri dipinti

Puoi anche creare sottodirectory contemporaneamente con -p (flag parent).

$ mkdir -p books / hemmingway / favourites

La Command Line Linux: lista comandi terminale

Non riesco in un unico post ad elencarti tutti i comandi che possiamo dare in pasto al terminale ma per farti cosa gradita al seguente link puoi scaricare un file con tutti i comandi della Command Line Linux. Clicca qui!

Conclusione

In questo secondo articolo abbiamo visto i comandi base della Command Line Linux. Ti aspetto per il prossimo post sui comandi per la gestione e manipolazione dei file di testo da terminale.

 

Autore Bartolomeo

Consulente tecnico con la passione per il web e la tecnologia e tutto quello che le ronza intorno.
Nel tempo libero scrivo articoli per il mio blog su argomenti vari, in particolare su configurazione Windows, Linux e WordPress.

Condividi questo articolo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Ho letto la policy privacy e accetto il trattamento dei miei dati personali in conformità al D.Lgs. 196/2003