Linux - O shell Linux - Die Shell Linux - Le shell Linux - Shell Linux - The shell

Introduzione allo shell

L'interprete di comandi è l'interfaccia tra l'utente e il sistema operativo, da cui il suo nome in inglese «shell», che significa «conchiglia».

Le shell, une coquille entre l\'OS et l\'utilisateur

Lo shell è così incaricato di fare da intermediario tra il sistema operativo e l'utente mediante delle linee di comandi inserite da quest'ultimo. Il suo ruolo consiste quindi nel leggere la linea di comando, interpretare il suo significato, eseguire il comando e poi rinviare il risultato alle uscite.

Lo shell è anche un file eseguibile incaricato di interpretare i comandi, di trasmetterli al sistema di rinviare il risultato. Esiston più shell, fra i più diffusi sh (detto «Bourne shell»), bashBourne again shell»), cshC Shell»), TcshTenex C shell»), kshKorn shell») et zshZero shell»). I loro nomi corrispondono generalmente al nome dell'eseguibile.

Ogni utente ha uno shell di default, che viene lanciato all'apertura di un prompt. Lo shell di default è precisato nel file di configurazione /etc/passwdnell'ultimo campo della linea corrispondente all'utente. E' possibile cambiare di shell in una sezione eseguendo semplicemente il file eseguibile corrispondente, ad esempio :

/bin/bash

Prompt

Lo shell si inizializza leggendo la propria configurazione globale (in un file della cartella /etc/), poi leggendo la configurazione propria dell'utente (in un file nascosto, il cui nome comincia con un punto, posto nella cartella di base dell'utente, cioè /home/nome_dell'_utente/.file_di_configurazione), poi visualizza un prompt promptcome segue :

machine:/repertoire/courant$
Per default nella maggiorparte degli shell il prompt è composto dal nome del terminale, seguito da due punti (:), dalla cartella corrente, poi da un carattere che indica il tipo di utente connesso  :
  • «$» indica che si tratta di un utente normale
  • «#» indica che si tratta dell'amministratore, detto «root»

Nozione di linea di comando

Una linea di comando è una stringa di caratteri costituita da un comando, corrispondente ad un file eseguibile dal sistema oppure da un comando dello shell nonché da alcuni parametri opzionali :

ls -al /home/jf/
Nel comando qui sopra, ls è il nome del comando, -al e /home/jean-francois/sono dei parametri. I parametri che cominciano con - sono detti opzioni. Per ogni comando esiste generalmente un certo numero di opzioni che possono essere dettagliate digitando uno dei comandi seguenti :
comando --help
comando -?
man comando

Entrata-uscita standard

All'esecuzione di un comando, si crea un processo. Questo va ad aprire tre flussi :

  • stdin, detto entrata standard, nel quale il processo leggerà i dati in entrata. Da default stdin corrisponde alla tastiera; STDIN è identificato dal numero 0;
  • stdout, detto uscita standard, nel quale il processo scriverà i dati in uscita. Da default stdin corrisponde allo schermo; STDOUT è identificato dal numero 1;
  • stderr, detto errore standard, nel quale il processore scriverà i messaggi di errore. Da default stderr corrisponde allo schermo. STDERR è identificato dal numero 2;

entrées-sorties standard : STDOUT, STDIN, STDERR

Da default all'esecuzione di un programma, i dati sono quindi LUES partendo dalla tastiera e il programma invia la propria uscita e i propri errori sullo schermo, ma è possibile leggere i dati partendo da qualsiasi periferica d'entrata, anche da un file e inviare l'uscita su una periferica di visualizzazione, un file, ecc.

Ridirezione

Linux, come tutti i sistemi di tipo Unix, ha dei meccanismi per permettono di rindirizzare le entrate-uscite standard verso dei file.

Così, l'utilizzo del carattere «>» permette di rindirizzare l'uscita standard di un comando posto a sinistra verso il file posto a destra :

ls -al /home/jf/ > toto.txt
echo "Toto" > /etc/miofilediconfigurazione
Il comando seguente è equivalente ad una copia di file :
cat toto > toto2
La ridirezione «>» ha lo scopo di creare un nuovo file. Quindi, se esiste un file con lo stesso nome, questo sarà eliminato. Il comando successivo crea semplicemente un file vuoto :
> file
L'impiego di un doppio carattere «>>» permette di concatenare l'uscita standard al file, cioè aggiungere l'uscita al file, senza eliminarlo.

Allo stesso modo, il carattere «<» indica una ridirezione dell'entrata standard. Il comando successivo invia il contenuto del file toto.txt in entrata del comando cat, il cui solo scopo è di visualizzare il contenuto sull'uscita standard (esempio inutile ma formativo) :

cat < toto.txt

Infine l'utilizzo della ridirezione «<<» permette di leggere sull'entrata standard fino a che la stringa posta a destra sia incontrata. Così, l'esempio seguente leggerà l'entrata standard fino a che la parola STOP non arrivi, poi visualizzerà il risultato :

cat << STOP

Tubi di comunicazione (pipes)

I tubi (in inglese «pipes", tuyaux) costituiscono un meccanismo di comunicazione proprio ad ogni sistema UNIX. Un tubo, simbolizzato da una barra verticale (carattere «|»), permette di attribuire l'uscita standard di un comando all'entrata standard di un'altra.

Così nell'esempio seguente, l'uscita standard del comando ls -al è inviato al programma sort incaricato di smistare il risultato in ordine alfabetico :

ls -al | sort

In questo modo è possibile incatenare un certo numero di comandi per tubi successivi. Nell'esempio che segue il comando visualizza tutti i file della cartella corrente, seleziona le linee contenenti la parola "zip" (con il comando grep) e conta il numero totale di linee :

ls -l | grep zip | wc -l


Ultime modificazione ilvenerdì 6 febbraio 2009 alle 16:52:03.Questo documento intitolato «  » da Kioskea (it.kioskea.net) è reso disponibile sotto la licenza Creative Commons. È possibile copiare, modificare le copie di questa pagina, alle condizioni previste dalla licenza, come questa nota appare chiaramente.
Migliori risposte per « Linux Lo shell » in :
Sistemi UNIX - Lo shell Vedi Introduzione allo shell L'iterprete di comandi è l'interfaccia tra l'utente e il sistema operativo, da cui il suo nome inglese «shell», che significa «conchiglia». Lo shell è quindi incaricato di fare da intermediario tra il sistema operativo e...
Comandi Linux Vedi Tabella dei principali comandi Linux Comando Descrizione equivalenti DOS ls elenca il contenuto di una cartella dir cd cambio di cartella cd cd .. cartella vicina cd.. mkdir crea una nuova...
SHELL BASH - GUIDA Livello Principiante Vedi Introduzione II. Cosa è la shell ? III. Come accedere alla linea di comando IV. Le console virtuali Esempio : Accedere alla console 3 dall'interfaccia grafica V. Connessione dentro una console virtuale Esempio: VI. Il prompt di comandi...
Eseguire uno script shell VediEseguire uno script Per poter eseguire uno script o un programma in riga di comando ci sono molte possibilità : *1. Il percorso assoluto *2. Il percorso relativo *3. Modificare la variabile PATH *Nota: Lo Sha...
Catturare/Stampare la schermata VediNessun bisogno di software per prendere uno screenshot Come? Tutto lo schermo PC/Windows Su Mac Parte dello schermo PC / Windows Su Mac Su PC / Linux Pagina da scorrere Come? A volte è utile essere in grado di catturare ciò...
Linux - Oracle - Installazione di Oracle 11g su Linux Ubuntu VediPresentazione Download di UBUNTU Download di Oracle Configurazione del serveur X Aggiornamenti dei pacchetti Installazione dei pacchetti di pre-installazione Aggiornamento della shell Aggiornare la configurazione degli Utenti...
Download AIDA32 VediAIDA32 è un programma di utilità per visualizzare le informazioni, eseguire la diagnostica, i test del sistema. AIDA 32 è in grado di visualizzare informazioni sullo schermo, stamparle o salvarle in un file. Lo sviluppo di AIDA32 è stato...
Linux - Gestione degli utenti VediPrimo passo dell'amministratore Quando diverse persone hanno accesso ad un sistema, è necessario che l'amministratore di sistema gestisca gli utenti. Per questo, si devono conoscere i comandi usuali e i file da configurare.I file importanti da...
Linux - L'editore Vi VediIntroduzione a Vi Vi è uno degli editori di testo più popolari sui sistemi di tipo Unix (con Emacs e pico) malgrado la sua ergonomia molto limitata. Su Linux esiste una versione libera di Vi detta Vim (Vi Improved). Vi Vihaille è un editore...
Linux: Preparazione del sistema prima dell'installazione VediHardware necessario Linux non richiede per la sua configurazione di base un computer di ultima generazione : requisiti minimi un processore 386SX 4MB di memoria viva (8MB consigliati) un controllore di disco rigido e un disco con 20MB liberi (100MB...