Home » Sistemi » Linux-Ubuntu » Introduzione al Sistema Operativo Linux

Introduzione al Sistema Operativo Linux

Categorie

Gravatar

Organizzazione logica dei file

  • In Unix tutto si può definire un file.
    • in Unix i tipi di file sono:
      • file ordinari (insieme di byte);
      • directory (raggruppare in modo logico i file);
      • file speciali (special device file) per la rappresentazione di periferiche (device indipendent);
    • il nome di un file può contenere lettere, cifre o segni speciali quali il punto “.” o il segno di sottolineato “_”; meglio evitare il meno “-“;
    • i file con il nome che inizia con un punto si chiamano dot file e indicano di solito i file nascosti (hidden file);
    • il S.O. Unix considera come caratteri diversi le lettere minuscole e maiuscole (case sensitive);
    • il S.O. Unix per l’organizzazione logica dei file usa un sistema gerarchico di direttrici (directory) strutturato ad albero in cui i nodi sono costituiti dalle directory e le foglie file ordinari, directory vuote, file speciali;
    • il punto da solo indica la directory corrente (current working directory), ovvero dove ci si trova posizionati;
    • il doppio punto “..” indica la directory che sta sopra la directory corrente nell’albero delle directory;
    • la directory principale è la root, o radice dell’albero, si rappresenta con il simbolo / (slash);
    • ad ogni utente risulta assegnata una directory personale (home directory);
    • i nomi dei file e delle directory sono rappresentati attraverso il percorso che occorre fare per arrivare al file o directory attraversando l’albero del file system (pathname):
      • se il cammino parte dalla root, il nome è espresso tramite un pathname assoluto (full pathname);
      • se il cammino parte dalla directory corrente si ha il pathname relativo (relative pathname);
      • nella scrittura dei pathname si usa il simbolo / come separatore dei nomi di directory.
    • nella scrittura dei nomi dei file e delle directory il simbolo ~ rappresenta la home directory dell’utente.
Bash dei comandi

Bash dei comandi

Unix ≈ Linux

Il S.O. da noi usato sarà Linux che è assai simile a Unix (i S.O. di matrice Unix vengono anche definiti Unix-like), che condivide l’impostazione e le strutture fondamentali di Unix ma, non discende da una tra le tante versioni di Unix, anzi è stato completamente riscritto dal principio, kernel compreso. Il nome Linux deriva proprio dal nome della persona che ha maggiormente contribuito alla scrittura del kernel, il finlandese Linus Torvalds: la “x” finale richiama alla mente il naturale progenitore ovvero Unix. Logo ufficiale di Linux è il pinguino disegnato da Larry Ewing.

Linux è un S.O. Open Source quindi permette agli sviluppatori una completa personalizzazione del S.O. (differenti versioni del kernel, differenti tools di installazione e configurazione, differenti gestori di finestre, ecc.); sul mercato ci sono numerose distribuzioni di Linux.

 

Interprete di comandi o shell del S.O.

La shell è un programma che riceve in ingresso le richieste di esecuzione di operazioni espresse usando il linguaggio di comandi. L’interprete di comandi presenta all’utente sul video una riga, sulla quale l’utente può scrivere da tastiera il comando (riga comandi), all’inizio della riga viene evidenziato un insieme di caratteri che richiamano l’attenzione dell’utente (prompt).

Una componente importante degli interpreti a riga comandi è l’analizzatore sintattico, un programma che verifica la correttezza formale (lessico e sintassi) delle richieste dell’utente, comunque una shell Unix normale svolge i compiti seguenti:

  • mostra l’invito, o prompt, all’inserimento dei comandi;
  • interpreta la riga di comando data dall’utente;
  • esegue delle sostituzioni, in base ai caratteri jolly e alle variabili di ambiente;
  • mette a disposizione alcuni comandi interni;
  • mette in esecuzione i programmi;
  • gestisce la ridirezione dell’input e dell’output;
  • è in grado di interpretare ed eseguire dei file script.

L’interprete di comandi a cui si farà riferimento è la bash shell (Bourne again shell) che è la shell standard di Linux, il prompt di tale shell contiene fra i suoi caratteri il simbolo $.

Si può ottenere informazioni sui comandi utilizzabili attraverso il manuale in linea del S.O. attivato con il comando man. Sintassi di man è:

man nomecomando

Il comando man con l’opzione –k fornisce l’elenco dei documenti del manuale che contengono una parola chiave (keyword) specificata, esempio:

man -k print

visualizza l’elenco delle pagine del manuale in linea che contengono la parola print.

Altri modi per ottenere informazioni sono:

  • comando seguito da opzione -help (nomecomando –help) si ottengono ;
  • tramite info si accede al manuale completo in linea, nel punto dove ci sono le informazioni che riguardano il comando richiesto (info nomecomando);
  • comando help che visualizza un elenco rapido dei comandi con una breve descrizione
  • un breve indice di spiegazioni  sui comandi  è disponibile utilizzando  il comando whatis;
  • apropos cerca informazioni su un comando o argomento
  • o.
Comando man

Comando man

 

Struttura generale di un comando Linux:

PAROLA CHIAVE              -OPZIONI                 ARGOMENTI           NOME FILE

Le parole chiave dei comandi sono scritte in minuscolo.

Esempi di comandi:

  • senza argomenti, opzioni e file
    • pwd    (visualizza il nome della directory corrente);
    • cal      (visualizza il calendario del mese corrente);
    • con argomento
      • banner Linux                      (scrive Linux in caratteri grandi, 132 caratteri per riga);
      • cal 2003                    (visualizza il calendario dell’anno 2003);
      • con argomento e opzione
        • banner -w50 Linux             (scrive Linux con 50 caratteri per ogni riga);
      • con opzione e file
        • ls -l /home     (visualizza la lista dei file della directory /home in formato lungo)

 

I comandi della shell possono essere eseguiti in successione con una sola riga di comando separandoli con il punto e virgola ; esempio: pwd; date

 

I comandi vengono eseguiti in foreground, cioè la shell cede il controllo al processo di esecuzione del comando e lo riprende al termine del comando. Linux permette anche l’esecuzione di un comando in background indicando al termine della riga di comandi il carattere &: la shell apre un processo che viene eseguito in parallelo alla shell stessa, che prosegue la propria esecuzione senza attendere il termine di quella del comando. Esempio:

gcc prova.c &

 

 

Alcune combinazioni speciali di tasti vi consentono di fare cose più facilmente e più rapidamente

con la shell GNU, Bash. Qui sotto c’è una lista delle funzioni più utilizzate: siete fortemente consigliati ad abituarvi

al loro uso in modo da ottenere il massimo di esperienza Linux sin dal principio.

 

Tasto o combinazione di tasti                        Funzione

Ctrl+A                                               Muove il cursore all’inizio della linea di comando.

Ctrl+C                                               Termina un programma attivo e ritorna al prompt.

Ctrl+D                                               Disconnessione dalla corrente sessione di shell: corrisponde                                                          alla scrittura di exit o logout.

Ctrl+E                                               Sposta il cursore in fondo alla linea di comando.

Ctrl+H                                               Genera un carattere di backspace [cancellazione all’indietro].

Ctrl+L                                               Pulisce il terminale.

Ctrl+R                                               Ricerca nella cronologia [history] dei comandi.

Ctrl+Z                                               Sospende un programma.

FrecciaSinistra e                               Sposta il cursore di una posizione a sinistra o a destra sulla  FrecciaDestra                                    linea di comando in modo che potete inserire caratteri in altri                                                        posti oltre a quelli d’inizio e fine.

FrecciaSu e                                       Scorre la cronologia [history] dei comandi. Andate alla linea FrecciaGiù                                     che volete ripetere, modificate i dettagli se necessario e                                                                 premete Invio per risparmiare tempo.

Maiuscolo+PaginaSu e                    Scorre il buffer di terminale (per vedere il testo che ha

Maiuscolo+PaginaGiù                     “spostato” lo schermo).

Tab                                                    Completamento di comandi o nomi di file: quando sono                                                               possibili più scelte, il sistema ve lo segnalerà  con un segnale                                                         sonoro o  visivo, altrimenti, se le scelte sono troppe, vi                                                                   chiederà se volete vedere tutte quante.

 

Tab Tab                                            Mostra le possibilità di completamento di file o comandi.

Le ultime due voci nella soprastante tabella  richiedono alcune spiegazioni extra. Per esempio, se volete spostarvi nella directory directory_dal_nome_piuttosto_lungo, non dovete

digitare assolutamente tutto quel lunghissimo nome. Dovete solo battere nella linea di comando cd dir e poi premere il tasto Tab: la shell provvedere a completare il nome per voi se non esistono altri

file che iniziano con gli stessi tre caratteri. Naturalmente se non esistono altre parole che iniziano

con “d”, allora potete digitare solamente  cd d  e poi  Tab. Se più di un file inizia con gli stessi

caratteri, la shell ve lo segnalerà, dopo di che potrete battere due volte  Tab  di seguito e la shell

 

mostrerà le scelte disponibili.

 


2 commenti

  1. Nauru ha detto:

    I would like to express my love for your kindness in support of those individuals that require help on this one concern. Your real commitment to getting the solution throughout appeared to be really helpful and have in most cases helped many people just like me to achieve their goals. This informative tips and hints indicates so much a person like me and even more to my office workers. Many thanks; from each one of us.

Lascia un commento