Libro 1 – Capitolo 3 – I sistemi operativi e il loro uso

Indice degli argomenti del Capitolo

Introduzione

Nel paragrafo software, è stato definito il concetto di sistema operativo quale software di base necessario al funzionamento del calcolatore.
Una definizione precisa può essere la seguente:

Si definisce sistema operativo un insieme di programmi che permette all’utente di dialogare con l’elaboratore e viceversa, e di gestire e ottimizzare le risorse hardware a disposizione.
Da questa ne discende che un sistema operativo deve garantire il dialogo uomo-macchina attraverso un’interfaccia di utilizzo che può essere grafica GIU o a linea di comando CLI (Command Line Interface), verificare il corretto funzionamento dell’hardware, e la massimizzazione delle prestazioni dello stesso.
In questo paragrafo e in quello successivo (uso di Linux), analizzeremo l’uso con la CLI, importante strumento che ogni informatico professionista deve conoscere, anche perché come vedremo più avanti quando si parlerà di ambienti di sviluppo spesso occrre personalizzare l’ambiente con dei comandi CLI del particolare sistema operativo in uso.
In particolare, il linguaggio Java prevede molte personalizzazioni che richiedono un minimo di conoscenza sull’interfaccia CLI. L’uso di interfaccia grafica del sistema operativa non deve essere preclusa ma utilizzata come aggiunta nell’effettuazione di funzioni spesso più semplici e meno articolate.
Inoltre i sistemi operativi moderni, sia in ambiente Microsoft e GBU Linux, dispongono di funzionalità che sono accessibili solo da linea di comando, proprio per sottolineare l’uso solo da parte di utenti esperti.
In questo libro non si farà menzione mai al sistema Mac OSX, non perché lo si ritenga non valido, ma perché alla fine è un sistema Linux-Like. Infatti la Apple ha costruito il suo sistema operativo Darwin negli anni 2000, con un force di una versione di Linux, che ha reso disponibile in modo gratuito agli utenti dei Macintosh che all’epoca era equipaggiata con processori potenti IBM Power PC. In seguito la Apple ha deciso di chiudere il sistema operativo anche se da allora lo installa sulle sue macchine e vieta l’uso su altre architetture hardware non sue.
Nel sistema operativo in generale, si riconoscono delle funzionalità collocate in specifici moduli software.
I moduli sono:

Il sistema operativo è un insieme di programmi che è strutturati in moduli. I moduli che compongono un Sistema operativo sono:

  • Modulo gestione processore si occupa della gestione delle esecuzione dei programmi da parte del/dei processore/i;
  • Modulo gestione memoria si occupa della gestione dell’allocazione (assegnazione) dello spazio di memoria centrale ai programmi che ne fanno richiesta;
  • Modulo di gestione delle periferiche si occupa di gestire la comunicazione fra i dispositivi di Input/Output da e verso processore e memoria;
  • Modulo di gestione delle informazioni gestisce ed organizza le informazioni sulle memorie di massa;

Insieme ai moduli vi sono altri programmi che consentono la gestione degli eventi che si possono verificare nel sistema come malfunzionamento, azione utente, terminazione operazioni di trasmissione verso periferiche, ecc. Si definisce interruzione il meccanismo secondo il quale l’hardware avverte il s.o. che si è verificato un evento e che il processore deve abbandonare l’attività che sta svolgendo per gestire tale evento.
Il sistema operativo possiede poi delle caratteristiche che possono essere raggruppate in queste:

  • Multi utenza: utilizzo da parte di più utenti contemporanei;
  • Funzionalità di Rete permettere l’accesso a reti private e pubbliche (internet) e alle loro risorse;
  • Accessibilità e Usabilità permettere l’utilizzo da parte di qualunque classe di utente in modo semplice e se necessario facilitato;
  • Sicurezza permettere all’utente di difendersi attraverso di esso agli attacchi informatici come intrusioni dall’esterno, violazione della privacy, e virus informatici;
  • Possedere programmi di sviluppo software compilatori,editor, linker, assemblatori;
  • Possedere programmi per la fruizione dei servizi messi a disposizione da Internet;
  • Possedere programmi di utilità per gestione file, dischi come programmi per la compressione e il backup/ripristino dei dati;

Alcuni di questi termini saranno chiariti nei prossimi capitoli.
File e Cartella

Tutti i sistemi operativi gestiscono le informazioni organizzando le memorie di massa in files e cartelle.
Un file è una raccolta di informazione identificato da un nome e da un estensione. Il nome può essere in Windows lungo fino a 256 caratteri, e l’estensione è di tre caratteri identifica l’applicazione che genera e gestisce il file. Una cartella è un raccoglitore di file organizzati secondo un criterio. Ad esempio i software applicativi normalmente installano i loro files in una cartella unica con all’interno altre sottocartelle logicamente collegate a quello specifico applicativo.


Interfaccia Grafica

Tutti i S.O, moderni interagisco con l’utente attraverso un’interfaccia grafica caratterizzata da barre dei menu, desktop, icone, finestre e di azioni svolte dall’utente sia con il mouse che con la tastiera.

Nella prima immagine in figura viene mostrata l’interfaccia grafica di Windows, nella seconda l’interfaccia KDE di GNU Linux. Una delle particolarità del sistema GNU Linux è la possibilità di scegliere fra diverse interfacce grafiche e questo se da un lato aiuta gli utenti a personalizzare il sistema a loro piacimento, dall’altro può ingenerare confusione in quanto le azioni fatte in una GUI potrebbero essere diverse in un’altra.

Interfaccia CLI di Windows

Il sistema operativo fonda la sua CLI sul vecchio sistema MS-DOS, sviluppato dalla stessa Microsoft negli anni 80, che basava il suo funzionamento solo sulla linea di comandi. Nelle prime versioni di Windows l’interfaccia CLI era proprio gestita con le caratteristiche del sistema MS-DOS, che poi via via sono state sostituite da nuove funzionalità che lo stesso non poteva garantire.
Infatti oggi si parla di CLI MS-DOS estesa, e nelle ultime versioni di Windows viene definita più genericamente Shell dei comandi, ed è affiancata dalle ultime versioni da una Shell Amministrativa detta “Power Shell”. Quest’ultima affermazione richiama il concetto esporto prima della multi utenza. Nei sistemi operativi moderni è sempre presente una netta distinzione tra utente amministratore (in Windows nominato “Administrator”) e un utente generico. Il primo possiede il controllo completo sul sistema operativo, mentre il secondo è limitato a seconda delle autorizzazioni conferite dall’amministratore.
Tipicamente un utente non amministratore non può installare software che richiedono la modifica di alcuni files e del registro di sistema, così come non può modificare i parametri di accesso alla rete LAN, giusto per citare dei semplici utenti.
Questo per accrescere anche la consapevolezza agli utenti che l’utente amministratore deve essere utilizzato solo quando realmente si comprende l’azione che si vuole intraprendere con esso che spesso può essere irreversibile (ad esempio la formattazione di un disco fisso).
Analizziamo però le caratteristiche della shell di Windows e sulla nomenclatura conservata dal vecchio sistema MS-DOS.
In particolare si ha:

  • Ogni unità di memorizzazione è indicata con una lettera dell’alfabeto seguita dai “:”. Ad esempio A: indica unità floppy;
  • Ogni unità a disco possiede una cartella principale indicata con “\”;
  • Il sistema operativo in ogni istante punta ad una cartella specifica; Windows punta alla cartella “C:\document and Settings\nome utente” o “C:\Users\nome utente” la prima adottata da Windows xp la seconda dalle versioni successive;
  • Per conoscere il percorso basta aprire Menù Avvio – Programmi – Accessori – Prompt dei Comandi;
  • Il sistema MS-DOS incluso come shell di comando (ovvero interprete dei comandi di sistema) assegna ad ogni tipologia di unità delle lettere diverse;

Il sistema operativo Windows assegna le lettere di unità secondo i criteri sotto riportati

  1. Le unità floppy prendono sempre A: e B: (vecchi unità a disco removibile ormai in disuso);
  2. La prima unità a disco rigido prende la lettera C:, le successive unità o partizioni disco le lettere successive;
  3. Dopo le unità a disco fisso la prima lettera libera è assegnata al primo lettore ottico;
  4. Dopo le unità ottiche la prima lettera libera viene assegnato alle unità di backup o rimovibili come (zip, jaz, penne usb, ecc.)
  5. Dopo le unità rimovibili la prima lettera libera viene assegnata alla prima unità di rete (cartella o disco condiviso su un altro computer);
    In Ms-Dos e Windows si afferma il concetto di percorso come la sequenza di cartelle che va indicata per operare in una porzione specifica del file system. Il sistema operativo all’avvio si trova posizionato nella cartella “home” dell’utente in quanto in windows si definisce per ogni utente che usa un computer un profilo che contiene le impostazioni dell’utente come sfondo, combinazioni di colori desktop, account di posta elettronica, impostazioni dei menù, e le proprie cartelle personali.
    A sua volta i percorsi sono classificati in:

    1- Percorso assoluto: si definisce tale quando è indicato a partire dall’unità di memoria di massa alla quale fa riferimento;

2- Percorso relativo si definisce tale quando è indicato a partire dal percorso indicato dal sistema operativo;

3- Il percorso indicato nel prompt viene detto percorso corrente;

Comandi per gestione files e cartelle

La Creazione cartella avviene con il comando MD PERCORSO.
Per spostarsi ad una cartella specifica il comando è: CD PERCORSO.
Il comando CD . visualizza il percorso corrente, mentre il comando CD.. sposta il S.O. nella cartella di livello superiore. Da questi primi comandi si possono osservare due particolarità: la prima in Windows i comandi possono essere impartiti sia in lettere maiuscole che minuscole (in Linux non è così), e ogni comando ha in genere una sintassi generica del tipo:

Comando [Opzioni Percorso Oggetti] (2)

Le opzioni sono parametri aggiuntivi al comando, il percorso come detto rappresenta la posizione che sarà coinvolta dal comando ed eventualmente contenere anche l’unità di memorizzazione a cui afferisce il comando, e gli oggetti possono essere gli eventuali files coinvolti nel comando. Questi ultimi tre argomenti come si vede nella (2) sono racchiusi fra parentesi quadre, in quanto sono facoltativi in parte o complessivamente.
Giusto per citare un esempio il comando dir valido sia nel sistema Windows che nel sistema Linux produce come effetto quello di visualizzare l’elenco di tutti i files e le sottocartelle della cartella puntata dal sistema operativo.
Così come per i comandi il sistema Windows non distingue nei nomi dei files e cartelle la differenza fra lettere maiuscole e minuscole; in questo senso il sistema rispetto alle regole di “naming” è “case insensitive”.
La cancellazione di una cartella che non deve contenere altre sottocartelle e/o files all’interno è possibile con il comando:

rd Percorso

la rinomina di una cartella con il comando:

move VECCHIO NOME CARTELLA NUOVO NOME CARTELLA

ove il primo è la cartella da rinominare, il secondo è il nuovo nome da assegnare alla cartella.

Comandi per la visualizzazione di un elenco di files e cartelle

Il comando per visualizzare files e cartelle è:

dir [Percorso] [Opzioni]

Entrambi gli argomenti sono facoltativi (sono indicati per questo fra parentesi quadre), le opzioni permettono di ottenere vari effetti sul comando le più utilizzate sono riportate nella tabella sotto.

OpzioneEffetto
/PVisualizza l’elenco per pagine blocca lo scroll automatico sullo schermo
/WVisualizza l’elenco a colonne in modo sintetico non indicando la data e ora di creazione del file oltre che la dimension
/OVisualizza l’elenco in modo ordinato
/SVisualizza l’elenco anche delle eventuali sotto cartelle contenute nel percorso specifico

E’ utile notare che è possibile anche combinare più opzioni insieme. Un esempio di elenco e files e sottocartelle è mostrato in figura.

Nella figura è mostrato l’elenco della cartella radice del disco C. Non sono presenti files nella cartella visualizzata.

Comando vol

Il comando vol permette di il nome della della cartella radice

vol [Unita:]

dove il parametro [Unità:] rappresenta l’unità di memorizzazione della quale si vuole conoscere il nome della cartella radice ed il suo numero seriale.
E’ importante notare che il nome della cartella radice è possibile ridefinirlo all’atto della formattazione del supporto, che comporta la cancellazione di tutti i dati sul supporto. Il suo uso richiede molta cautela, ed è in genere un compito delegato all’amministratore di sistema. In ogni caso,

Comandi per la gestione files in dettaglio

Vediamo ora i comandi per la gestione dei files, si tenga presente che in Windows ogni files è identificato da un nome e da un’estensione. L’estensione tipicamente di tre caratteri identifica il tipo di file, e in genere permette di risalire all’applicazione che ha generato il file.
La nomenclatura per i file prevede una sintassi del tipo:

nomefile.estensione

Riportiamo nella tabella sottostante alcune estensioni notevoli, che ogni utente di calcolatore dovrebbe conoscere:

Nome EstensioneApplicazione
doc, docxMicrosoft Word
xls, xslxMicrosoft Excel
mdb, accdbMicrosoft Access
exe, comeFiles eseguibili di Windows/MS-DOS
batFile di comandi di shell
htm, htmlPagine Web scritte in HTML
jpeg, gif, bmpFile di immagine in vario formato
mp4, aviFile Video

sono state citate per motivi di sintesi solo alcune estensioni più utilizzate. I programmi della suite Office ammettono due estensioni la prima è quella meno recente per i documenti di testo e i le cartelle di lavoro del foglio elettronico.
Delle estensioni speciali sono le estensioni eseguibili, in particolare l’estensione “exe” che rappresentano un programma scritto in binario direttamente eseguibile dal calcolatore. La creazione di un file eseguibile sarò oggetto di discussione nei prossimi capitoli, in quanto direttamente connessa allo sviluppo di un programma scritto in linguaggio C++ o C##.
La CLI di Windows possiede sempre ereditando le caratteristiche dal vecchio sistema MS-DOS, la possibilità di utilizzare i caratteri “jolly” ovvero la possibilità di indicare gruppi di nomi sia di files che di cartelle con dei caratteri abbreviativi.
In particolare il carattere jolly “*” indica la sostituzione di un numero indefinito di caratteri, mentre il carattere jolly “?” indica la sostituzione di un solo carattere.
Vediamo allo scopo alcuni esempi; se nel nome del file viene indicata una notazione a*.exe,, si stanno selezionando tutti i files che hanno come lettera iniziale la lettera “a” e i caratteri seguenti qualunque tutti con estensione “exe”. Se nella shell di Windows voglio indicare tutti i files posso utilizzare la notazione *.*.
Invece il carattere jolly “?” agisce solo su un singolo carattere ad esempio la notazione letter?.doc sta ad indicare tutti i files che hanno come prima parte nel nome la parola “letter” e come ultimo carattere un qualunque carattere consentito, tutte le varianti devono avere l’estensione doc.
Parlando di caratteri consentiti è utile ricordare che le regole di naming per files e cartelle per Widnows possono prevedere l’uso dei caratteri “-“.”_” e dello spazio (anche se non è consigliabile) ed una lunghezza per i nomi dei files e cartelle fino a 256 caratteri.
Sinterizziamo ora alcuni comandi per la gestione dei files:

1- Per cancellare un file o un gruppo di files

  • del [Percorso][Files]

La sintassi indicata fra parentesi quadre chiarisce che uno dei due argomenti del comando sono facoltativi. Se ad esempio occorre eliminare uno o più files nel percorso corrente l’argomento [Percorso] si può omettere. E possibile omettere l’argomento [Files] se si vuole svuotare un ‘intera cartella da file indicati nell’argomento [Percorso].
A titolo di esempio, per cancellare file nella cartella indicata è possibile utilizzare il comando:

del Percorso\nomefile.est

Mentre per cancellare file nella cartella indicata con nome ed estensione data il comando è:

del Percorso\*.est;

Comando per la copia di files

La shell mette a disposizione il comando per la copia di files Copy. La sintassi generale è:
copy Percorso_S Percorso _D

E’ un comando per duplicazione dei files da un percorso sorgente a un percorso destinazione, la sintassi di “Percorso _S” e “Percorso _D” è analoga al comando “DEL”; ad esempio

copy A:\doc\testo.doc C:\documenti

Trasferisce il file “testo.doc” dalla sottocartella “doc” del dischetto floppy “A:” alla sottocartella “documenti” del disco “C:”.
Non è indicato per la copia di interi alberi di cartelle.
L’ultimo comando da rivedere è il comando Move che oltre a essere utilizzato per la rinomina di cartelle come già visto, può essere usato anche spostare interi alberi di cartelle.
La sintassi è sempre:
move Percorso _S Percorso _D
dove si specifica il percorso sorgente e il percorso destinazione, se all’interno sono contenuti altre sottocartelle e files il comando provvede a spostare tutto il loro contenuto nel nuovo percorso.

Il Comando xcopy

Nel paragrafo precedente abbiamo visto il comando Copy per la duplicazione di files, nel caso in cui occorre copiare interi alberi di cartelle anche in modo ricorsivo ovvero ripetendo la copia per tutti i files e sottocartelle in esso contenute.
La sintassi del comando generica è:

xcopy [Opzioni] [Percorso Sorgente] [Percorso Destinazione]
La sintassi del comando indica nel Percorso Sorgente la cartella di origine da cui copiare gli elementi in essa contenuti, e il Percorso Destinazione la cartella ove effettuare la duplicazione.
Le opzioni sono molte, il comando è molto potente per semplicità le più utilizzare sono:

OpzioneEffetto
/SCopia tutti gli elementi contenuti al suo interno senza copiare le cartelle vuote
/HCopia anche i files nascosti e di sistema
/D:m-d-yCopia file che hanno data di modifica a partire dal quella espressa in mesi giorni anni (data in formato anglosassone)
/ECopia file, cartelle e sottocartelle incluse quelle vuote


Attributi su files e cartelle

Il sistema operativo Windows ha ereditato dal sistema operativo MS-DOS, ove per ogni file e cartella sono definite le caratteristiche dei files in tre tipologie: archivi, nascosti e di sistema.
Per attributo si intende le tipologie di caratteristiche attivate su di essi. L’attributo archivio indica un file di tipo generico che può essere sia un documento dell’utente, che un file collegato a qualche software- Un file con attributo di sistema è un file utilizzato dal sistema operativo, mentre un file nascosto è un file non immediatamente visibile agli utenti, come ad esempio dei files di configurazione di sistema o di qualche software.

In genere i files che hanno l’attributo Archive attivo sono inclusi nelle operazioni di backup.
Gli attributi, non sono l’unica caratteristica dei files e cartelle in Windows, che fin dalle versioni NT per poi passare alle versioni XP e quelle attuali ha introdotto la multiutenza, e quindi utilizzando un’organizzazione più moderna dei files e cartelle mediante l’uso del gestore delle informazioni NTFS, ha introdotto anche il concetto di ACL (Access Control List)


Il sistema operativo GNU Linux e suo utilizzo

Il sistema operativo Linux è l’alternativa open source creato nel 1991 da Linus Torvards effettuando delle modifiche ad un sistema operativo Unix denominato “Mimix”. SI è diffuso prima come sistema operativo in ambito professionale e per l’installazione di macchine server su Internet, fino ad essere poi diffuso con varie modifiche in ambiente PC Desktop e Embedded.
Basti pensare che il sistema Android è un porting fatti da Google di Linux con delle personalizzazioni molto spinte, così come Mac OSX come spiegato in un paragrafo precedente.
Esistono diverse versioni del sistema operativo con varie interfacce grafiche e software personalizzati tutti ovviamente open source.
Alcune caratteristiche del sistema operativo, sono la multiutenza, il multitasking sia virtuale che reale (nel primo caso diverse attività sono eseguite su una singola CPU assegnandola con delle politiche di ai vari programmi che chiedono l’esecuzione, nel secondo caso il sistema di calcolo dispone di più CPU, che si ripartiscono le richieste provenienti da più programmi), e la sicurezza (caratteristica non di poco conto).
Sulla sicurezza possiamo aggiungere che, il sistema Linux è quasi immune dall’essere attaccato da virus (qualche tentativo solo nelle prime versioni si ricordano qualche attacco virale), inoltre dispone di altre funzionalità avanzate nella gestione delle funzionalità di rete fortemente orientate alla sicurezza.
Come per il sistema Windows, Linux dispone di un’interfaccia CLI, oltre che della GUI, e quindi esamineremo i comandi per la gestione dei files e delle cartelle. Per esaminare tali comandi occorre innanzitutto, vedere come sono organizzati i files e le cartelle dal gestore delle informazioni di Linux.
Le caratteristiche principali sono:

  • Ogni unità a disco fisso presente nel computer può essere divisa in varie parti dette partizioni. Linux identifica ogni partizione con un’unità logica diversa. Possono essere presenti più partizioni ad esempio se si ha anche Windows sul computer.
  • Linux a sua volta può avere varie partizioni ma identifica tutte le partizioni mediante una cartella radice detta “root device” identificata da “/”. Se la root device sia fatta da una o più partizioni a Linux non importa esso definisce un unico albero di diramazione delle cartelle.
  • È sempre possibile aggiungere (montare) altre partizioni ma sempre sotto /.

In base a quanto esposto si definisce il Punto di Mount:

Rappresenta la cartella o il percorso da cui si accede ad un’altra partizione o ad altro supporto di memorizzazione. Non tutte le partizioni e supporti sono montati all’avvio di Linux.
Ogni supporto di memorizzazione in linux viene identificato da una device o da un file nella cartella /dev.
Le unità di memorizzazione devono quindi essere montate, il S.O., per il montaggio automatico esegue i seguenti passi:

  • All’installazione Linux rileva tutti i supporti presenti sul sistema;
  • Mette in genere in esecuzione il programma automounter per montare i supporti in modo automatico.
  • Riesce a montare diversi tipi di supporti e partizioni comprese quelle Windows,

Il sistema operativo mette a disposizione un comando amministrativo, per montare al volo eventuali dispositivi aggiuntivi.

Gestione di Cartelle in Linux

Ogni utente del sistema Linux all’accesso (login), viene posizionato nella sua cartella personale detta “Home”. La cartella Home è indicata con il carattere tilde “ “.
Nel sistema Linux possono essere presenti più utente, in aggiunta all’utente amministratore indicato con il nome root. Per ogni utente non “root” la cartella Home è una sottocartella del percorso /home.
Quindi ad esempio un utente “pippo” avrà la sua cartella home nel percorso /home/pippo.
Per l’utente “root” la cartella home si trova nel percorso /root. Il sistema Linux non consente l’uso diretto dell’utente amministratore a meno di non eseguire uno specifico comando che vedremo più avanti. Questo metodo è utilizzato dal sistema per responsabilizzare gli utenti nelle azioni che svolte in maniera non corretta possono portare ad azioni irreversibili sui files e le cartelle del sistema.
Nel sistema Linux il percorso assoluto è indicato a partire dalla cartella radice “/”, mentre il percorso relativo come per il sistema Windows a partire dalla carella puntata in quel momento dal sistema operativo.
L’interfaccia CLI del sistema Linux si attiva eseguendo il terminale.
Struttura ad albero rovesciato del filesystem di Linux

Analizziamo in dettaglio la struttura del filesytem di Linux, che partendo dalla cartella radice possiede una struttura come quella rappresentata nello schema:
nel sistema operativo Linux, all’atto dell’installazione, crea la struttura mostrata nello schema, nella cartella home vengono create tante cartelle quanti sono gli utenti creati (nello schema user1 e user2), e la cartella root, dell’utente amministratore.
Descriviamo ora la funzione di ogni cartella:

  • /bin contiene i files eseguibili da parte di utenti anche non amministratore come i comandi per la creazione di cartelle, files di testo, il compilatore c++ se installato ecc.;
  • /boot contiene l’immagine del sistema operativo (kernel o nucleo) che viene caricata subito dopo la fase di accensione e diagnostica del calcolatore. Ogni volta che il sistema operativo Linux effettua un aggiornamento software viene sostituito la vecchia immagine del kernel con la nuova.
  • /dev contiene dei collegamenti a tutti i dis3positivi che sono installati e riconosciuti dal sistema, oppure che possono essere installati in seguito. Ad esempio nei vecchi computer gli hard disk venivano identificati con hda, hdb, hdc, hdd, ecc. così come i lettori di cdrom/dvd. Nei nuovi computer dotati di nuovi hard disk cambia l’interfaccia di connessione alla scheda madre con sda, sdb, sdc, ecc. La CPU viene identificata con cpu, la prima interfaccia seriale ttyS0, la seconda ttyS1, e così via. Un’altra cartella speciale dove si possono ottenere informazioni direttamente nell’interfaccia CLI è la cartella /proc che contiene informazioni sull’hardware in funzione e sul suo stato.
  • /etc è la cartella che contiene tutti i files e sottocartelle che contengono tutte le informazioni di configurazione del sistema operativo e del software applicativo eventualmente presente. Solo l’utente amministratore può modificare la configurazione di tali files.
  • /home contiene tutte le cartelle personali di ogni utente presente nel sistema.
  • /lib contiene tutti i files di sistema Linux fra cui le librerie aggiuntive per il funzionamento dell’hardware eventualmente non riconosciuto dal kernel Linux.
  • /mnt è la vecchia cartella ove il sistema operativo all’atto dell’installazione creava dei punti di mount automatico a dispositivi che non erano “nativi” come il lettore dvd o le partizioni del disco che non erano formattate secondo lo standard del file system di Linux, come ad esempio un disco fisso diviso in due partizioni Linux e Windows.
  • /media è la nuova cartella dove il sistema operativo Linux effettua il montaggio dei dispositivi di memorizzazione aggiuntivi.
  • /opt è una cartella accessibile a tutti gli utenti, possono essere installati i software aggiuntivi,
  • /root è cartella personale home dell’utente amministratore
  • /srv è una cartella che contiene i file di servizio del sistema operativo
  • /sbin contiene come nel caso della cartella bin i files di comando del sistema Linux, consentiti solo agli amministratori del sistema.
  • /tmp contiene i file temporanei che vengono di volta in volta creati dal sistema operativo e dai software aggiuntivi.
  • /usr è una cartella dove sono installati i software di sistema e i software aggiuntivi.
  • /var contiene varie sottocartella fra cui la cartella log che contiene i files registi delle attività del sistema.

I comandi per la gestione delle cartelle nel sistema Linux

In stretta analogia con il sistema Windows il sistema Linux dispone di vari comandi per la gestione delle cartelle. In generale la struttura dei comandi Linux è:

comando [opzioni] [percorso] [files]

come già visto in precedenza, gli argomenti fra parentesi quadre sono opzionali.
Il comando per visualizzare l’elenco dei files e delle sottocartelle di un percorso è:

ls [opzioni] [percorso] [files]

ad esempio il comando

ls /home/user1

visualizza i files e le sottocartelle della cartella Home dell’utente user1.

Invece il comando

ls /opt/*.odt

visualizza i files presenti con estensione odt nella cartella opt.

Alcune opzioni del comando ls sono riportate nella tabella:

OpzioneDescrizione effetto
-CElenca i files ordinati verticalmente per colonna
-RElenca anche il contenuto delle eventuali sottocartelle presenti nel percorso interrogato dal comando ls
-aElenca tutti i files anche quelli che cominciano con il carattere “.” (nel sistema Linux sono i files nascosti).
-hElenca i files e le cartelle, per i files visualizza la loro dimensione non in blocchi ma in Megabyte se si indica il suffisso M.

Per cambiare la cartella il comando nel sistema Linux è.

cd [opzioni ][percorso]

in particolare Linux come sistema operativo indica con “/” la cartella “~” che indica la cartella personale dell’utente. Inoltre è disponibile il comando pwd per ottenere il percorso corrente puntato dal sistema operativo Linux.

Comandi per la gestione di file e cartelle in dettaglio

Il comando per la creazione delle cartelle in Linux è:

mkdir [opzioni] nome cartella,

ad esempio

mkdir /home/usser1/prova

il comando

mkdir –p /home/user1/prova/prova2/prova3

crea la cartella prova3 e crea anche le sottocartelle necessarie se non presenti. Ad esempio se nella cartella dell’utente user1 non esistono le cartelle di livello superiore esse sono create.

crea una cartella di nome “prova” nella cartella home dell’utente user1.

Comando per la cancellazione delle cartelle

Il comando per la cancellazione delle cartelle solo se vuote è:

rmdir [opzioni] [percorso]

l’opzione –r rimuove in modo ricorsivo, quindi se all’interno della cartella sono presenti delle sottocartelle esse sono rimosse dietro conferma dell’utente; l’opzione –f omette la conferma della rimozione ad ogni operazione di cancellazione.
Per la copia di files il comando è:

cp [opzioni] [percorso_sorgente][files_sorgenti] [percorso_destinazione][files_destinazione]

anche qui le opzioni sono –r per copia ricorsiva e –f per evitare la richiesta di conferma di scrittura, nel caso in cui nel percorso destinazione siano presenti files con lo stesso nome.
Il comando per la rinomina e/o lo spostamento di un intero percorso è il comando:

mv [opzioni] [percoso_srogente][file_origine] [percoso_destinazione][file_destinazione]. Per la cancellazione dei files il comando è:

rm [opzioni] [percorso][files]

le opzioni del comando rm sono –r e –f come nei comandi precedenti hanno lo stesso significato. E’ utile notare che il comando rm è potenzialmente pericoloso e può danneggiare irrimediabilmente il file system di Linux, a titolo di esempio da non provare da amministratore “rm –fr * /” attiva la cancellazione di tutti i files del sistema Linux rendendolo presto inutilizzabile.
L’opzione ricorsiva deve essere usata con molta cautela, perché anche da utente non amministratore può cancellare in modo permanente dei files personali importanti.

Video aggiuntivo di approfondimento sull’uso della shell di Windows