In un sistema operativo, una shell (o terminale) è un programma che permette agli utenti di comunicare con il sistema e di avviare altri programmi. È una delle componenti principali di un sistema operativo, insieme al kernel. La shell è l’ambiente di lavoro attraverso il quale è possibile impartire al computer comandi, richiedendo l’esecuzione di programmi.
Esistono molti tipi di shell; quando si parla semplicemente di “shell”, o anche di “terminale”, si intende di solito una shell testuale con cui l’utente interagisce attraverso un terminale o un emulatore di terminale.
Una shell testuale è un programma dotato di un’interfaccia a riga di comando, che viene eseguito all’interno di un terminale testuale. L’utente digita un comando, ovvero richiede l’esecuzione di un programma, e il programma eseguito può interagire con l’utente e/o mostrare dati sul terminale.
Una delle più note shell testuali è il tradizionale “prompt dei comandi”, ben noto a quanti hanno familiarità con i sistemi operativi DOS (MS-DOS, DR-DOS, FreeDOS). Per gli utenti di MS-DOS e di alcuni dei sistemi Microsoft Windows la shell è il programma command.com. Anche i sistemi della famiglia Windows NT dispongono di una shell testuale, il programma cmd.exe.
Nei sistemi operativi Unix e Unix-like esistono diverse shell testuali; tra le più note vi sono sicuramente Bash (Bourne-Again Shell) e la Korn shell, ma ne esistono altre come la C shell, con un insieme di funzionalità e caratteristiche di base in comune.
Sono inoltre presenti potenti strumenti per collegare tra loro diversi programmi per svolgere compiti complessi, come le pipe e la redirezione. I programmi Unix più propensi ad essere collegati in questo modo sono detti filtri.
Le moderne shell testuali posseggono diverse funzionalità ergonomiche, tra le quali:
* la cronologia dei comandi eseguiti (o command history), che permette di ripetere gli ultimi comandi digitati;
* il completamento dei comandi (o completion), che permette di completare automaticamente nomi di programmi e di file
* il job control, che permette di avviare in background più programmi o di sospenderli temporaneamente.
Le shell testuali dei sistemi Unix integrano un linguaggio di scripting con il quale è possibile scrivere veri e propri programmi che possono ad esempio automatizzare le operazioni di amministrazione di sistema, semplificandola. La sintassi di tale linguaggio è un’estensione di quella usata interattivamente, per cui chi è familiare con l’uso interattivo della shell trova facile e naturale creare degli script.
Continua a leggere “Tabella dei comandi Windows-Linux”
Tags: ms-dos, shell
Questa guida illustra come gestire un iPod con Ubuntu Linux, nel mio caso è Ubuntu 9.04 e un iPod Silver 4GB della 3° generazione.
Un iPod è un oggetto cool, purtroppo Apple non ancora ci ha regalato una versione di iTunes per Linux… gli utenti di Ubuntu possono comunque gestire un iPod dal loro sistema operativo preferito
In realtà si è riusciti ad installare su Ubuntu Linux la versione 7.2 di iTunes con l’aiuto di wine. Personalmente ho provato ad installare l’ultima versione iTunes 8, ottenendo però un errore… dopo questoco continuato preferendo la strada offerta dal software libero
Continua a leggere “Gestire un iPod con Ubuntu Linux”
Tags: iPod
Commento
In questa guida si è scelto di utilizzare go6.net come tunnel broker IPv6 invece di sixxs.net.
Le motivazioni sono molteplici, ma pur sempre personali dunque siete liberi di scegliere con la vostra testa. La mia posizione è basata sui seguenti fatti:
Continua a leggere “Tunnel Broker IPv6: risorse e guida all’utilizzo”
Tags: ipv6
Cosa è il modello ISO/OSI?
Una rete di calcolatori è definita come un insieme di calcolatori interconnessi tra loro e autonomi, tutti allo stesso grado di importanza.
Il modello ISO/OSI ci permette di descrivere tali calcolatori (i nostri computer) come un insieme di 7 livelli sovrapposti. Questa astrazione è utile poichè ci permette di scomporre il difficile problema della comunicazione tra calcolatori in più sotto problemi, ognuno risolto da un livello osi differente. Questo principio è molto usato anche in programmazione sotto il nome di Divide et Impera.
Lo strato 1 “fisico” si occupa della cruda trasmissione di bit su un canale fisico (il cavo ethernet che arriva all’HAG nel nostro caso), lo strato 2 “Datalink” ci permette di dividere il flusso dei nostri bit trasmessi in trame e di controllare eventuali errori di trasmissione svolti dallo strato 1, lo strato 3 “Network” ci permette di poter scegliere tra servizi con connessione o connectionless, si occupa del routing e di suddividere le informazioni in pacchetti, lo strato 4 “Transport” divide le informazioni in frammenti, ripropone servizi connection oriented o connectionless affidabili o non affidabili e rieffettua un controllo di errore, lo strato 5 “Session” che permette di gestire le connessioni create a strato sottostante, lo strato 6 “Presentation” che gestisce il formato delle informazioni processate e lo strato 7 “Application” con le applicazioni utente.
Continua a leggere “Modello ISO/OSI, Internet Protocol Suite, IPv4 e IPv6″
Tags: ipv6
Questo articolo illustra come risolvere il problema di indicizzazione:
Tracker Applet
-----------------------
Tracker
There was an error while performing indexing:
Index corrupted
[ Reindex all contents ] [ Cancel ] [ OK ]
su Linux Ubuntu 9.04 (Jaunty Jackalope), quando si inserisce una memoria esterna… come una penna usb.
Il problema nasce perchè il sistema operativo cerca di indicizzare i dati sulla memoria esterna, che può essere stata compromessa su altri computer (ad esempio quando togliamo la chiavetta usb senza prima smontarla correttamente).
Continua a leggere “Ubuntu – Errore di indicizzazione dal Tracker Applet”
Tags: indicizzazione, tracker