Linux Per Principianti: Terminale Ubuntu

Comandi di base per la gestione del file system


Ho introdotto nell'articolo precedente, consultabile qui, i concetti base relativi al mondo del pinguino. Oggi andiamo a vedere alcune operazioni di base che si possono svolgere mediante linea di comando su un sistema Ubuntu-like.

Che cos'è la linea di comando?

Shellterminale e riga di comando sono termini che indicano un dispositivo a interfaccia testuale. Può servire a svolgere gran parte delle mansioni in un sistema operativo: muoversi attraverso il file system gestirlo, scaricare, installare o rimuovere programmi, per configurare l'hardware, per creare script e molte altre cose.

Fondamentalmente è un modo alternativo alla comune interfaccia grafica per gestire la macchina. Infatti possiamo svolgere esattamente tutte le operazioni che svolgiamo mediante interfaccia grafica utilizzando la linea di comando. 

Tipicamente, un normale terminale Ubuntu si presenta così.

Terminal

Vediamo alcune operazioni che si possono svolgere mediante terminale.

Come avvio il terminale? 

Abbiamo due modi per utilizzare il terminale: avviare la macchina in modalità terminale oppure avviare la shell da interfaccia grafica.

Per avviarlo da interfaccia grafica:

  • Ubuntu 18.04 e successivi: selezionare il menù delle applicazioni e digitare terminale;
  • Rilasci precedenti: selezionare il pulsante Ubuntu e digitare terminale;

Manuale e sintassi dei comandi

Quando ci troviamo a digitare comandi, può capitare che non ci si ricordi la sintassi o la funzione di alcune opzioni che si possono passare. In tal caso ci vengono in soccorso due comandi: man e help.

help

Il comando help è quello atto a ricordarci la sintassi del comando che stiamo utilizzando. Vediamo come si usa.

ls --help è la guida che spiega la sintassi del comando ls;

ls --help | less: consente di visualizzare la guida del comando ls su più pagine video;

man

Il comando man ci mostra le pagine del manuale relativo al comando che vogliamo utilizzare, nel caso in cui esista.

Ci basterà scrivere:

man <comando> dove con <comando> si intende il comando di cui vogliamo consultare la pagina di manuale.

Navigazione attraverso il file system

Dobbiamo prima di tutto capire com'è strutturato il file system in ambiente Ubuntu. In questo ambiente il file system è rappresentato come un albero, la cui radice (root) è il nodo padre di tutti.

ROOT

Mediante linea di comando possiamo anche scorrere in lungo e in largo il nostro file system. Il comando che ci viene in soccorso è cd. Vediamo come funziona.

  • cd Desktop se la directory corrente è home ci porta nella cartella Desktop. Generalmente possiamo sostituire Desktop con il nome di qualsiasi directory purchè sia una sotto-directory di quella in cui ci troviamo. in alternativa ci troviamo obbligati ad utilizzare un path assoluto per raggiungere la cartella;
  • cd .. ci permette di spostarci dalla directory in cui ci troviamo alla directory padre;
  • cd /directory da qualunque cartella ci troviamo ci permette di spostarci nella cartella directory;
  • cd ~ oppure cd porta nella directory home dell'utente;
  • cd - porta nella directory precedente;

Mostrare la cartella corrente

pwd mostra la cartella corrente in cui ci troviamo.

Mostrare il contenuto di una cartella

Nel momento in cui vogliamo comnsultare il contenuto di una cartella, il comando ls ci viene in soccorso. Vediamo alcuni esempi di utilizzo.

  • ls -l mostra il contenuto della cartella in formato lungo;
  • ls -la mostra il contenuto della cartella in formato lungo includendo i file nascosti;
  • ls -S mostra la lista dei file ordinati in base alla dimensione;
  • ls -X mostra la lista dei file ordinati in base alla loro estensione;

Copiare file e directory

In questo caso il comando che giunge in nostro soccorso è il comando cp. Vediamo come si usa.

  • cp file1 cart1 copia il file chiamato file1 nella cartella cart1. Possiamo anche utilizzare i path, assoluti o relativi che siano, di entrambi gli elementi;
  • cp -r cart1 cart2 copia tutto il contenuto della cartella cart1 nella cartella cart2;
  • sudo cp -a cart1 cart2 copia tutta la directory cart1 dentro a cart2 mantenendo gli stessi permessi e le informazioni su data e ora di creazione

Muovere o rinominare file e cartelle

Il comando che utilizziamo è il comando mv.

  • mv vecchio nuovo rinomina il file vecchio in nuovo;
  • mv file1 cart1 muove il file file1 dentro la cartella cart1;

Rimuovere file e cartelle, creare cartelle

Il comando che utilizziamo è rm.

Vediamo come si usa.

  • rm file1 file2 ... rimuove i file file1, file2 e tutti gli altri elencati dopo;
  • rm *.* rimuove tutto il contenuto della directory corrente. Va usato con cautela! Il comando si può modificare scrivendo rm *.estensione rimuovendo tutti i file con estensione .estensione;
  • rm -rf cart1 rimuove tutto il contenuto della cartella cart1;

Nel caso in cui volessimo rimuovere una cartella, purchè vuota, useremo il comando rmdir cartella.

Nel caso in cui volessimo creare una cartella, utilizzeremo il comando mkdir cartella, creando così una directory vuota chiamata cartella.

Visualizzare il contenuto di file

Il comando che ci permette di visualizzare il contenuto di uno o più files è il comando cat. Vediamone alcuni esempi. E' buona norma scrivere esplicitamente l'estensione del file, al fine di evitare ambiguità tra eventuali file con lo stesso nome ma estensione diversa.

  • cat file mostra il contenuto del file denominato file;
  • cat file1 file2 > file3 crea il file file3 che contiene il contenuto di file1 e file2;
  • cat file1 file2 >> file3 aggiunge a file3 il contenuto di file1 e file2;
  • tac file visualizza il contenuto di file ma in ordine inverso;

Se vogliamo visualizzare il contenuto di un file su più pagine video non ricorreremo al comando cat ma al comando more. Il tasto di Invio fa avanzare la visualizzazione riga per riga mentre la barra spaziatrice fa avanzare di pagine video

  • se vogliamo visualizzare il contenuto di un file su più pagine video scriveremo more file;
  • se vogliamo visualizzare il contenuto di una directory su più pagine video scriveremo ls -l | more;

Se invece vogliamo visualizzare il contenuto di file o directory sempre su più pagine video ma con la possibilità di scorrerlo avanti e indietro utilizzeremo il comando less.Per interrompere utilizzare CTRL+Z.

  • less file visualizza il contenuto del file1 in pagine video;
  • ls -l | less visualizza il contenuto della directory corrente in formato lungo su più pagine video; 

Abbiamo dato una panoramica molto generale sui comandi di base di Ubuntu. Più avanti, affrontando altri aspetti del mondo del pinguino, introdurremo nuovi comandi. Per ora, sperimentate gente, sperimentate!wink

 
by Alessio Mungelli Date: 23-02-2020 ubuntu linux terminale linea comando commandline spiegazione principianti dummies file directory gestione visite : 4611  
 
Alessio Mungelli

Alessio Mungelli

Computer Science student at UniTo (University of Turin), Network specializtion, blogger and writer. I am a kind of expert in Java desktop developement with interests in AI and web developement. Unix lover (but not Windows hater). I am interested in Linux scripting. I am very inquisitive and I love learning new stuffs.

 
 
 

Articoli correlati

Un approccio a Java: Il ciclo while

Ciao a tutti e bentornati! Dopo aver fatto una breve, ma corposa, introduzione sui cicli, andiamo oggi a vedere finalmente le prime implementazioni che utilizzano quello che abbiamo definito ciclo precondizionale. In Java, come…

Un approccio a Java: I cicli - Introduzione

Ciao a tutti e bentornati! Sino ad ora, abbiamo parlato di variabili e di strutture di selezione, andando a considerare alcuni degli aspetti fondamentali di questi due concetti. Teoricamente, per…

Un approccio a Java: Le variabili - caso d'uso

Ciao a tutti amici e bentornati! Dopo l'introduzione fatta sulle variabili, cerchiamo di analizzare alcune criticità che si possono presentare in situazioni alquanto comuni. Partiamo quindi analizzando degli esempi pratici.  Esempio 1: divisione…

Un approccio a Java: Le variabili

Ciao a tutti e bentornati! Quest'oggi inizieremo un percorso che ci porterà a studiare, ed eventualmente ripassare, quelle che sono le basi della programmazione. Inizieremo parlando di variaibli. Introduzione Chiunque voglia approcciarsi al…

Microsoft rilascia il Free Linux Forensics e Rootkit Malware Detection Service FRETA

Il team di Microsoft Information Systems Audit ha annunciato una nuova iniziativa volta a scoprire le prove forensi di attacchi contro i sistemi Linux, nella speranza di rilevare la presenza…

Hashmap con Concatenamento: hashing, collisioni e prime funzioni

Oggi andremo a vedere dei concetti strettamente legati alle hashmap. I concetti che andremo a vedere sono quelli di hashing e collisioni. Hashing L'idea dell'hashing con concatenamento è quella di creare una sorta di array di…

Hashmap con concatenamento: liste di trabocco

In questa breve serie di articoli andremo a vedere com'è possibile realizzare in C la struttura dati Hashmap. Nell'implementazione andremo ad usare le liste doppiamente concatenate come strutture dati ausiliarie. Andiamo…

Linux per Principianti: Guida all'installazione di Ubuntu

Abbiamo dato precedentemente una panoramica su qualche aspetto di base dei sistemi Unix e in particolar modo Ubuntu. Abbiamo infatti fatto un'introduzione, dopodichè abbiamo parlato di terminale Ubuntu e infine abbiamo parlato…

Linux per Principianti: I permessi

Nei precedenti articoli abbiamo fatto una breve introduzione al mondo Unix e nell'articolo successivo abbiamo parlato di comandi base per la gestione del file system. Oggi andremo a parlare di permessi. Come esempio prenderemo sempre…

Linux per Principianti: Introduzione

Se hai pensato di migrare da Windows a un sistema operativo Unix, o Linux nello specifico ci sono cose che dovresti sapere. L'obiettivo è quello di dare le informazioni essenziali…

Java Strutture Dati: Liste Concatenate

Con il 2020 andiamo ad esaminare un nuovo aspetto della programmazione: le strutture dati. Spesso capita a tutti di utilizzare strutture messe a disposizione dai vari linguaggi di programmazione. L'obiettivo sarà…

Java Algoritmi di Ordinamento: Selection Sort

Andiamo oggi ad analizzare in dettaglio un algoritmo di ordinamento non molto efficiente ma piuttosto utilizzato in diversi ambiti. Stiamo parlando del Selection Sort. Vediamo meglio in dettaglio. Intuizione L'idea alla base è quella…