Sei sulla pagina 1di 548

Guida dell'amministratore di sistema di Linux

Cerca nel sito:

Guida dell'amministratore di sistema di Linux


Versione 0.6.2
Joanna Oja
viu@iki.fi Introduzione all'amministrazione di un sistema Linux per principianti. Copyright 1993--1998 Lars Wirzenius. Traduzione di Eugenia Franzoni <eugenia@pluto.linux.it> Versione italiana copyright 1998--1999 Eugenia Franzoni. L'aggiornamento della traduzione italiana stato finanziato da HOPS libri (http://www.hopslibri.com). Le sezioni "Le shell" e "X e xdm" del capitolo "Login e logout" sono proprie dell'edizione italiana. I marchi registrati sono marchi dei rispettivi titolari. permesso copiare e distribuire copie esatte di questo manuale, purch la nota di copyright e questa nota vengano mantenute su tutte le copie. permesso processare il sorgente del documento con TeX o con altri formattatori, stampare i risultati e distribuire il documento stampato, purch questo contenga una copia identica di questa licenza di distribuzione, inclusi i riferimenti a dove il codice sorgente possa essere trovato ed alla home page ufficiale. permesso copiare e distribuire copie modificate di questo manuale sotto le condizioni delle copie identiche, purch l'intero lavoro risultante sia distribuito sotto i termini di una licenza identica a questa. permesso copiare e distribuire traduzioni di questo manuale in altre lingue, sotto le stesse condizioni delle versioni modificate.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/index.html (1 di 6) [02/07/2001 14.54.21]

Guida dell'amministratore di sistema di Linux

L'autore apprezza comunicazioni delle modifiche, delle traduzioni e delle versioni stampate. Grazie. Trademarks are owned by their owners. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to process the document source code through TeX or other formatters and print the results, and distribute the printed document, provided the printed document carries copying permission notice identical to this one, including the references to where the source code can be found and the official home page. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. The author would appreciate a notification of modifications, translations, and printed versions. Thank you. Sommario Dedica Disponibilit del sorgente e delle versioni preformattate 1. Introduzione Il Linux Documentation Project 2. Panoramica di un sistema Linux Le componenti di un sistema operativo Le parti principali del kernel I principali servizi in un sistema UNIX init Login dai terminali Syslog Esecuzione periodica dei comandi: cron e at GUI - interfaccia grafica utente Le reti Login in rete Filesystem condivisi La posta elettronica La stampa

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/index.html (2 di 6) [02/07/2001 14.54.21]

Guida dell'amministratore di sistema di Linux

La struttura del filesystem 3. L'albero delle directory Premesse La radice del filesystem La directory /etc La directory /dev Il filesystem /usr Il filesystem /var Il filesystem /proc 4. Uso dei dischi e di altre memorie di massa Due tipi di dispositivi Gli hard disk I floppy I CD-ROM Le unit nastro La formattazione Le partizioni L'MBR, i settori di boot e la tabella delle partizioni Partizioni estese e partizioni logiche Tipi di partizione Ripartizionare un hard disk File di device e partizioni I filesystem Cosa sono i filesystem? Filesystem a go-go Quale filesystem bisogna usare? Come creare un filesystem Montare e smontare un filesystem Il controllo dell'integrit di un filesystem con fsck Il controllo degli errori sul disco con badblocks Combattere la frammentazione Altri strumenti per tutti i filesystem Altri strumenti per il filesystem ext2

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/index.html (3 di 6) [02/07/2001 14.54.21]

Guida dell'amministratore di sistema di Linux

Dischi senza filesystem Allocare spazio disco Schemi di partizionamento Requisiti di spazio Esempi di allocazione di hard disk Aggiungere altro spazio disco per Linux Suggerimenti per risparmiare spazio su disco 5. La gestione della memoria Cosa la memoria virtuale? La creazione di uno spazio di swap Come si usa lo spazio di swap La condivisione dello spazio di swap con altri sistemi operativi Allocare lo spazio di swap La cache di buffer 6. Avvio e spengimento del sistema Introduzione all'avvio ed allo spengimento del sistema Il processo di boot pi da vicino Ancora sullo shutdown Il reboot Modalit utente singolo Dischetti di avvio di emergenza 7. init init prima di tutto Configurazione di init per inizializzare le getty: il file /etc/inittab I runlevel Configurazioni speciali in /etc/inittab Fare il boot in modalit utente singolo 8. Login e logout Login via terminale Login via rete Cosa fa login La shell X e xdm

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/index.html (4 di 6) [02/07/2001 14.54.21]

Guida dell'amministratore di sistema di Linux

Il controllo degli accessi 9. La gestione degli account degli utenti Che cos' un account? Come creare un utente /etc/passwd ed altri file informativi Gli identificativi numerici per gli utenti e i gruppi Ambiente iniziale: /etc/skel Creazione manuale di un utente Modifica delle propriet degli utenti Rimozione di un utente Disabilitazione temporanea di un utente 10. I backup Sull'importanza delle copie di backup La scelta del mezzo di backup La scelta dello strumento di backup Backup semplici Fare backup con tar Recuperare file con tar Backup multilivello Di cosa fare backup Backup compressi 11. Tenere il tempo I fusi orari Gli orologi hardware e software Impostazione e lettura dell'ora Quando l'orologio si sbaglia Glossario (BOZZA) Bibliografia Avanti Dedica

Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/index.html (5 di 6) [02/07/2001 14.54.21]

Guida dell'amministratore di sistema di Linux

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/index.html (6 di 6) [02/07/2001 14.54.21]

Dedica

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Dedica
Questa pagina riservata ad una dedica futura. Indietro Guida dell'amministratore di sistema di Linux Partenza Avanti Disponibilit del sorgente e delle versioni preformattate

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/f40.html [02/07/2001 14.54.27]

Guida dell'amministratore di sistema di Linux

Cerca nel sito:

Guida dell'amministratore di sistema di Linux


Versione 0.6.2
Joanna Oja
viu@iki.fi Introduzione all'amministrazione di un sistema Linux per principianti. Copyright 1993--1998 Lars Wirzenius. Traduzione di Eugenia Franzoni <eugenia@pluto.linux.it> Versione italiana copyright 1998--1999 Eugenia Franzoni. L'aggiornamento della traduzione italiana stato finanziato da HOPS libri (http://www.hopslibri.com). Le sezioni "Le shell" e "X e xdm" del capitolo "Login e logout" sono proprie dell'edizione italiana. I marchi registrati sono marchi dei rispettivi titolari. permesso copiare e distribuire copie esatte di questo manuale, purch la nota di copyright e questa nota vengano mantenute su tutte le copie. permesso processare il sorgente del documento con TeX o con altri formattatori, stampare i risultati e distribuire il documento stampato, purch questo contenga una copia identica di questa licenza di distribuzione, inclusi i riferimenti a dove il codice sorgente possa essere trovato ed alla home page ufficiale. permesso copiare e distribuire copie modificate di questo manuale sotto le condizioni delle copie identiche, purch l'intero lavoro risultante sia distribuito sotto i termini di una licenza identica a questa. permesso copiare e distribuire traduzioni di questo manuale in altre lingue, sotto le stesse condizioni delle versioni modificate.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/book1.html (1 di 6) [02/07/2001 14.54.43]

Guida dell'amministratore di sistema di Linux

L'autore apprezza comunicazioni delle modifiche, delle traduzioni e delle versioni stampate. Grazie. Trademarks are owned by their owners. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to process the document source code through TeX or other formatters and print the results, and distribute the printed document, provided the printed document carries copying permission notice identical to this one, including the references to where the source code can be found and the official home page. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. The author would appreciate a notification of modifications, translations, and printed versions. Thank you. Sommario Dedica Disponibilit del sorgente e delle versioni preformattate 1. Introduzione Il Linux Documentation Project 2. Panoramica di un sistema Linux Le componenti di un sistema operativo Le parti principali del kernel I principali servizi in un sistema UNIX init Login dai terminali Syslog Esecuzione periodica dei comandi: cron e at GUI - interfaccia grafica utente Le reti Login in rete Filesystem condivisi La posta elettronica La stampa

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/book1.html (2 di 6) [02/07/2001 14.54.43]

Guida dell'amministratore di sistema di Linux

La struttura del filesystem 3. L'albero delle directory Premesse La radice del filesystem La directory /etc La directory /dev Il filesystem /usr Il filesystem /var Il filesystem /proc 4. Uso dei dischi e di altre memorie di massa Due tipi di dispositivi Gli hard disk I floppy I CD-ROM Le unit nastro La formattazione Le partizioni L'MBR, i settori di boot e la tabella delle partizioni Partizioni estese e partizioni logiche Tipi di partizione Ripartizionare un hard disk File di device e partizioni I filesystem Cosa sono i filesystem? Filesystem a go-go Quale filesystem bisogna usare? Come creare un filesystem Montare e smontare un filesystem Il controllo dell'integrit di un filesystem con fsck Il controllo degli errori sul disco con badblocks Combattere la frammentazione Altri strumenti per tutti i filesystem Altri strumenti per il filesystem ext2

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/book1.html (3 di 6) [02/07/2001 14.54.43]

Guida dell'amministratore di sistema di Linux

Dischi senza filesystem Allocare spazio disco Schemi di partizionamento Requisiti di spazio Esempi di allocazione di hard disk Aggiungere altro spazio disco per Linux Suggerimenti per risparmiare spazio su disco 5. La gestione della memoria Cosa la memoria virtuale? La creazione di uno spazio di swap Come si usa lo spazio di swap La condivisione dello spazio di swap con altri sistemi operativi Allocare lo spazio di swap La cache di buffer 6. Avvio e spengimento del sistema Introduzione all'avvio ed allo spengimento del sistema Il processo di boot pi da vicino Ancora sullo shutdown Il reboot Modalit utente singolo Dischetti di avvio di emergenza 7. init init prima di tutto Configurazione di init per inizializzare le getty: il file /etc/inittab I runlevel Configurazioni speciali in /etc/inittab Fare il boot in modalit utente singolo 8. Login e logout Login via terminale Login via rete Cosa fa login La shell X e xdm

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/book1.html (4 di 6) [02/07/2001 14.54.43]

Guida dell'amministratore di sistema di Linux

Il controllo degli accessi 9. La gestione degli account degli utenti Che cos' un account? Come creare un utente /etc/passwd ed altri file informativi Gli identificativi numerici per gli utenti e i gruppi Ambiente iniziale: /etc/skel Creazione manuale di un utente Modifica delle propriet degli utenti Rimozione di un utente Disabilitazione temporanea di un utente 10. I backup Sull'importanza delle copie di backup La scelta del mezzo di backup La scelta dello strumento di backup Backup semplici Fare backup con tar Recuperare file con tar Backup multilivello Di cosa fare backup Backup compressi 11. Tenere il tempo I fusi orari Gli orologi hardware e software Impostazione e lettura dell'ora Quando l'orologio si sbaglia Glossario (BOZZA) Bibliografia Avanti Dedica

Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/book1.html (5 di 6) [02/07/2001 14.54.43]

Guida dell'amministratore di sistema di Linux

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/book1.html (6 di 6) [02/07/2001 14.54.43]

Disponibilit del sorgente e delle versioni preformattate

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Disponibilit del sorgente e delle versioni preformattate


Potete trovare il codice sorgente ed altri formati leggibili da computer su Internet: sono disponibili in FTP anonimo sulla home page del Linux Documentation Project (http://metalab.unc.edu/LDP/) o sulla home page di questo libro a http://www.iki.fi/viu/linux/sag/, almeno in formato Postscript e TeX .DVI. La versione italiana disponibile in FTP anonimo dallo stesso Linux Documentation Project e sul sito del Pluto: ftp://ftp.pluto.linux.it/pub/pluto/ildp/. Indietro Dedica Partenza Avanti Introduzione

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/f43.html [02/07/2001 14.55.17]

Introduzione

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 1. Introduzione
"In principio, il file era informe e vuoto, e il vuoto era sulla faccia dei bit. E le Dita dell'Autore si mossero sulla faccia della tastiera. E l'Autore disse "Siano le parole!", e le parole furono." Questo manuale, la Guida dell'amministratore di sistema di Linux, descrive appunto gli aspetti di amministrazione di sistema di Linux; rivolto a chi non sa quasi niente di amministrazione di sistema (del tipo ``ma che ?''), ma che gi conosce almeno le basi dell'utilizzo comune. In questo manuale non viene spiegato come installare Linux: compito dell'Installation and Getting Started [IGS]. Pi avanti verranno date altre informazioni sui manuali di Linux disponibili. L'amministrazione di sistema comprende tutto quello che bisogna fare per mantenere un sistema informatico in una forma utilizzabile; include cose come fare il backup dei file (e il restore, se necessario), installare nuovi programmi, creare account per i nuovi utenti (e cancellarli quando non servono pi), assicurarsi che il filesystem non sia corrotto e cos via. Se un computer fosse, diciamo, una casa, l'amministrazione di sistema si chiamerebbe manutenzione, e comprenderebbe pulire, riparare le finestre rotte e altre cose del genere. L'amministrazione di sistema non si chiama manutenzione perch sarebbe troppo semplicistico[1]. La struttura di questo manuale tale che molti dei capitoli possono essere letti indipendentemente l'uno dall'altro, quindi se vi servono delle informazioni diciamo sui backup, potete leggere solo quel capitolo. Si spera che questo renda il libro pi facile da usare come riferimento ma contemporaneamente lasci la possibilit di leggerne solo una piccola parte quando serve, invece che essere costretti a studiare tutto. Comunque, questo manuale per prima cosa un corso di amministrazione di sistemi, e un manuale di riferimento solo per una coincidenza fortuita. Questo manuale non inteso per essere usato completamente da solo. Gran parte dell'altra documentazione di Linux importante per gli amministratori di sistema; dopotutto questi sono semplicemente utenti con privilegi e doveri speciali. Una risorsa molto importante sono le pagine man, che dovrebbero essere sempre consultate quando trovate un comando che non vi familiare. Anche se questo manuale specifico su Linux, il principio generale seguito che debba essere utile
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c50.html (1 di 4) [02/07/2001 14.55.24]

Introduzione

anche per altri sistemi operativi di tipo UNIX. Sfortunatamente, dato che c' molta variet tra le varie versioni di UNIX in generale, ed in particolare nell'amministrazione di sistema, c' poca speranza di poter trattare tutte le varianti. Anche solo trattare tutte le versioni di Linux difficile, per come si sviluppato. Non esiste una distribuzione di Linux ufficiale, quindi persone diverse hanno configurazioni diverse, e molti usano configurazioni personalizzate. Questo libro non specifico su una distribuzione, anche se io uso quasi solamente la Debian GNU/Linux. Quando mi stato possibile, ho tentato di evidenziare le differenze e di spiegare diverse alternative. Ho provato a descrivere come funziona ciascuna cosa, piuttosto che elencare semplicemente ``quattro facili lezioni'' per ogni argomento. Ci significa che il libro contiene molte informazioni che non sono indispensabili per tutti: queste parti sono per contrassegnate, e possono essere saltate se usate un sistema preconfigurato. Naturalmente leggere tutto aumenter la vostra comprensione del sistema e vi dovrebbe rendere pi gradevole amministrarlo. Come tutto lo sviluppo che riguarda Linux, il mio lavoro stato fatto su basi volontarie: l'ho fatto perch pensavo che sarebbe stato divertente, e perch credevo che fosse utile. Comunque, come per tutto il lavoro di volontari, c' un limite al tempo che ci ho potuto spendere, e anche alla mia esperienza e conoscenza. Questo significa che il manuale non necessariamente valido come sarebbe se fosse stato scritto da un guru pagato lautamente e che abbia avuto un paio d'anni per perfezionarlo. Naturalmente credo che sia piuttosto buono, ma ritenetevi avvisati. Un caso particolare in cui ho un po' tagliato che non ho coperto in maniera estensiva molti argomenti gi spiegati dettagliatamente in altri manuali disponibili gratuitamente, in particolare per la documentazione specifica dei programmi, come i dettagli dell'uso di mkfs. Io descrivo solo lo scopo del programma e quanto del suo uso necessario per lo scopo del manuale; per altre informazioni, rimando il gentile lettore a questi altri documenti. Di solito, tutta la documentazione a cui mi riferisco fa parte della documentazione completa di Linux. Lars ha tentato di rendere questo manuale migliore possibile, e a me, come attuale manutentore, piacerebbe veramente sapere da voi se avete qualche idea su come migliorarlo. Errori di linguaggio, di concetto, idee per nuovi argomenti da trattare, parti riscritte, informazioni su come si comportano le varie versioni di UNIX... mi interessa tutto. Le informazioni su come contattarmi sono disponibili via World Wide Web su http://www.iki.fi/viu/. Molte persone mi hanno aiutato con questo libro, in maniera diretta o indiretta. Vorrei ringraziare specialmente Matt Welsh per avermi dato l'ispirazione ed aver guidato LDP, Andy Oram per avermi fatto tornare al lavoro dopo aver ricevuto tanto prezioso feedback, Olaf Kirk per avermi dimostrato che era possibile, e Adam Richter della Yggdrasil ed altri per avermi dimostrato che anche altre persone possono trovarlo interessante. Stephen Tweedie, H. Peter Anvin, Rmy Card, Theodore T'so, e Stephen Tweedie mi hanno permesso di prendere in prestito il loro lavoro (e quindi far sembrare il libro pi grosso e molto pi imponente): un paragone tra i filesystem xia ed ext2, l'elenco dei dispositivi ed una descrizione del filesystem ext2; non fanno pi parte del libro. Gliene sono molto grato, e mi scuso per le versioni precedenti in cui mancava un riferimento preciso.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c50.html (2 di 4) [02/07/2001 14.55.24]

Introduzione

Oltre a questi vorrei ringraziare Mark Komarinski per avermi mandato il suo materiale nel 1993, e tutti gli articoli sull'amministrazione di sistema del Linux Journal. Sono molto utili e fonte di grande ispirazione. Moltissime persone mi hanno mandato dei commenti utili. Il piccolo buco nero che ho per archivio non mi consente di ritrovare tutti i loro nomi, ma alcuni di questi sono, in ordine alfabetico: Paul Caprioli, Ales Cepek, Marie-France Declerfayt, Dave Dobson, Olaf Flebbe, Helmut Geyer, Larry Greenfield e suo padre, Stephen Harris, Jyrki Havia, Jim Haynes, York Lam, Timothy Andrew Lister, Jim Lynch, Michael J. Micek, Jacob Navia, Dan Poirier, Daniel Quinlan, Jouni K Seppnen, Philippe Steindl, G.B. Stotte. Le mie scuse a quelli che ho dimenticato.

Il Linux Documentation Project


Il Linux Documentation Project, o LDP, un gruppo libero di autori, correttori di bozze e curatori che lavorano insieme per fornire una documentazione completa del sistema operativo Linux. Il coordinatore generale del progetto Greg Hankins. Questo manuale fa parte di una collana distribuita dall'LDP, che comprende la Guida dell'Utente (Linux Users' Guide) [UG], la Guida dell'Amministratore di Sistema (System Administrators' Guide) [SAG], la Guida dell'Amministratore di Rete (Network Administrators' Guide) [NAG] e la Guida del Kernel (Kernel Hackers' Guide) [KHG]. Questi manuali sono tutti disponibili in formato sorgente, .dvi e postscript in FTP anonimo su metalab.unc.edu nella directory /pub/Linux/docs/LDP. Incoraggiamo chiunque abbia propensione per la scrittura o l'editoria ad aggiungersi a noi per migliorare la documentazione di Linux. Se avete accesso e-mail ad Internet, potete contattare Greg Hankins a <gregh@sunsite.unc.edu>. (N.d.T. Per quanto riguarda la traduzione in italiano, trovate le guide LDP nella sottodirectory translations/it delle directory di ciascuna guida inglese. Per collaborare alla traduzione di altre guide, o per eventuali correzioni di questa, contattate me, all'email <eugenia@pluto.linux.it>)

Note
[1] Ci sono persone che la chiamano cos, ma solo perch non hanno mai letto questo manuale, poverini. Partenza Avanti Panoramica di un sistema Linux

Indietro Disponibilit del sorgente e delle versioni preformattate

Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c50.html (3 di 4) [02/07/2001 14.55.24]

Introduzione

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c50.html (4 di 4) [02/07/2001 14.55.24]

Panoramica di un sistema Linux

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 2. Panoramica di un sistema Linux


Sommario Le componenti di un sistema operativo Le parti principali del kernel I principali servizi in un sistema UNIX "E Dio guard quello che aveva fatto, e vide che era cosa buona. " (Genesi 1:31) Questo capitolo d una panoramica di un sistema Linux: per prima cosa verranno descritti i principali servizi forniti, poi, senza scendere nei dettagli, i programmi che implementano tali servizi. Lo scopo di questo capitolo dare delle nozioni sul sistema in generale, le singole componenti sono descritte in altre parti della guida.

Le componenti di un sistema operativo


Un sistema operativo UNIX formato da un kernel e da programmi di sistema, oltre ad applicazioni con cui si fa il vero lavoro. Il kernel il cuore del sistema operativo[1]: tiene traccia dei file sul disco, avvia i programmi e li fa girare contemporaneamente, assegna la memoria ed altre risorse ai vari processi, scambia i pacchetti con la rete e cos via. Il kernel fa pochissime cose da solo, ma fornisce gli strumenti con cui si possono costruire tutti i servizi; evita anche che chiunque acceda all'hardware direttamente, forzando tutti a utilizzare gli strumenti che fornisce: in questo modo protegge gli utenti l'uno dall'altro. Gli strumenti forniti dal kernel vengono usati attraverso chiamate di sistema: consultate le pagine man della sezione 2 per ulteriori informazioni su questo argomento. I programmi di sistema usano gli strumenti forniti dal kernel per implementare i vari servizi propri di un sistema operativo. I programmi di sistema, come tutti gli altri programmi, girano `sopra al kernel', in quella che viene chiamata modalit utente (user mode). La differenza tra i programmi di sistema e gli
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c89.html (1 di 2) [02/07/2001 14.55.26]

Panoramica di un sistema Linux

applicativi lo scopo: le applicazioni sono concepite per fare delle cose utili (o per giocare, se si tratta di un gioco), mentre i programmi di sistema servono per fare funzionare il sistema stesso. Un word processor un'applicazione, telnet un programma di sistema. La differenza comunque spesso non ben definita, ed importante solo per chi abituato a dividere tutto in categorie. Un sistema operativo pu anche contenere dei compilatori e le corrispondenti librerie (sotto Linux in particolare GCC e la libreria C), anche se non c' bisogno che tutti i linguaggi di programmazione ne siano parte integrante. Ne possono fare parte anche la documentazione, e qualche volta anche dei giochi. Tradizionalmente, il sistema operativo stato definito come il contenuto del nastro o dei dischi di installazione; con Linux non cos chiaro, perch sparso su tutti i siti FTP del mondo.

Note
[1] In effetti viene spesso in modo errato considerato il sistema operativo stesso, ma non lo : un sistema operativo fornisce molti pi servizi di un semplice kernel. Partenza Avanti Le parti principali del kernel

Indietro Introduzione

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c89.html (2 di 2) [02/07/2001 14.55.26]

Bibliografia

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro

Bibliografia Documentazione varia


Installation and Getting Started Guide, Matt Welsh. Parte del Linux Documentation Project, disponibile elettronicamente presso ftp://metalab.unc.edu/pub/Linux/docs/LDP; una guida onnicomprensiva su tutte le tematiche indispensabili per poter installare ed utilizzare un sistema Linux. Linux Users Guide, Larry Greenfield. Parte del Linux Documentation Project, disponibile elettronicamente presso ftp://metalab.unc.edu/pub/Linux/docs/LDP anche in italiano; manuale di base per l'utilizzo di un sistema Linux, comprende anche l'uso dei principali editor. Linux System Administrators' Guide, Lars Wirzenius. Parte del Linux Documentation Project, disponibile elettronicamente presso ftp://metalab.unc.edu/pub/Linux/docs/LDP. Linux Network Administrators' Guide, Olaf Kirch. Parte del Linux Documentation Project, disponibile elettronicamente presso ftp://metalab.unc.edu/pub/Linux/docs/LDP; manuale sull'uso delle reti con Linux, comprende anche le basi del networking. Kernel Hackers' Guide, Michael K. Johnson. Parte del Linux Documentation Project, disponibile su http://www.redhat.com:8080/HyperNews/get/khg.html e scaricabile da ftp://ftp.redhat.com/johnsonm/khg.tar.gz. Bootdisk HOWTO, Graham Chapman. Disponibile con gli altri HOWTO di Linux Tips HOWTO, Paul Anderson. Disponibile con gli altri HOWTO di Linux Linux Device List, Peter Anvin. Elenco dei numeri di device minori e maggiori per i dispositivi di Linux. ora incluso nei sorgenti del kernel. Linux software map, Aaron Scrab. un elenco di tutto il software esistente su Linux. Si pu ottenere su metalab.unc.edu Linux filesystem defragmenter, Stephen Tweedie e Alexei Vovenko.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/b2642.html (1 di 2) [02/07/2001 14.55.32]

Bibliografia

Disponibile in forma elettronica su metalab.unc.edu The Second Extended Filesystem: Current State, Future Development, Rmy Card. Slides usate durante la presentazione alla Second International Linux and Internet Conference di Berlino, nel Maggio 1995. Disponibile via FTP anonimo su ftp.ibp.fr

Libri
UNIX System Administration Handbook, Evi Nemeth, Garth Snyder, e Scott Seebass, 0-13-933441-6, Prentice-Hall, 1989. Da un anonimo: non ho trovato nessun altro libro simile a cui paragonarlo, quindi non so se lo raccomanderei in modo particolare. Tratta sia di BSD che di SYSV, quindi potrebbe essere pi utile ad un amministratore di sistema Linux di un singolo libro che focalizzi l'attenzione solo su BSD o solo su SYSV. UNIX Power Tools, Jerry Peek, Tim O'Reilly, e Mike Loukide, 0-679-79073-X, Bantam, 1993. Da un anonimo: non una guida onnicomprensiva di niente, ma comprende MOLTI suggerimenti e trucchi sull'amministrazione di sistema. compreso anche un CD-ROM pieno di utili programmi per Unix.

Manuali
Linux Filesystem Structure---Release 1.2, Daniel Quinlan, mar 1995. Descrizione e proposta per un albero standard per le directory di Linux, la cui intenzione rendere pi semplice impacchettare il software ed amministrare i sistemi Linux facendo apparire i file sempre nelle stesse posizioni. Segue abbastanza da vicino la tradizione Unix ed ha supporto dalla maggior parte delle distribuzioni di Linux. disponibile via FTP da ftp.funet.fi The New Hacker's Dictionary, Eric Raymond, MIT Press, 1991, 0-262-18145-2 (hc), 0-262-68069-6 (pbk). Dizionario dello slang usato dagli hacker, una versione cartacea dello Jargon File, che contiene tutto il testo del libro (tipicamente in forma pi aggiornata) e che di pubblico dominio. Indietro Glossario (BOZZA) Partenza

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/b2642.html (2 di 2) [02/07/2001 14.55.32]

Le parti principali del kernel

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 2. Panoramica di un sistema Linux

Avanti

Le parti principali del kernel


Il kernel di Linux consiste di diverse parti importanti: la gestione dei processi, la gestione della memoria, i driver per i dispositivi hardware, quelli per i filesystem, la gestione della rete ed altre parti minori. In Figura 2-1 ne sono mostrati alcuni. Figura 2-1. Alcune delle parti pi importanti del kernel di Linux

Probabilmente le parti pi importanti del kernel (nient'altro funziona senza di esse) sono la gestione della memoria e dei processi. La gestione della memoria si occupa di assegnare le aree di memoria e di spazio di swap ai processi, a parti del kernel e per la cache di buffer. La gestione dei processi crea i processi ed implementa il multitasking cambiando il processo attivo sul processore. Al livello pi basso, il kernel contiene un driver per ciascun dispositivo hardware che supporta. Dato che il mondo pieno di tipi diversi di hardware il numero dei driver enorme. Ci sono spesso molti componenti hardware simili che differiscono solo in come vengono controllati dal software; queste similitudini rendono possibile avere delle classi generali di driver che supportano operazioni simili: ogni membro della classe ha la stessa interfaccia con il resto del kernel, ma si distingue in quello che serve per implementarlo. Ad esempio, tutti i driver dei dischi sembrano uguali dal punto di vista del resto del kernel, cio hanno tutti operazioni come `inizializza il driver', `leggi il settore N' e `scrivi il settore N'. Alcuni dei servizi software forniti dal kernel stesso hanno propriet simili e possono dunque essere astratti in classi. Ad esempio, i vari protocolli di rete sono stati astratti in un'interfaccia di programmazione, la BSD socket library. Un altro esempio il livello filesystem virtuale (VFS), che astrae le operazioni su filesystem senza considerare la loro implementazione. Ciascun tipo di filesystem fornisce un'implementazione di ogni operazione; quando un'entit prova ad usare un filesystem, la richiesta passa per il VFS che la gira al driver opportuno. Indietro Partenza Avanti

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x109.html (1 di 2) [02/07/2001 14.55.42]

Le parti principali del kernel

Panoramica di un sistema Linux

Risali

I principali servizi in un sistema UNIX

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x109.html (2 di 2) [02/07/2001 14.55.42]

I principali servizi in un sistema UNIX

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 2. Panoramica di un sistema Linux

Avanti

I principali servizi in un sistema UNIX


Questa sezione descrive alcuni dei servizi di UNIX pi importanti, ma senza scendere molto nei dettagli; verranno descritti pi accuratamente nei capitoli successivi.

init
Il servizio pi importante di un sistema UNIX fornito da init. init viene inizializzato come primo processo su ciascun sistema UNIX ed l'ultima cosa che il kernel fa all'avvio. Quando parte, init continua il processo di avvio portando avanti vari compiti (controlla e monta i filesystem, avvia i daemon ecc.). L'elenco esatto delle cose che init fa dipende dal suo tipo: ce ne sono diversi tra cui scegliere. init di solito fornisce il concetto di modalit a singolo utente, in cui nessuno si pu collegare e root usa una shell alla console; la modalit usuale viene chiamata modalit multiutente. Alcuni tipi generalizzano questo concetto in runlevel; le modalit utente singolo e multiutente sono considerate due runlevel, e ce ne possono essere altri, ad esempio, per far girare X sulla console. Nelle normali operazioni, init si assicura che stia girando getty (per poter far collegare gli utenti), e adotta i processi orfani (quelli il cui padre morto: in UNIX tutti i processi devono essere in un singolo albero, quindi gli orfani devono venire adottati). Quando il sistema viene spento, init che deve uccidere tutti gli altri processi, smontare i filesystem e fermare il processore, oltre agli altri compiti per cui stato configurato.

Login dai terminali


I login dai terminali (attraverso linee seriali) e dalla console (quando non si sta usando X) vengono forniti dal programma getty. init avvia una getty separata per ogni terminale da cui sono consentiti i login, getty legge il nome dell'utente ed avvia il programma login, che legge la password; se questa corrisponde al nome utente, login avvia la shell. Quando questa termina, cio l'utente si scollega, o
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x120.html (1 di 5) [02/07/2001 14.55.44]

I principali servizi in un sistema UNIX

quando login termina perch il nome dell'utente e la password non corrispondono, init lo nota ed avvia un'altra copia di getty. Il kernel non ha nozione dei login, che vengono tutti gestiti dai programmi di sistema.

Syslog
Il kernel e molti programmi di sistema producono messaggi di errore, di avvertimento e di altro tipo. Spesso importante che questi messaggi possano essere letti in un secondo tempo, anche dopo parecchio, quindi devono essere scritti in un file. Il programma che lo fa syslog, che pu essere configurato per distribuire i messaggi in file diversi a seconda di chi li genera o del loro grado di importanza; ad esempio quelli del kernel sono spesso rediretti in un file separato dagli altri, dato che spesso sono pi importanti e devono essere letti regolarmente per individuare gli eventuali problemi.

Esecuzione periodica dei comandi: cron e at


Sia gli utenti che gli amministratori di sistema hanno spesso bisogno di avviare periodicamente dei programmi, ad esempio l'amministratore di sistema potrebbe voler avviarne uno che ripulisca le directory che contengono file temporanei (/tmp e /var/tmp) dai file vecchi, per evitare che i dischi si riempiano, dato che non tutti i programmi cancellano correttamente i file generati. Il servizio di cron funziona proprio per questo. Ciascun utente ha un file crontab, dove elenca i comandi che vuole eseguire ed il momento in cui farlo; il daemon cron avvia poi i comandi scelti al momento specificato. Il servizio di at simile a cron, ma vale per una sola volta: il comando viene eseguito al momento indicato, ma non viene ripetuto.

GUI - interfaccia grafica utente


UNIX e Linux non hanno incorporata l'interfaccia nel kernel, ma la fanno implementare da programmi a livello utente, sia per l'ambiente testuale che per quello grafico. Questa soluzione rende il sistema pi flessibile, ma ha lo svantaggio che facile implementare un'interfaccia diversa per ciascun programma, rendendo il sistema pi difficile da imparare. L'ambiente grafico usato principalmente con Linux si chiama Sistema X Window (in breve, X). X stesso non implementa un'interfaccia utente, ma solo un sistema di finestre, cio degli strumenti con cui poterne implementare una. I tre stili pi conosciuti in X sono Athena, Motif e Open Look.

Le reti
Una rete un mezzo per connettere due o pi computer in modo che possano comunicare tra di loro. I metodi usati di connessione e comunicazione sono piuttosto complessi, ma il risultato finale molto utile.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x120.html (2 di 5) [02/07/2001 14.55.44]

I principali servizi in un sistema UNIX

I sistemi operativi UNIX hanno molte capacit di connessione in rete. La maggior parte dei servizi di base (i filesystem, la stampa, i backup ecc.) possono essere usati attraverso la rete; questo pu rendere l'amministrazione di sistema pi semplice, dato che permette di centralizzare i compiti amministrativi, sfruttando nel contempo i lati positivi dei microcomputer e dell'informatica distribuita, come i costi minori e una pi alta tolleranza degli errori. Questo libro, comunque, d solo un accenno sulle reti; per ulteriori informazioni c' la Guida dell'amministratore di rete di Linux (Linux Network Administrators' Guide [NAG]), che comprende anche una descrizione di base del funzionamento delle reti stesse.

Login in rete
I login in rete funzionano in modo leggermente diverso da quelli normali: in questi ultimi infatti c' una linea seriale fisica separata per ciascun terminale attraverso cui ci si collega, mentre per ciascuna persona che si collega via rete c' una connessione virtuale separata, e ce ne possono essere infinite[1]. Non quindi possibile avviare una getty separata per ciascuna connessione virtuale possibile. Ci sono poi diversi modi per collegarsi attraverso una rete: i principali nelle reti di tipo TCP/IP sono telnet e rlogin. I login di rete hanno, invece di un insieme di getty, un daemon singolo per ciascun modo di collegamento (telnet e rlogin hanno daemon separati) che sta in ascolto per i tentativi di login in ingresso. Quando ne nota uno, inizializza una copia di se stesso per gestire quel singolo tentativo; l'istanza originale continua ad aspettarne altri. La nuova istanza funziona in modo simile a getty.

Filesystem condivisi
Una delle cose pi utili che si possono fare con i servizi di rete la condivisione di file attraverso un filesystem di rete. Quello che viene usato di solito si chiama Network File System, o NFS, ed sviluppato dalla SUN. Con un filesystem condiviso qualsiasi operazione su file fatta da un programma su una macchina viene spedita attraverso la rete ad un altro computer. In questo modo si inganna il programma e gli fa pensare che tutti i file sull'altro computer siano in realt sul computer su cui sta girando, il che rende molto semplice la condivisione di informazioni, non richiedendo modifiche ai programmi.

La posta elettronica
La posta elettronica di solito il metodo pi importante per comunicare usando il computer. Un messaggio di posta elettronica viene immagazzinato in un file in un formato speciale e per inviare e leggere i messaggi vengono usati dei programmi appositi. Ciascun utente ha una casella di posta in arrivo (un file nel formato speciale) dove viene immagazzinata tutta la nuova posta in ingresso. Quando qualcuno spedisce un messaggio, il programma di posta ritrova la casella del destinatario e lo aggiunge al file. Se la casella di posta del destinatario si trova su un altro computer il messaggio viene inviato a quella macchina, che lo aggiunge alla casella nel modo che ritiene migliore.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x120.html (3 di 5) [02/07/2001 14.55.44]

I principali servizi in un sistema UNIX

Il sistema di posta consiste di molti programmi: la distribuzione a caselle locali o remote viene fatta dall'agente di trasferimento di posta (mail transfer agent o MTA), cio sendmail o smail, mentre i programmi utilizzati dagli utenti sono molti e vari (gli agenti di posta utente, mail user agent o MUA, come ad esempio pine o elm). Le caselle di posta vengono in genere tenute in /var/spool/mail.

La stampa
Solo una persona alla volta pu usare una stampante, ma poco economico non condividerla tra vari utenti. La stampante viene quindi gestita da un software che implementa una coda di stampa: tutti i job di stampa vengono messi in una coda e quando la stampante ne ha finito uno gliene viene mandato un altro automaticamente. Questo solleva gli utenti dall'organizzazione della coda di stampa e dal litigare per il controllo della stampante[2]. Il software di stampa fa anche lo spool delle stampe sul disco, cio il testo viene mantenuto in un file finch il job in coda. Ci permette ad un programma applicativo di inviare velocemente i job di stampa al software di coda; l'applicazione non deve cos aspettare finch il job realmente stato stampato per poter continuare. veramente conveniente, dato che permette di stampare una versione di un file e non dover aspettare che abbia finito per farne una nuova completamente diversa.

La struttura del filesystem


Il filesystem diviso in molte parti: di solito in un filesystem radice, con /bin, /lib, /etc e /dev che formano un singolo filesystem, /usr con i programmi ed i dati che non vengono modificati, /var con quelli che vengono modificati (come i file di log), ed /home con i file personali dei vari utenti. A seconda della configurazione dell'hardware e delle decisioni dell'amministratore di sistema la divisione pu cambiare, e potrebbe esserci anche un unico filesystem che comprende tutto. Il Capitolo 3 descrive la struttura del filesystem abbastanza approfonditamente: il Linux Filesystem Standard [LFS] lo fa in maniera ancora pi dettagliata.

Note
[1] Beh, almeno ce ne possono essere parecchie. La larghezza di banda della rete ancora una risorsa piuttosto scarsa, c' ancora una limitazione pratica al numero di login contemporanei su una singola connessione di rete. Invece formano una nuova coda alla stampante, aspettando le stampe, dato che nessuno sembra mai capace di far sapere esattamente al software di coda quando i vari job sono veramente finiti: un gran passo avanti per le relazioni sociali inter-ufficio. Partenza Risali Avanti L'albero delle directory

[2]

Indietro Le parti principali del kernel

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x120.html (4 di 5) [02/07/2001 14.55.44]

I principali servizi in un sistema UNIX

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x120.html (5 di 5) [02/07/2001 14.55.44]

L'albero delle directory

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 3. L'albero delle directory


Sommario Premesse La radice del filesystem La directory /etc La directory /dev Il filesystem /usr Il filesystem /var Il filesystem /proc " Due giorni dopo, c'era Pooh, seduto sul suo ramo, che faceva dondolare le gambe, e l, vicino a lui, c'erano quattro vasi di miele..." (A.A. Milne) Questo capitolo descrive le parti pi importanti di un albero delle directory standard di Linux, basato sullo standard FSSTND per i filesystem; descrive come esso viene normalmente diviso in filesystem separati con scopi diversi, e spiega le motivazioni che stanno dietro questo modo di fare. Vengono descritti anche altri tipi di suddivisione.

Premesse
Questo capitolo basato sullo standard dei filesystem Linux, FSSTND, versione 1.2 [LFS], che tenta di impostare uno standard per l'organizzazione dell'albero delle directory nei sistemi Linux. Uno standard del genere ha il vantaggio che pi facile scrivere o fare porting del software per Linux e amministrare le macchine Linux, dato che tutto si trova nel posto designato. Non c' nessuna autorit che impone di uniformarsi allo standard, ma questo ha il supporto della maggior parte, se non di tutte, le distribuzioni Linux, quindi non una buona idea discostarsi da esso se non per ragioni molto particolari. Il FSSTND tenta di seguire la tradizione Unix e le tendenze pi recenti, rendendo i sistemi Linux familiari per chi ha esperienza con altri sistemi Unix e viceversa. Questo capitolo non dettagliato come il FSSTND, e gli amministratori di sistema dovrebbero leggere anche quello per avere una comprensione completa dell'argomento; inoltre non descrive tutti i file in dettaglio: lo scopo infatti quello di dare una visione del sistema dal punto di vista del filesystem. Ulteriori informazioni sui singoli file possono essere trovate in altre parti di questo libro o nelle pagine man. L'albero delle directory completo concepito in modo che possa essere diviso in parti pi piccole, ciascuna sulla sua partizione o nel suo disco, per ottimizzare le cose in dipendenza dalla dimensione dei dischi stessi e per rendere pi semplice il backup ed il resto dell'amministrazione. Le parti principali sono i filesystem radice, /usr, /var e /home (vedere la Figura 3-1), e ciascuna ha uno scopo diverso. L'albero delle directory stato strutturato in modo che funzioni bene in una rete di macchine Linux che condividano delle parti del filesystem su un dispositivo a sola lettura (ad esempio un CD-ROM), o sulla rete con
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c240.html (1 di 2) [02/07/2001 14.57.36]

L'albero delle directory

NFS. Figura 3-1. Parti di un albero delle directory Unix. Le linee tratteggiate indicano i limiti delle partizioni.

Descriviamo ora i ruoli delle diverse parti dell'albero delle directory.


q

Il filesystem radice specifico per ciascuna macchina (generalmente viene immagazzinato su un disco locale, anche se pu trattarsi di un disco RAM o di uno in rete) e contiene i file necessari per avviare il sistema e per portarlo ad uno stato tale da poter montare gli altri filesystem. Il contenuto del filesystem radice sar quindi sufficiente per la modalit a singolo utente; conterr inoltre gli strumenti per recuperare un filesystem danneggiato o copiare dai backup i file perduti. Il filesystem /usr contiene tutti i comandi, le librerie, le pagine man e altri file che non vengono modificati durante le normali operazioni. Nessun file in /usr dovrebbe essere specifico per nessuna macchina data, n dovrebbe essere modificato durante il normale uso. Questo permette di condividere i file in rete, risparmiando spazio disco (/usr pu arrivare facilmente a centinaia di megabyte) e rendendo l'amministrazione molto pi semplice (basta modificare solo l'/usr principale quando si aggiorna un'applicazione, e non c' bisogno di farlo separatamente su ciascuna macchina). Anche se il filesystem si trova su un disco locale, pu essere montato con accesso a sola lettura, per diminuire le possibilit di corruzione durante un crash. Il filesystem /var contiene file che vengono modificati, come le directory di spool (per la posta, le news, le stampanti eccetera), i file di log, le pagine man formattate ed i file temporanei. Tradizionalmente tutto quello che si trova in /var si trovava in qualche posto sotto /usr, ma questo rendeva impossibile montare /usr a sola lettura. Il filesystem /home contiene le home directory degli utenti, cio tutti i veri dati sul sistema. Separare le home directory su un albero o su un filesystem a parte rende molto pi semplici i backup: le altre parti in genere non ne hanno bisogno, o almeno non frequentemente (cambiano poco nel tempo). Una /home grande potrebbe dover essere separata in vari filesystem, aggiungendo dei sottolivelli, ad esempio /home/students e /home/staff.

Anche se le diverse parti sono state chiamate fino ad ora filesystem, non richiesto che si trovino realmente su filesystem diversi; possono essere tenute sullo stesso se il sistema piccolo e monoutente e si vogliono mantenere le cose semplici. L'albero delle directory pu essere diviso in filesystem in modo diverso da quanto spiegato, a seconda di quanto sono grandi i dischi e di come lo spazio allocato per i vari scopi. La parte importante, piuttosto, che tutti i nomi importanti funzionino: anche se, ad esempio, /var e /usr sono in realt sulla stessa partizione, i nomi /usr/lib/libc.a e /var/adm/messages devono funzionare; si possono ad esempio spostare i file sotto /var in /usr/var, e rendere /var un link simbolico a /usr/var. La struttura dei filesystem Unix raggruppa i file a seconda del loro scopo, cio tutti i comandi si trovano nello stesso posto, tutti i file di dati in un altro, la documentazione in un terzo e cos via. Un'alternativa sarebbe raggruppare i file a seconda del programma a cui appartengono, cio tutti i file di Emacs in una stessa directory, tutti quelli di TeX in un altra, eccetera. Il problema di quest'ultimo approccio che rende difficile condividere i file (le directory dei programmi spesso contengono sia file statici che condivisibili, e sia file che cambiano che file che restano invariati) e spesso anche trovare dei file (ad esempio, le pagine man sarebbero in un numero enorme di posti e fare in modo che i programmi di lettura le possano trovare l'incubo degli amministratori di sistema). Indietro I principali servizi in un sistema UNIX Partenza Avanti La radice del filesystem

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c240.html (2 di 2) [02/07/2001 14.57.36]

La radice del filesystem

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 3. L'albero delle directory

Avanti

La radice del filesystem


Il filesystem radice dovrebbe generalmente essere piccolo, dato che contiene file estremamente critici e un filesystem piccolo che viene modificato poco ha migliori possibilit di non venire corrotto. Un filesystem radice corrotto in genere significa che diventa impossibile avviare il sistema tranne che con misure eccezionali (ad esempio da un floppy), quindi meglio non rischiare. La directory principale in genere non contiene nessun file, tranne a volte l'immagine standard di avvio per il sistema, che di solito si chiama /vmlinuz. Tutti gli altri file sono in sue sottodirectory: /bin Comandi necessari durante l'avvio del sistema che devono essere usati dagli utenti normali (in genere dopo l'avvio). /sbin Come /bin, ma i comandi non sono intesi per gli utenti normali, anche se questi li possono usare se necessario e se hanno i permessi. /etc File di configurazione specifici della macchina. /root La home directory dell'utente root. /lib Le librerie condivise necessarie ai programmi sul filesystem radice. /lib/modules I moduli caricabili del kernel, specialmente quelli che sono necessari per avviare il sistema quando lo si sta recuperando da un disastro (ad esempio i driver di rete e dei filesystem). /dev

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x294.html (1 di 2) [02/07/2001 14.57.38]

La radice del filesystem

I file di device. /tmp I file temporanei. I programmi che vengono avviati dopo il boot dovrebbero usare /var/tmp, non /tmp, dato che il primo si trova probabilmente in un disco con pi spazio. /boot I file usati dal bootstrap loader, cio LILO. Le immagini del kernel spesso vengono tenute qui invece che nella directory principale. Se ce ne pi di una, la directory pu facilmente crescere parecchio, e spesso pu essere meglio tenerla in un filesystem separato, anche per assicurarsi che le immagini del kernel siano comprese nei primi 1024 cilindri di un disco IDE. /mnt Il punto di mount dove l'amministratore di sistema possa montare temporaneamente delle directory. I programmi non dovrebbero montarsi su /mnt automaticamente. /mnt pu essere diviso in sottodirectory (ad esempio /mnt/dosa pu essere il floppy che usa un filesystem MS-DOS, e /mnt/exta lo stesso con un filesystem ext2). /proc, /usr, /var, /home Punti di mount per gli altri filesystem. Indietro L'albero delle directory Partenza Risali Avanti La directory /etc

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x294.html (2 di 2) [02/07/2001 14.57.38]

La directory /etc

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 3. L'albero delle directory

Avanti

La directory /etc
La directory /etc contiene moltissimi file: alcuni di essi sono descritti qui sotto, per gli altri dovreste determinare a quale programma appartengono e leggere la pagina man corrispondente. Anche molti file di configurazione per la rete si trovano in /etc, e sono descritti nella Guida dell'amministratore di rete. /etc/rc o /etc/rc.d o /etc/rc?.d Script o directory di script da eseguire all'avvio o quando si cambia il runlevel. Vedere la sezione su init per altre informazioni. /etc/passwd Il database degli utenti, con dei campi che danno il nome dell'utente, il vero nome, la home directory, la password criptata ed altre informazioni su ciascun utente. Il formato documentato nella pagina man di passwd . /etc/fdprm La tabella dei parametri dei floppy disk. Descrive le caratteristiche di diversi formati di floppy e viene usata da setfdprm; vedere la pagina man di quest'ultimo per altre informazioni. /etc/fstab Elenca i filesystem montati automaticamente all'avvio dal comando mount -a (in /etc/rc o in un file di avvio equivalente). Sotto Linux contiene anche delle informazioni sulle aree di swap usate automaticamente da swapon -a. Vedere la sezione Montare e smontare un filesystem nel Capitolo 4 e la pagina man di mount per ulteriori informazioni. /etc/group Simile a /etc/passwd, ma descrive i gruppi anzich gli utenti. Vedere la pagina man di group per altre informazioni. /etc/inittab File di configurazione di init. /etc/issue L'output di getty prima del prompt di login. Di solito contiene una breve descrizione del sistema o un messaggio di benvenuto, la scelta del quale lasciata all'amministratore di sistema. /etc/magic Il file di configurazione di file; contiene la descrizione di vari formati di file, basandosi sui quali file indovina il tipo di file. Vedere la pagina man di magic e file per altre informazioni. /etc/motd Il messaggio del giorno, visualizzato subito dopo ogni login riuscito. Il contenuto a scelta dell'amministratore di sistema, e spesso viene usato per dare delle informazioni agli utenti, come ad esempio l'avviso degli orari di

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x365.html (1 di 2) [02/07/2001 14.57.48]

La directory /etc

spengimento del sistema. /etc/mtab Elenco dei filesystem montati al momento; viene impostato inizialmente dagli script di avvio, aggiornato automaticamente dal comando mount, ed usato quando c' bisogno di un elenco dei filesystem montati, come per il comando df. /etc/shadow Il file delle shadow password sui sistemi in cui sono installate. Le shadow password spostano le password criptate da /etc/passwd a /etc/shadow; quest'ultimo non leggibile da nessuno tranne root, cos pi difficile craccare le password. /etc/login.defs File di configurazione del comando login. /etc/printcap Come /etc/termcap, ma per le stampanti; ha una sintassi diversa. /etc/profile, /etc/csh.login, /etc/csh.cshrc File eseguiti al login o all'avvio dalle shell di tipo Bourne o C, permettono all'amministratore di sistema di impostare dei valori di default globali per tutti gli utenti. Vedere le pagine man per le rispettive shell. /etc/securetty Identifica i terminali sicuri, cio quelli da cui root pu accedere al sistema. Tipicamente vengono elencate solo le console virtuali, in modo che sia impossibile (o almeno pi difficile) acquistare i privilegi di superutente craccando un sistema da un modem o dalla rete. /etc/shells Elenca le shell considerate sicure. Il comando chsh permette agli utenti di cambiare la loro shell di login solo con le shell elencate in questo file. ftpd, il processo server che d i servizi FTP per la macchina controller che la shell dell'utente sia elencata in /etc/shells e non permetter di collegarsi a chi usa una shell non in elenco. /etc/termcap Il database dei terminali, descrive con quali ``sequenze di escape'' si controllano i vari terminali. I programmi vengono scritti in modo che invece di mandare in output una sequenza di escape che funzioni solo su una particolare marca di terminali, cercano la sequenza corretta per fare quello che vogliono fare in /etc/termcap. Come risultato la maggior parte dei programmi funzionano con quasi tutti i tipi di terminali. Vedere le pagine man di termcap, curs_termcap e terminfo per altre informazioni. Indietro La radice del filesystem Partenza Risali Avanti La directory /dev

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x365.html (2 di 2) [02/07/2001 14.57.48]

La directory /dev

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 3. L'albero delle directory

Avanti

La directory /dev
La directory /dev contiene degli speciali file di device per i vari dispositivi. I file di device vengono chiamati usando delle convenzioni speciali, che sono descritte nell'elenco dei dispositivi (Device list, vedi [DEVICE-LIST]). I file di device vengono creati durante l'installazione, ma lo si pu fare anche in seguito usando lo script /dev/MAKEDEV. /dev/MAKEDEV.local uno script scritto dall'amministratore di sistema che crea file di device o collegamenti solo locali (cio quelli che non fanno parte dello standard MAKEDEV, come i file di device per i driver di alcuni dispositivi non standard). Indietro La directory /etc Partenza Risali Avanti Il filesystem /usr

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x491.html [02/07/2001 14.57.52]

Il filesystem /usr

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 3. L'albero delle directory

Avanti

Il filesystem /usr
Il filesystem /usr spesso grande, dato che vi sono installati tutti i programmi. Tutti i file in /usr vengono di solito da una distribuzione di Linux; i programmi installati in locale e il resto vanno sotto /usr/local: in questo modo possibile aggiornare il sistema a una nuova versione della distribuzione, o addirittura ad una distribuzione completamente nuova, senza dover reinstallare tutti i programmi da capo. Alcune delle sottodirectory di /usr sono elencate qui sotto (alcune di quelle meno importanti sono state saltate, vedere il FSSTND [LFS] per altre informazioni). /usr/X11R6 Il sistema X Window, tutti i suoi file. Per semplificare lo sviluppo e l'installazione di X, i suoi file non sono stati integrati nel resto del sistema, ma c' un albero di directory sotto /usr/X11R6 simile a quello sotto /usr stesso. /usr/X386 Simile a /usr/X11R6, ma per X11 Release 5. /usr/bin Quasi tutti i comandi utente. Alcuni sono in /bin o in /usr/local/bin. /usr/sbin I comandi di amministrazione di sistema che non sono necessari sotto il filesystem radice, come la maggior parte dei programmi di server. /usr/man, /usr/info, /usr/doc Rispettivamente le pagine man, la documentazione info della GNU ed altri file di documentazione. /usr/include File di header per il linguaggio di programmazione C. Per essere consistenti con il resto del filesystem si sarebbero dovuti trovare in /usr/lib ma la tradizione del tutto in favore di questo nome. /usr/lib File di dati che non vengono modificati per i programmi ed i sottosistemi, tra cui anche alcuni file di configurazione validi per tutto il sistema. Il nome lib viene da libreria: originariamente in /usr/lib erano memorizzate le librerie delle subroutine di programmazione. /usr/local Il posto per il software installato in locale e per gli altri file. Indietro La directory /dev Partenza Risali Avanti Il filesystem /var

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x501.html (1 di 2) [02/07/2001 14.57.53]

Il filesystem /usr

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x501.html (2 di 2) [02/07/2001 14.57.53]

Il filesystem /var

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 3. L'albero delle directory

Avanti

Il filesystem /var
/var contiene i dati che vengono modificati quando il sistema lavora normalmente. specifico per ciascun sistema, cio non viene condiviso in rete con altri computer. /var/catman Una cache per le pagine man che vengono formattate a richiesta. I sorgenti delle pagine man vengono di solito immagazzinati in /usr/man/man*; alcune hanno una versione preformattata, che si trova in /usr/man/cat*, altre devono essere formattate la prima volta che vengono visualizzate; la versione formattata viene posta in /var/man in modo che chi le volesse visualizzare di nuovo non debba ripetere l'operazione (/var/catman viene ripulita spesso nello stesso modo delle directory temporanee). /var/lib I file che vengono modificati mentre il sistema viene normalmente usato. /var/local I dati variabili per i programmi che vengono installati in /usr/local (cio quelli che sono stati installati dall'amministratore di sistema). Notate che anche i programmi installati in locale dovrebbero usare le altre directory /var se sono appropriate, ad esempio /var/lock. /var/lock File di lock. Molti programmi seguono una convenzione per creare dei file di lock in /var/lock per indicare che stanno usando un particolare dispositivo o file; altri programmi noteranno il lock e non accetteranno di usare il dispositivo o il file in questione. /var/log I file di log di vari programmi, specialmente di login (/var/log/wtmp, dove vengono memorizzati tutti i login e i logout del sistema) e di syslog (/var/log/messages, dove vengono immagazzinati tutti i messaggi del kernel e dei programmi di sistema). I file in /var/log possono spesso crescere indefinitamente, e possono richiedere che la directory venga ripulita ad intervalli regolari.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x561.html (1 di 2) [02/07/2001 14.57.54]

Il filesystem /var

/var/run File che contengono informazioni sul sistema valide fino al successivo reboot. Ad esempio, /var/run/utmp contiene informazioni sugli utenti collegati in quel momento. /var/spool Directory per le mail, le news, le code di stampa ed altre code. Ciascuno spool diverso ha la sua sottodirectory sotto /var/spool, ad esempio le caselle di posta degli utenti sono in /var/spool/mail. /var/tmp File temporanei troppo grandi o che devono esistere per un tempo pi lungo di quello permesso per /tmp (anche se l'amministratore di sistema pu non permettere file molto vecchi neanche in /var/tmp). Indietro Il filesystem /usr Partenza Risali Avanti Il filesystem /proc

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x561.html (2 di 2) [02/07/2001 14.57.54]

Il filesystem /proc

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 3. L'albero delle directory

Avanti

Il filesystem /proc
Il filesystem /proc contiene un filesystem virtuale: non esiste sul disco, ma viene creato nella memoria dal kernel. Viene usato per fornire informazioni sul sistema (originariamente lo faceva sui processi, da cui il suo nome). Alcuni dei file e delle directory pi importanti in esso contenute sono descritte qui sotto; maggiori dettagli si possono trovare nella pagina man di proc. /proc/1 Una directory con le informazioni sul processo numero 1. Ciascun processo ha una directory sotto /proc indicata dal numero di identificazione del processo. /proc/cpuinfo Informazioni sul processore, come il tipo, la marca, il modello e la performance. /proc/devices Un elenco dei device driver configurati nel kernel in uso. /proc/dma I canali DMA usati al momento. /proc/filesystems I filesystem configurati nel kernel. /proc/interrupts Gli interrupt in uso e quanti ne sono stati chiamati di ciascuno. /proc/ioports Le porte di I/O in uso al momento. /proc/kcore Un'immagine della memoria fisica del sistema, della stessa dimensione di quest'ultima; non occupa cos tanto spazio, ma viene generata in tempo reale quando i programmi vi accedono (ricordate: a

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x625.html (1 di 3) [02/07/2001 14.57.56]

Il filesystem /proc

meno che non lo copiate da qualche altra parte, nessun file sotto /proc occupa spazio disco). /proc/kmsg Messaggi di output del kernel. Vengono mandati anche a syslog. /proc/ksyms La tabella dei simboli per il kernel. /proc/loadavg La media del carico (load average) del sistema: tre indicatori senza significato di quanto lavoro deve fare il sistema in ciascun momento. /proc/meminfo Informazioni sull'uso della memoria, sia fisica che di swap. /proc/modules Quali moduli del kernel sono caricati al momento. /proc/net Informazioni di stato sui protocolli di rete. /proc/self Un link simbolico alla directory dei processi del programma che sta guardando in /proc. Quando due processi guardano in /proc, ottengono link diversi. Serve pi che altro per facilitare ai programmi il raggiungimento della loro directory dei processi. /proc/stat Varie statistiche sul sistema, come il numero di page fault da quando stato avviato. /proc/uptime Il tempo per cui il sistema stato attivo. /proc/version La versione del kernel. Notate che mentre i file descritti qui sopra tendono ad essere file di testo leggibili facilmente, altri possono essere formattati in modo da non essere facilmente digeribili. Ci sono molti comandi che fanno poco pi che leggere questi ultimi e formattarli in modo da poterli capire meglio. Ad esempio, il programma free legge /proc/meminfo e converte le quantit date in byte a kilobyte (aggiungendo anche altre informazioni). Indietro Il filesystem /var Partenza Risali Avanti Uso dei dischi e di altre memorie di massa

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x625.html (2 di 3) [02/07/2001 14.57.56]

Il filesystem /proc

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x625.html (3 di 3) [02/07/2001 14.57.56]

I filesystem

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

I filesystem
Cosa sono i filesystem?
Un filesystem comprende i metodi e le strutture di dati usate da un sistema operativo per tenere traccia dei file su un hard disk o su una sua partizione, cio il modo in cui i file sono organizzati sui dischi. La parola viene anche usata per riferirsi ad una partizione o a un disco usato per immagazzinare i file, o al tipo del filesystem stesso, quindi si pu dire ``ho due filesystem'' per indicare che si hanno due partizioni in cui immagazzinare file, o che si sta usando ``il filesystem extended'' per indicarne il tipo. La differenza tra un disco o una partizione ed il filesystem che esso contiene molto importante. Alcuni programmi (compreso, abbastanza ragionevolmente, quelli che creano i filesystem) operano direttamente sui settori del disco o della partizione; se c' un filesystem esistente, questo verr distrutto o seriamente danneggiato. La maggior parte dei programmi operano su un filesystem e quindi non funzioneranno su una partizione che non ne contiene uno (o che ne contiene uno del tipo sbagliato). Prima che si possa usare un disco o una partizione come filesystem, questo deve essere inizializzato e bisogna scriverci le strutture di dati per l'archiviazione: questo processo si chiama creazione di un filesystem. La maggior parte dei tipi di filesystem UNIX hanno una struttura generale simile, anche se i dettagli esatti cambiano abbastanza. I concetti centrali sono quelli di superblocco, inode, blocco dati, blocco directory e blocco indirezione. Il superblocco contiene delle informazioni sul filesystem intero, come la sua dimensione (l'informazione esatta qui dipende dal filesystem). Un inode contiene tutte le informazioni su un file eccetto il suo nome, che viene immagazzinato nella directory insieme con il numero dell'inode. Una voce di directory consiste del nome di un file e del numero dell'inode che lo rappresenta. L'inode contiene il numero di diversi blocchi dati, che vengono usati per immagazzinare i dati del file. Nell'inode c' posto solo per alcuni numeri di blocchi dati, ma se ne servono pi viene allocato dinamicamente pi spazio per i puntatori ai blocchi dati. Questi blocchi allocati dinamicamente sono blocchi indiretti; il nome indica che per trovare i blocchi dati bisogna trovare prima il numero all'interno del blocco indiretto.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (1 di 12) [02/07/2001 14.58.01]

I filesystem

I filesystem UNIX di solito permettono di creare un buco in un file (si fa con lseek; controllate la pagina man), cio il filesystem fa solo finta che in un posto particolare nel file ci sono solo byte zero, ma per quel posto nel file non viene riservato nessun settore di disco reale (cio il file user un po' meno spazio disco). Accade spesso solo per i file binari piccoli, le librerie condivise di Linux, alcuni database ed alcuni altri casi speciali (i buchi sono implementati immagazzinando un valore speciale come indirizzo del blocco dati nel blocco indiretto o nell'inode. Questo indirizzo speciale significa che non viene allocato nessun blocco dati per quella parte del file e quindi che questo ha un buco). I buchi sono moderatamente utili. Sul sistema dell'autore una semplice misura ha mostrato un potenziale per circa 4 MB di risparmio usando buchi, su un totale di 200 MB di spazio disco usato. Quel sistema, per, contiene pochi programmi e nessun file di database.

Filesystem a go-go
Linux supporta diversi tipi di filesystem. Al momento in cui sto scrivendo, i pi importanti sono: minix Il pi vecchio e si presume il pi affidabile, ma piuttosto limitato (mancano alcuni time stamp, e i nomi di file sono al massimo di 30 caratteri) e di capacit ristrette (al massimo 64 MB per filesystem). xia Una versione modificata del filesystem minix, che alza i limiti sulla lunghezza dei nomi di file e sulla dimensione dei filesystem, ma non introduce nuove caratteristiche. Non molto conosciuto, ma si dice funzioni molto bene. ext2 Il pi completo dei filesystem nativi di Linux e al momento anche il pi usato. disegnato per essere compatibile in avanti, in modo che per usare nuove versioni del codice non si abbia bisogno di ricreare i filesystem esistenti. ext Una versione pi vecchia dell'ext2 che non era compatibile in avanti. Non usato quasi mai in nuove installazioni, perch la maggior parte delle persone si sono convertite all'ext2. Oltre a questi vengono supportati molti filesystem di altri sistemi operativi, per rendere pi semplice lo scambio di file; questi filesystem funzionano come quelli nativi, tranne per la mancanza di alcune caratteristiche normali di quelli UNIX, oppure hanno delle limitazioni curiose o altre stranezze. msdos Compatibile con i filesystem FAT di MS-DOS (ed OS/2 e Windows NT). usmdos Estende il driver msdos sotto Linux, in modo da avere i nomi di file lunghi, i permessi, i link e i file di device, e da assegnare ciascun file ad un utente. In questo modo possibile usare un normale filesystem msdos come se fosse uno Linux, eliminando la necessit di avere una

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (2 di 12) [02/07/2001 14.58.01]

I filesystem

partizione separata per quest'ultimo. iso9660 Il filesystem standard per i CD-ROM: viene supportata automaticamente l'estensione Rock Ridge allo standard per i CD-ROM, che permette di avere i nomi dei file lunghi. nfs Un filesystem di rete che permette la condivisione dei file tra vari computer per avervi un accesso pi facile. hpfs Il filesystem di OS/2. sysv I filesystem SystemV/386, Coherent e Xenix. La scelta del filesystem da usare dipende dalla situazione: se ci sono ragioni di compatibilit o altri motivi che rendono indispensabile l'uso di uno dei filesystem non nativi, deve essere usato quello, se si pu scegliere liberamente allora probabilmente la scelta pi saggia l'ext2, dato che ha tutte le caratteristiche e la sua performance la migliore. Esiste anche il filesystem proc, di solito accessibile nella directory /proc, che in realt non per niente un filesystem anche se gli assomiglia. Il filesystem proc permette di avere facile accesso ad alcune strutture di dati del kernel, come la lista dei processi (da cui il nome); fa apparire queste strutture di dati come un filesystem, che pu essere manipolato con i normali strumenti per i file. Ad esempio, per avere un elenco di tutti i processi si pu usare il comando $ ls -l /proc total 0 dr-xr-xr-x 4 root root 0 Jan 31 20:37 1 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95 dr-xr-xr-x 4 root users 0 Jan 31 20:37 98 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99 -r--r--r-1 root root 0 Jan 31 20:37 devices -r--r--r-1 root root 0 Jan 31 20:37 dma -r--r--r-1 root root 0 Jan 31 20:37 filesystems -r--r--r-1 root root 0 Jan 31 20:37 interrupts -r-------1 root root 8654848 Jan 31 20:37 kcore -r--r--r-1 root root 0 Jan 31 11:50 kmsg -r--r--r-1 root root 0 Jan 31 20:37 ksyms -r--r--r-1 root root 0 Jan 31 11:51 loadavg -r--r--r-1 root root 0 Jan 31 20:37 meminfo -r--r--r-1 root root 0 Jan 31 20:37 modules dr-xr-xr-x 2 root root 0 Jan 31 20:37 net dr-xr-xr-x 4 root root 0 Jan 31 20:37 self

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (3 di 12) [02/07/2001 14.58.01]

I filesystem

-r--r--r-1 root root 0 Jan 31 20:37 stat -r--r--r-1 root root 0 Jan 31 20:37 uptime -r--r--r-1 root root 0 Jan 31 20:37 version $ (ci saranno alcuni file in pi che non corrispondono a processi; l'esempio qui sopra stato accorciato). Notate che anche se si chiama filesystem, nessuna parte di proc tocca nessun disco: esiste solo nell'immaginazione del kernel. Quando si cerca di guardare una qualsiasi parte del filesystem proc, il kernel fa sembrare che esista da qualche parte, ma non cos; quindi, anche se c' un file /proc/kcore di qualche mega, non occupa spazio disco.

Quale filesystem bisogna usare?


Di solito non ci sono molte ragioni per usare diversi filesystem. Al momento, l'ext2fs il pi comune e probabilmente la scelta pi saggia. A seconda delle necessit globali di strutture di archiviazione, velocit, affidabilit (apparente), compatibilit e svariate altre ragioni pu essere consigliabile usare un altro filesystem. La scelta va fatta caso per caso.

Come creare un filesystem


I filesystem vengono creati, cio inizializzati, con il comando mkfs. In realt esiste un programma separato per ciascun tipo di filesystem e mkfs solo un'interfaccia che avvia quello adatto a seconda del tipo di filesystem desiderato. Il tipo viene selezionato con l'opzione -t tipofs. I programmi richiamati da mkfs hanno interfacce su linea di comando leggermente diverse. Le opzioni pi comuni ed importanti sono riassunte qui sotto; per altri dettagli consultare la pagina man. -t tipofs Seleziona il tipo di filesystem -c Attiva la ricerca dei blocchi danneggiati e ne inizializza di conseguenza la lista. -l nomefile Legge la lista iniziale di blocchi danneggiati dal file nomefile. Per creare un filesystem ext2 su un floppy si dovrebbero dare i seguenti comandi: $ fdformat -n /dev/fd0H1440 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... done $ badblocks /dev/fd0H1440 1440 $>$ bad-blocks $ mkfs -t ext2 -l bad-blocks /dev/fd0H1440 mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (4 di 12) [02/07/2001 14.58.01]

I filesystem

First data block=1 Block size=1024 (log=0) Fragment size=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group Writing inode tables: done Writing superblocks and filesystem accounting information: done $ Per prima cosa il floppy viene formattato (l'opzione -n fa in modo che non vengano ricercati i blocchi danneggiati); poi viene attivata la ricerca con badblocks, con l'output rediretto in un file, bad-blocks. Infine, si crea il filesystem, con l'elenco dei blocchi danneggiati letto da ci che stato trovato dal comando badblocks. Si poteva usare nello stesso modo l'opzione -c di mkfs invece di badblocks ed un file separato, come riportato nell'esempio qui sotto. $ mkfs -t ext2 -c /dev/fd0H1440 mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user First data block=1 Block size=1024 (log=0) Fragment size=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group Checking for bad blocks (read-only test): done Writing inode tables: done Writing superblocks and filesystem accounting information: done $ L'opzione -c pi conveniente che usare separatamente badblocks, ma badblocks indispensabile per i controlli successivi alla creazione del filesystem. Il processo per preparare i filesystem sugli hard disk o sulle partizioni lo stesso che per i floppy, tranne che non necessario formattarli.

Montare e smontare un filesystem


Prima che si possa usare un filesystem, bisogna montarlo. In quel momento il sistema operativo compie varie operazioni di archiviazione in modo da essere sicuri che tutto funzioni. Dato che tutti i file in UNIX si trovano in un singolo albero di directory, l'operazione di mount far sembrare che il nuovo filesystem sia contenuto in una sottodirectory esistente di qualche filesystem gi montato.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (5 di 12) [02/07/2001 14.58.01]

I filesystem

Ad esempio, la Figura 4-3 mostra tre filesystem separati, ciascuno con la propria directory principale; quando gli ultimi due vengono montati sotto /home e /usr sul primo filesystem, abbiamo un singolo albero di directory, come in Figura 4-4. Figura 4-3. Tre filesystem separati.

Figura 4-4. Sono stati montati /home e /usr.

I comandi per montare questi due filesystem sono riportati nel seguente esempio: $ mount /dev/hda2 /home $ mount /dev/hda3 /usr $ Il comando mount accetta due argomenti: il file di device corrispondente al disco o alla partizione che contiene il filesystem e la directory sotto cui montarlo. Dopo questi comandi il contenuto dei due filesystem sembra trovarsi rispettivamente nelle directory /home e /usr; si pu dire a questo punto che ``/dev/hda2 montato sotto /home'' e la stessa cosa per /usr. Per vedere i due filesystem basta guardare nelle directory su cui sono stati montati, come se fossero una qualsiasi altra directory. Notate la differenza tra il file di device, /dev/hda2, e la directory su cui viene montato, /home: il file di device d accesso ai contenuti fisici del disco, la directory su cui viene montato ai file che vi si trovano. La directory su cui viene montato un filesystem si chiama punto di mount. Linux supporta molti tipi di filesystem; mount cerca di indovinare il tipo di quello che si sta montando. Si pu anche usare l'opzione -t tipofs per specificare direttamente il tipo: talvolta necessaria, dato che l'euristica usata da mount non sempre funziona. Ad esempio per montare un floppy MS-DOS si usa il seguente comando: $ mount -t msdos /dev/fd0 /floppy $ La directory su cui si monta il filesystem pu anche non essere vuota, ma deve esistere. Qualsiasi file vi si trovi non potr essere richiamato per nome mentre il filesystem montato (qualsiasi file gi aperto sar ancora accessibile; i file a cui puntano hard link da altre directory possono essere accessibili usando quei nomi). Questo procedimento permette di non perdere nessun dato e pu anche essere utile: ad esempio, alcuni vogliono avere /tmp e /var/tmp sinonimi, e rendere /tmp un link simbolico a /var/tmp. Quando si avvia il filesystem, prima che venga montato /var, viene usata una directory /var/tmp che risiede sul filesystem radice. Quando viene montato /var, la directory /var/tmp sul filesystem radice diventa inaccessibile. Se non esistesse /var/tmp, sarebbe impossibile usare i file temporanei prima di montare /var. Se non volete scrivere niente su un filesystem, usate l'opzione -r per montarlo a sola lettura; in questo modo il kernel interromper qualsiasi tentativo di scrivervi ed eviter di aggiornare i tempi di accesso ai file negli inode. indispensabile usare i mount a sola lettura per i mezzi non scrivibili, come i CD-ROM.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (6 di 12) [02/07/2001 14.58.01]

I filesystem

Il lettore attento avr gi notato un piccolo problema logistico: come viene montato il primo filesystem (chiamato filesystem radice, perch contiene la directory principale), dato che ovviamente non pu essere montato su un altro filesystem? Beh, la risposta che si usa la magia[1]. Il filesystem radice viene montato magicamente al momento dell'avvio del sistema e resta sempre montato. Se all'avvio non possibile farlo, il sistema non parte. Il nome del filesystem che viene montato magicamente come radice compilato nel kernel, o impostato usando LILO o rdev. Il filesystem radice viene di solito montato inizialmente a sola lettura, gli script di avvio poi attivano fsck per verificare che sia valido e se non ci sono problemi lo rimonteranno con i permessi di scrittura. fsck non deve essere usato su un filesystem montato, dato che qualsiasi modifica al filesystem mentre sta girando fsck far dei danni. Dato che il filesystem radice montato a sola lettura mentre viene controllato, fsck pu correggere qualsiasi problema senza preoccupazioni, dato che l'operazione di remount ripulir tutti i metadati che il filesystem tiene in memoria. Su molti sistemi ci sono altri filesystem che devono essere montati automaticamente al momento dell'avvio: questi vengono specificati nel file /etc/fstab; consultate la pagina man di fstab per avere dettagli sul suo formato. I dettagli di quando esattamente vengono montati i vari filesystem dipendono da molti fattori, e possono essere configurati, se serve, dall'amministratore; vedere il Capitolo 6. Quando non serve pi che un filesystem sia montato, pu essere smontato usando umount[2]. umount accetta un argomento: il file di device o il punto di mount. Ad esempio, per smontare le directory dell'esempio precedente, si possono usare i comandi $ umount /dev/hda2 $ umount /usr $ Consultare la pagina man per avere altre istruzioni su come usare il comando. indispensabile smontare sempre i floppy montati: non li tirate direttamente fuori dal lettore! A causa delle operazioni di cache su disco, i dati non vengono necessariamente scritti sul floppy finch non lo smontate, quindi rimuovendo il floppy dal lettore troppo presto se ne possono corrompere i contenuti. Se leggete dal floppy soltanto non molto probabile, ma se ci scrivete, anche accidentalmente, i risultati possono essere catastrofici. Montare e smontare un filesystem richiede privilegi di superutente, cio lo pu fare solo root; la ragione che se chiunque potesse montare un dischetto su una qualsiasi directory, sarebbe piuttosto facile creare un floppy diciamo con un cavallo di Troia camuffato da /bin/sh, o da un qualsiasi programma usato spesso. Comunque, spesso necessario permettere agli utenti di usare i floppy, ed ecco alcuni modi per poterlo fare:
q

Dare agli utenti la password di root. Ovviamente un buco di sicurezza, ma la soluzione pi facile, ed adatto a quei sistemi dove non c' comunque bisogno di sicurezza, come molti sistemi personali, non in rete. Usare un programma come sudo per permettere agli utenti di usare mount. Anche questo crea problemi di sicurezza, ma non d direttamente privilegi di superutente a chiunque[3]. Fare usare agli utenti mtools, un pacchetto per manipolare i filesystem MS-DOS senza montarli. Funziona bene se l'unica cosa che serve sono dischetti MS-DOS, altrimenti piuttosto complicato.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (7 di 12) [02/07/2001 14.58.02]

I filesystem

Elencare i dispositivi floppy e i loro punti di mount permessi, insieme con le opzioni adatte, in /etc/fstab. L'ultima alternativa pu essere implementata aggiungendo una linea come la seguente al file /etc/fstab: /dev/fd0 /floppy msdos user,noauto 0 0 Le colonne sono: file di device da montare, directory su cui montarlo, tipo di filesystem, opzioni, frequenza di backup (usata da dump) e numero di passaggio di fsck (per specificare l'ordine in cui controllare i filesystem all'avvio: con 0 non vengono controllati).
q

L'opzione noauto evita che il filesystem venga montato automaticamente all'avvio del sistema (cio non lo fa montare da mount -a). L'opzione user permette a qualsiasi utente di montare il filesystem e per sicurezza disabilita l'esecuzione di programmi (normali o setuid) e l'interpretazione di file di device dal filesystem montato. Fatto questo, qualsiasi utente pu montare un floppy con un filesystem msdos usando il seguente comando: $ mount /floppy $ Il floppy pu (e deve, naturalmente) essere smontato con il corrispondente comando umount. Se volete dare accesso a diversi tipi di floppy, dovete dare diversi punti di mount. Le impostazioni possono essere diverse per ogni punto di mount, ad esempio, per dare accesso sia a floppy MS-DOS che ext2, si possono inserire in /etc/fstab: /dev/fd0 /dosfloppy msdos user,noauto 0 0 /dev/fd0 /ext2floppy ext2 user,noauto 0 0 Probabilmente vorrete restringere l'accesso ai filesystem MS-DOS (non solo per il floppy) usando le opzioni uid, gid, ed umask, che sono descritte in dettaglio nella pagina man di mount. Se non state attenti, montare un filesystem MS-DOS d a tutti almeno il permesso di lettura ai file che vi si trovano, il che non una buona idea.

Il controllo dell'integrit di un filesystem con fsck


I filesystem sono creature complesse e come tali tendono ad essere in qualche modo propense ad avere errori. Si possono controllare la correttezza e la validit di un filesystem usando il comando fsck, che pu essere usato per riparare i piccoli errori che trova e per avvisare l'utente se ci sono problemi irreparabili. Fortunatamente al codice per implementare i filesystem viene fatto un debug piuttosto efficace, quindi in genere non ci sono problemi e se ci sono sono causati da mancanza di corrente, guasti hardware o errori dell'operatore, ad esempio non fare correttamente lo shutdown del sistema. La maggior parte dei filesystem fanno fsck automaticamente all'avvio del sistema, in modo che gli errori vengono individuati (e, speriamo, corretti) prima che il filesystem venga usato. Usare un filesystem corrotto tende a peggiorare le cose: se le strutture di dati non sono integre, usare il filesystem probabilmente le dannegger ancora di pi e verranno persi sempre pi dati. Comunque, fsck pu metterci un po' di tempo per controllare un filesystem grande e, dato che non ci sono quasi mai errori se il sistema viene spento in modo corretto, si possono usare un paio di trucchi per evitare di fare il controllo in casi del genere: il primo che se esiste il file /etc/fastboot non vengono fatti controlli.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (8 di 12) [02/07/2001 14.58.02]

I filesystem

Il secondo che il filesystem ext2 ha un codice speciale nel superblocco che dice se il filesystem stato smontato in maniera corretta l'ultima volta; in questo modo e2fsck (la versione di fsck per filesystem ext2) pu evitare di controllare i filesystem se il codice indica che stato smontato correttamente (l'assunzione che se il filesystem stato smontato bene non ci sono problemi). La validit del trucco del file /etc/fastboot dipende dallo script di avvio, ma il trucco dell'ext2 funziona tutte le volte che si usa e2fsck---per evitarlo deve essere esplicitamente indicata un'opzione (consultate la pagina man di e2fsck per i dettagli). Il controllo automatico funziona solo per i filesystem che vengono montati automaticamente all'avvio; usate fsck a mano per gli altri, come ad esempio per i floppy. Se fsck trova dei problemi irrecuperabili dovete avere una conoscenza profonda di come funzionano i filesystem in generale e del tipo del filesystem corrotto in particolare, oppure dovete avere dei buoni backup. La seconda possibilit pi facile (anche se spesso pi noiosa), per la prima ci si pu appoggiare ad un amico, o ai newsgroup e alle mailing list su Linux, o ad una qualche altra forma di aiuto, se non avete voi stessi le nozioni necessarie. Mi piacerebbe dirvi di pi sull'argomento, ma mi trattiene la mia mancanza di esperienza e di conoscenza in questo campo. Vi dovrebbe essere utile il programma debugfs di Theodore T'so. fsck deve essere usato solo sui filesystem non montati, mai su quelli montati (con l'eccezione della radice a sola lettura durante l'avvio), perch accede al disco a basso livello e quindi pu modificare il filesystem senza che il sistema operativo se ne accorga. veramente un problema, se si fa confondere il sistema operativo.

Il controllo degli errori sul disco con badblocks


Pu essere una buona idea controllare periodicamente se ci sono blocchi danneggiati, con il comando badblocks, che d in output un elenco dei numeri dei blocchi danneggiati che trova. Si pu usare questa lista per farla registrare nelle strutture dati del filesystem a fsck in modo che il sistema operativo non provi ad usare i blocchi danneggiati per scriverci dei dati. Nell'esempio viene spiegato come fare: $ badblocks /dev/fd0H1440 1440 > bad-blocks $ fsck -t ext2 -l bad-blocks /dev/fd0H1440 Parallelizing fsck version 0.5a (5-Apr-94) e2fsck 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Check reference counts. Pass 5: Checking group summary information. /dev/fd0H1440: ***** FILE SYSTEM WAS MODIFIED ***** /dev/fd0H1440: 11/360 files, 63/1440 blocks $ Se badblocks riporta un blocco che gi stato usato, e2fsck prova a spostare il blocco in un altro punto. Se il blocco gi stato veramente danneggiato e l'errore non era solo marginale, i contenuti del file

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (9 di 12) [02/07/2001 14.58.02]

I filesystem

possono gi essere corrotti.

Combattere la frammentazione
Quando si scrive un file sul disco, non lo si pu sempre fare su blocchi consecutivi; un file per cui non stato possibile farlo si definisce frammentato. Ci vuole pi tempo per leggere un file frammentato, dato che la testina di lettura e scrittura del disco si deve spostare di pi, quindi preferibile evitare la frammentazione, anche se questa un problema meno grave nei sistemi con una buona cache di buffer con il read-ahead. Il filesystem ext2 tenta di mantenere la frammentazione al minimo, tenendo tutti i blocchi di un file vicini, anche se non possono essere immagazzinati in settori consecutivi. L'ext2 in effetti alloca sempre il blocco libero che si trova pi vicino agli altri blocchi di un file. Per l'ext2, quindi, molto raro doversi preoccupare della frammentazione, ma esiste un programma di deframmentazione anche per i filesystem ext2: consultate [DEFRAG]. Ci sono molti programmi di deframmentazione per MS-DOS che spostano i blocchi nel filesystem per rimuovere la deframmentazione. Per altri tipi di filesystem si deve fare un backup completo, ricreare il filesystem e recuperare i dati dai backup. Fare il backup prima di deframmentare un filesystem una buona idea in ogni caso, dato che molte cose possono andare storte nel processo.

Altri strumenti per tutti i filesystem


Anche altri strumenti sono utili per gestire i filesystem: df mostra lo spazio disco libero su uno o pi filesystem, du quello occupato da una directory e da tutti i suoi file. Si possono usare entrambi questi comandi per ricercare chi spreca spazio disco. sync forza la scrittura sul disco di tutti i blocchi non scritti nella cache di buffer (vedi la la sezione La cache di buffer nel Capitolo 5). Normalmente non c' bisogno di farlo a mano: lo fa automaticamente il processo daemon update. Pu essere utile in caso di catastrofe, ad esempio se update o il suo aiutante bdflush muoiono, o se dovete interrompere la corrente ora e non potete aspettare che venga avviato update.

Altri strumenti per il filesystem ext2


In aggiunta al comando per creare i filesystem (mke2fs) e quello per controllarli (e2fsck), accessibili direttamente o attraverso le interfacce indipendenti dal tipo di filesystem, il filesystem ext2 ha altri strumenti utili. tune2fs migliora i parametri del filesystem. Alcuni di quelli pi interessanti sono:
q

Il numero massimo di mount. e2fsck forza un controllo ogni volta che un filesystem viene montato troppe volte, anche se ha il codice di filesystem integro. Per un sistema che viene usato per sviluppare o testare il sistema, pu essere una buona idea ridurre questo limite. Il tempo massimo tra i controlli. e2fsck pu anche forzare un controllo dopo un tempo massimo,

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (10 di 12) [02/07/2001 14.58.02]

I filesystem

anche se c' il codice di filesystem pulito e il filesystem non stato montato molto spesso. Questo parametro pu essere anche disabilitato. Il numero di blocchi riservato per root. L'ext2 riserva alcuni blocchi per root in modo che se il filesystem si riempie sia ancora possibile fare dell'amministrazione di sistema senza dover cancellare niente. La percentuale riservata per default del 5%, che sulla maggior parte dei dischi non tanto da essere uno spreco. Comunque, per i floppy non c' motivo per riservare niente. Consultate la pagina man di tune2fs per altre informazioni.
q

dumpe2fs d delle informazioni su un filesystem ext2, prese per la maggior parte dal suo superblocco. In Figura 4-5 viene mostrato un esempio di output. Alcune delle informazioni dell'output sono tecniche e richiedono una comprensione di come funziona il filesystem (vedere [EXT2FS-SLIDES]), ma la peggior parte facilmente comprensibile. Figura 4-5. Esempio di output di dumpe2fs dumpe2fs 0.5b, 11-Mar-95 for EXT2 FS 0.5a, 94/10/23 Filesystem magic number: 0xEF53 Filesystem state: clean Errors behavior: Continue Inode count: 360 Block count: 1440 Reserved block count: 72 Free blocks: 1133 Free inodes: 326 First block: 1 Block size: 1024 Fragment size: 1024 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 360 Last mount time: Tue Aug 8 01:52:52 1995 Last write time: Tue Aug 8 01:53:28 1995 Mount count: 3 Maximum mount count: 20 Last checked: Tue Aug 8 01:06:31 1995 Check interval: 0 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) Group 0: Block bitmap at 3, Inode bitmap at 4, Inode table at 5 1133 free blocks, 326 free inodes, 2 directories Free blocks: 307-1439 Free inodes: 35-360 debugfs un debugger per i filesystem: permette accesso diretto alle strutture dati immagazzinate sul
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (11 di 12) [02/07/2001 14.58.02]

I filesystem

disco e quindi pu essere usato per riparare gli errori che non possono essere corretti automaticamente con fsck. stato anche usato per recuperare dei file cancellati; comunque, debugfs richiede di capire a fondo quello che si sta facendo: se non riuscite a capire qualcosa potreste distruggere tutti i dati. Per fare il backup di un filesystem ext2 si possono usare dump e restore: si tratta di versioni specifiche per questo tipo di filesystem degli strumenti tradizionali di backup di UNIX. Vedere il Capitolo 10 per altre informazioni sui backup.

Note
[1] [2] [3] Per altre informazioni consultate i sorgenti del kernel o la Kernel Hackers' Guide [KHG]. In effetti dovrebbe essere unmount, ma la n scomparsa misteriosamente negli anni '70, e non stata pi vista da allora. Per favore, se la trovate, riconsegnatela alla Bell Labs, NJ. Richiede per qualche secondo di concentrazione da parte degli utenti. Partenza Risali Avanti Dischi senza filesystem

Indietro Le partizioni

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1064.html (12 di 12) [02/07/2001 14.58.02]

Uso dei dischi e di altre memorie di massa

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 4. Uso dei dischi e di altre memorie di massa


Sommario Due tipi di dispositivi Gli hard disk I floppy I CD-ROM Le unit nastro La formattazione Le partizioni I filesystem Dischi senza filesystem Allocare spazio disco "On a clear disk you can seek forever. "(Battuta intraducibile) Quando si installa o si aggiorna un sistema, si lavora molto sui dischi: bisogna crearvi dei filesystem in modo da poterci memorizzare dei file e riservare spazio per le varie parti del sistema. Questo capitolo spiega tutte queste attivit iniziali. Di solito, una volta impostato il sistema, non dovrete ripetere queste operazioni, tranne che per i floppy: dovrete ritornare a questo capitolo per aggiungere un nuovo disco o per rifinire l'utilizzo di quelli che avete. I compiti di base nell'amministrazione dei dischi sono:
q

La formattazione, che fa diverse cose per preparare il disco all'uso, come controllare se ci sono settori danneggiati (oggigiorno non necessario formattare la maggior parte degli hard disk). Il partizionamento, se volete usare il disco per attivit diverse che non devono interferire l'una con l'altra. Dovete ripartizionare se volete usare diversi sistemi operativi sullo stesso disco, o se volete tenere i file degli utenti separati da quelli di sistema, cosa che aiuta a proteggere questi ultimi e semplifica i backup. La creazione di un filesystem (di tipo adatto) su ciascun disco o partizione. I dischi non risultano a Linux finch non ci create un filesystem: a quel punto potete memorizzarci file ed accedere a quelli presenti. Il montaggio (mount) di diversi filesystem per formare una singola struttura ad albero, sia automaticamente che manualmente, a seconda delle circostanze (dovete smontare a mano i filesystem montati manualmente).

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c730.html (1 di 2) [02/07/2001 14.58.03]

Uso dei dischi e di altre memorie di massa

Il Capitolo 5 contiene informazioni sulla memoria virtuale e sulla cache del disco, di cui dovete essere coscienti quando usate i dischi.

Due tipi di dispositivi


UNIX, e quindi Linux, riconosce due tipi diversi di dispositivi: quelli a blocchi ad accesso casuale (come i dischi) e quelli a carattere (come i nastri e le linee seriali), alcuni dei quali sono seriali, altri ad accesso casuale. Ogni dispositivo supportato viene rappresentato nel filesystem come un file di device. Quando si legge o si scrive un file di device, i dati provengono o vanno al dispositivo che esso rappresenta; in questo modo per accedere ai dispositivi non necessario nessun programma speciale (e nessuna metodologia speciale per la programmazione delle applicazioni, come la cattura degli interrupt o il mandare richieste ad una porta seriale); ad esempio, per mandare un file alla stampante, basta dire $ cat nomefile > /dev/lp1 $ ed il contenuto del file viene stampato (il file deve, naturalmente, essere in una forma riconoscibile dalla stampante). Comunque, dato che non una buona idea avere diverse persone che inviano file usando cat contemporaneamente alla stampante, di solito si usa un programma speciale per farlo (normalmente lpr); un programma del genere si assicura che venga stampato solo un file alla volta e mander gli altri in stampa in sequenza a mano a mano che la stampante ne finisce uno. Anche per la maggior parte degli altri dispositivi serve una cosa del genere; in effetti, in genere non ci si deve preoccupare per niente di questo tipo di file. Dato che i dispositivi appaiono come file nel filesystem (nella directory /dev), facile vedere quali file di device esistono usando ls o un altro comando adatto. Nell'output di ls -l la prima colonna contiene il tipo di file ed i suoi permessi. Ad esempio, per un dispositivo seriale sul mio sistema appare: $ ls -l /dev/cua0 crw-rw-rw1 root uucp 5, 64 Nov 30 1993 /dev/cua0 $ Il primo carattere della prima colonna, ad esempio `c' in crw-rw-rw- qui sopra, indica agli utenti informati il tipo del file, in questo caso un dispositivo a caratteri. Per i file ordinari il primo carattere `-', per le directory `d', e per i dispositivi a blocchi `b'; leggete la pagina man di ls per altre informazioni. Notate che di solito tutti i file di device esistono anche se il dispositivo corrispondente pu non essere installato, quindi se avete un file /dev/sda, non detto che abbiate realmente un hard disk SCSI. Avere tutti i file di device rende pi semplici i programmi di installazione e semplifica l'aggiunta di nuovo hardware (non c' bisogno di trovare i parametri corretti e creare il file di device per il nuovo dispositivo). Indietro Il filesystem /proc Partenza Avanti Gli hard disk

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c730.html (2 di 2) [02/07/2001 14.58.03]

Gli hard disk

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

Gli hard disk


In questa Sezione viene introdotta la terminologia relativa agli hard disk: se gi conoscete i termini ed i concetti potete saltarla. In Figura 4-1 viene riportato un disegno schematico delle parti pi importanti di un hard disk; questo consiste di una o pi piastre circolari[1] con entrambe le superfici ricoperte da una sostanza magnetica usata per la memorizzazione dei dati. Per ciascuna superficie c' una testina di lettura e scrittura che esamina o altera i dati memorizzati. Le piastre ruotano su un asse comune, con una velocit tipica di 3600 rotazioni al minuto, anche se gli hard disk ad alte prestazioni raggiungono velocit maggiori. Le testine si spostano lungo il raggio della piastra, e questo movimento, combinato con la rotazione della piastra stessa, permette alla testina di accedere a tutti i punti delle superfici. Il processore (CPU) e il disco in s comunicano attraverso un controller che solleva il resto del computer dalla necessit di sapere come utilizzare l'hard disk, dato che si possono fare diversi tipi di controller per diversi tipi di disco che usino la stessa interfaccia verso il resto del computer. Quindi il computer pu dire semplicemente ``hey disco, dammi quello che voglio'', invece di una serie lunga e complessa di segnali elettrici per spostare la testina al punto desiderato, aspettare che la parte giusta ruoti sotto la testina e tutte queste cose antipatiche (in realt, l'interfaccia al controller comunque complessa, ma molto meno di come sarebbe dovuta essere altrimenti). Il controller pu anche fare altre cose, come gestire la cache o isolare automaticamente i settori danneggiati. Di solito sufficiente sapere questo sull'hardware. In realt ci sono anche molte altre cose, come il motore che fa girare le piastre e sposta le testine e l'elettronica che controlla le operazioni delle parti meccaniche, ma tutto questo non rilevante per la comprensione del principio di funzionamento di un hard disk. Le superfici sono di solito divise in anelli concentrici, chiamati tracce, e queste a loro volta sono divise in settori. Questa divisione viene usata per specificare punti dell'hard disk e per allocare lo spazio disco per i file. Per trovare un punto determinato dell'hard disk si potrebbe dire ``piastra 3, traccia 5, settore 7''. Di solito il numero dei settori lo stesso per tutte le tracce, ma in alcuni hard disk ci sono pi tracce nei settori pi esterni (tutti i settori sono delle stesse dimensioni fisiche, quindi nelle tracce pi esterne ce ne entrano di pi). Tipicamente, un settore conterr 512 byte di dati. Il disco stesso non pu gestire quantit di dati pi piccole di un settore. Figura 4-1. Schema di un hard disk.

Ciascuna superficie divisa in tracce (e settori) nello stesso modo. Ci significa che quando la testina di una superficie su una traccia, quella dell'altra superficie anch'essa sulla traccia corrispondente. Tutte le tracce corrispondenti prese insieme si chiamano cilindro. Ci vuole del tempo per spostare le testine da una traccia (cilindro) ad un'altra, quindi, mettendo i dati a cui si accede in contemporanea (diciamo un file) in modo che si trovino tutti all'interno dello stesso cilindro, non necessario spostare la testina per leggerli tutti e viene migliorata la performance del disco. Non sempre possibile mettere i file in questo modo: i file che vengono immagazzinati in posti diversi dell'hard disk vengono chiamati frammentati.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x776.html (1 di 2) [02/07/2001 14.58.07]

Gli hard disk

Il numero di superfici (o testine, che la stessa cosa), cilindri e settori variano molto: le specifiche sul numero di ciascuno di questi elementi vengono chiamate geometria di un hard disk. La geometria viene di solito memorizzata in una locazione di memoria speciale, alimentata a batterie, chiamata RAM CMOS, da cui il sistema operativo la pu leggere durante l'avvio del computer o l'inizializzazione dei driver. Sfortunatamente, il BIOS[2] ha una limitazione che rende impossibile specificare un numero di tracce pi alto di 1024 nella RAM CMOS, che troppo poco per un hard disk grande. Per superare questo problema il controller degli hard disk mente sulla geometria e traduce gli indirizzi dati dal computer in qualcosa di adatto. Ad esempio, un hard disk pu avere 8 testine, 2048 tracce e 35 settori per traccia[3]. Il suo controller pu mentire al computer e dire che ha 16 testine, 1024 tracce e 35 settori per tracce, non superando cos il limite per le tracce, e tradurre gli indirizzi che il computer gli d dimezzando il numero della testina e raddoppiando quello della traccia. La matematica pu in realt essere molto pi complicata perch i numeri in genere non sono cos carini, ma i dettagli non sono rilevanti per la comprensione del principio. Questa traduzione distorce la visione del sistema operativo di come organizzato il disco, rendendo poco pratico usare il trucco di mettere tutti i dati su uno stesso cilindro per aumentare la performance. Questa traduzione un problema solo per i dischi IDE; quelli SCSI usano un numero di settori sequenziale (cio il controller traduce un numero di settore sequenziale nella tripletta testina, cilindro e settore) ed un metodo totalmente diverso per la comunicazione tra la CPU e il controller, quindi il problema non si pone. Notate, comunque, che il computer pu non sapere la geometria reale neanche di un disco SCSI. Dato che Linux spesso non conosce la geometria reale di un disco, i suoi filesystem non provano neanche a mantenere i file all'interno di un singolo cilindro; provano invece ad assegnare ai file settori numerati sequenzialmente, cosa che d quasi sempre una performance simile. La questione complicata ulteriormente dalle cache sul controller e dai precaricamenti automatici fatti dal controller stesso. Ciascun hard disk rappresentato da un file di device separato. Di solito ci possono essere solo due o quattro hard disk IDE, che corrispondono rispettivamente a /dev/hda, /dev/hdb, /dev/hdc, e /dev/hdd. Gli hard disk SCSI corrispondono a /dev/sda, /dev/sdb, e cos via. Esistono delle convenzioni simili anche per altri tipi di hard disk: per altre informazioni vedere [DEVICE-LIST]. Notare che i file di device per gli hard disk danno accesso al disco intero, senza considerare le partizioni (che verranno spiegate pi avanti) ed facile rovinare i dati in essi contenuti se non si fa attenzione. I file di device dei dischi di solito vengono usati solo per accedere al loro master boot record (che verr anch'esso spiegato pi avanti).

Note
[1] [2] [3] Le piastre sono fatte di un materiale duro, come l'alluminio, da cui il nome hard disk, cio ``disco duro''. Il BIOS un software fisso immagazzinato nei chip della ROM. Ha il compito, tra le altre cose, degli stadi iniziali del processo di avvio. I numeri sono completamente inventati. Partenza Risali Avanti I floppy

Indietro Uso dei dischi e di altre memorie di massa

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x776.html (2 di 2) [02/07/2001 14.58.07]

I floppy

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

I floppy
Un floppy disk consiste di una membrana flessibile coperta su uno solo o su entrambi i lati con una sostanza magnetica simile a quella degli hard disk. Il floppy in s non ha una testina di lettura e scrittura, ma questa inclusa nel lettore. Un floppy corrisponde ad una piastra di un hard disk, ma rimuovibile ed un lettore pu essere usato per accedere a diversi floppy, mentre l'hard disk una singola unit indivisibile. Come un hard disk, un floppy suddiviso in tracce e settori (e le due tracce corrispondenti sui due lati di un floppy formano un cilindro), ma ne ha meno di un hard disk. Un lettore di floppy pu di solito usare diversi tipi di dischi: ad esempio, un lettore da 3.5 pollici pu usare sia dischi da 720 kB che da 1.44 MB; dato che il lettore deve operare in maniera leggermente diversa e che il sistema operativo deve conoscere la dimensione del disco, ci sono pi file di device per ciascun lettore di floppy, uno per ciascuna combinazione di lettore e tipo di disco. Quindi, /dev/fd0H1440 il primo lettore di floppy (fd0), un lettore a 3.5 pollici, che usa un dischetto da 3.5 pollici ad alta densit (H) di dimensioni 1440 kB (1440), cio un normale floppy da 3.5 HD. Per altre informazioni sulle convenzioni per i nomi dei dispositivi floppy, vedere [DEVICE-LIST]. I nomi dei device dei floppy sono complessi, comunque, quindi Linux ne ha uno che individua automaticamente il tipo di disco nel lettore; funziona provando a leggere i primi settori di un dischetto inserito nel lettore usando diversi tipi di floppy finch trova quello corretto. Naturalmente ci richiede che il dischetto sia prima stato formattato. I device automatici sono /dev/fd0, /dev/fd1, e cos via. I parametri che il device automatico usa per accedere ad un disco possono essere impostati anche usando il programma setfdprm. Una cosa del genere pu essere utile se dovete usare dei dischi che non seguono le normali dimensioni dei floppy: ad esempio se hanno un numero di settori non usuale, o se per qualche ragione il riconoscimento automatico non funziona e manca il corrispondente file di device. Linux pu gestire molti formati non standard di floppy in aggiunta a tutti quelli standard, anche se alcuni di questi richiedono di usare dei programmi di formattazione speciali. Non vedremo questi tipi di disco ora, ma nel frattempo potete esaminare il file /etc/fdprm, che specifica le impostazioni riconosciute da setfdprm.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x817.html (1 di 2) [02/07/2001 14.58.09]

I floppy

Il sistema operativo deve sapere quando viene cambiato il disco nel drive dei floppy, ad esempio per evitare di usare dati messi in cache dal disco precedente. Sfortunatamente, la linea di segnale che viene usata per questo qualche volta non funziona e, peggio, non sar sempre individuabile quando il lettore viene usato da MS-DOS. Se avete degli strani problemi quando usate i floppy, forse la ragione questa. L'unico modo di correggere questo problema riparare il lettore dei floppy. Indietro Gli hard disk Partenza Risali Avanti I CD-ROM

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x817.html (2 di 2) [02/07/2001 14.58.09]

I CD-ROM

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

I CD-ROM
I lettori di CD-ROM usano dischi a lettura ottica ricoperti di plastica. Le informazioni vengono registrate sulla superficie del disco[1] in piccoli `fori' allineati lungo una spirale che va dal centro verso l'esterno. Il lettore dirige un raggio laser lungo la spirale per leggere il disco. Quando il laser colpisce un buco, il raggio viene riflesso in un modo, quando colpisce la superficie liscia viene riflesso in un altro, rendendo facile codificare i bit e quindi le informazioni. Il resto facile, semplice meccanica. I lettori di CD-ROM sono lenti se paragonati agli hard disk. Mentre un tipico hard disk ha un tempo di ricerca medio minore di 15 millisecondi, un CD-ROM veloce si attesta sui decimi di secondo; una velocit di trasferimento dati reale di centinaia di kilobyte al secondo piuttosto alta. La lentezza sta a significare che i lettori di CD-ROM non sono comodi da usare al posto degli hard disk (alcune distribuzioni di Linux forniscono filesystem `live' su CD-ROM, rendendo inutile copiare i file sull'hard disk e quindi facilitando l'installazione e salvando molto spazio su disco), anche se sempre possibile. Per installare nuovo software, i CD-ROM sono molto validi, perch non essenziale una velocit altissima durante l'installazione. Ci sono diversi modi di sistemare i dati su un CD-ROM; il modo pi comune specificato dallo standard internazionale ISO 9660. Questo standard specifica un filesystem minimale, anche pi povero di quello usato dall'MS-DOS; d'altra parte, talmente minimale che qualsiasi sistema operativo dovrebbe essere in grado di mapparlo sul suo sistema nativo. Per l'uso normale sotto UNIX non si pu usare il filesystem ISO 9660, quindi stata sviluppata un estensione allo standard: le estensioni Rock Ridge. Le Rock Ridge permettono di usare nomi pi lunghi, link simbolici e molte altre caratteristiche, rendendo un CD-ROM molto simile ad un qualsiasi filesystem UNIX moderno. Ancora meglio, un filesystem Rock Ridge ancora un filesystem ISO 9660 valido e quindi pu essere usato anche su sistemi non UNIX. Linux supporta sia l'ISO 9660 che le estensioni Rock Ridge e queste vengono riconosciute ed utilizzate automaticamente. Il filesystem per solo met del lavoro: la maggior parte dei CD-ROM contengono dati che richiedono programmi speciali per potervi accedere e la maggior parte di questi programmi non girano sotto Linux (eccetto forse sotto dosemu, l'emulatore di MS-DOS per Linux). Si accede ai lettori di CD-ROM attraverso il corrispondente file di device. Ci sono diversi modi di connetterne uno al computer: attraverso un controller SCSI, una scheda audio o un controller EIDE. Il montaggio dell'hardware va al di fuori dello scopo di questo libro, ma il tipo di connessione implica quale file di device debba essere usato. Vedere [DEVICE-LIST] per avere chiarimenti.

Note
[1] Cio la superficie di metallo del disco, all'interno della copertura di plastica. Partenza Risali Avanti Le unit nastro

Indietro I floppy

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x833.html (1 di 2) [02/07/2001 14.58.11]

I CD-ROM

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x833.html (2 di 2) [02/07/2001 14.58.11]

Le unit nastro

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

Le unit nastro
I lettori nastro usano dei nastri simili[1] alle cassette usate per la musica. Un nastro di sua natura seriale, cio per accedere ad una sua qualsiasi parte bisogna scorrere tutto quello che c' in mezzo; un disco un dispositivo ad accesso casuale, cio si pu passare direttamente ad un suo punto qualsiasi. L'accesso seriale dei nastri li rende dispositivi lenti; d'altra parte, i nastri sono relativamente a buon mercato, dato che non hanno bisogno di essere veloci, possono avere anche una lunghezza elevata, e quindi contenere grandi quantit di dati: tutto ci questo li rende molto adatti a cose come l'archiviazione e i backup, che non richiedono velocit elevate ma traggono vantaggio dal basso costo e dalla grande capacit di memorizzazione.

Note
[1] Ma del tutto diversi, naturalmente. Partenza Risali Avanti La formattazione

Indietro I CD-ROM

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x844.html [02/07/2001 14.58.12]

La formattazione

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

La formattazione
La formattazione il processo con cui si segnano sul mezzo magnetico le tracce e i settori. Prima che venga formattato il disco ha una superficie in cui i segnali magnetici si sovrappongono in maniera caotica, mentre dopo la formattazione si porta un certo ordine nel caos, essenzialmente tracciando delle linee dove vanno le tracce e dove esse vengono suddivise in settori. I dettagli reali non sono proprio questi, ma irrilevante; quello che importante che un disco non pu essere usato se non stato formattato. La terminologia a questo proposito piuttosto confusa: nell'MS-DOS, la parola formattazione viene usata anche per il processo di creazione di un filesystem (che verr discusso pi avanti); in questo caso i due processi sono spesso combinati, specialmente per i floppy. Quando sar necessaria una distinzione, la formattazione reale viene chiamata formattazione a basso livello, mentre la creazione del filesystem si chiama formattazione ad alto livello. Nei circoli UNIX, i due processi vengono chiamati formattazione e creazione di un filesystem, quindi in questo libro verranno usati questi termini. Per i dischi IDE ed alcuni dischi SCSI la formattazione viene fatta in realt in fabbrica e non c' bisogno di ripeterla, quindi la maggior parte delle persone non avranno bisogno di preoccuparsene. In effetti, formattare un hard disk pu provocarne un malfunzionamento, perch pu essere necessario farlo in maniera particolare per permettere la sostituzione automatica dei settori danneggiati. I dischi che devono o possono essere formattati spesso richiedono comunque un programma speciale, dato che l'interfaccia alla logica di formattazione all'interno del disco diversa da caso a caso. Il programma di formattazione spesso sul BIOS del controller o viene fornito come programma MS-DOS; in nessuno dei due casi pu essere usato facilmente da Linux. Durante la formattazione si possono incontrare dei punti danneggiati sul disco, che vengono chiamati blocchi danneggiati o settori danneggiati; qualche volta vengono gestiti dallo stesso drive, ma anche in questi casi, se se ne sviluppano altri, bisogna fare qualcosa per evitare di usare quelle parti del disco. La logica per farlo interna al filesystem; come aggiungervi le informazioni utili viene descritto qui sotto. In alternativa si pu creare una piccola partizione che ricopra solo la parte danneggiata del disco: pu essere una buona idea se si danneggiata una parte piuttosto grande, dato che i filesystem possono avere dei problemi con aree danneggiate di grandi dimensioni. I floppy vengono formattati con fdformat. Il file di device del floppy da usare viene dato come parametro; ad esempio, il seguente comando formatterebbe un dischetto ad alta densit, da 3.5 pollici, nel primo lettore di floppy: $ fdformat /dev/fd0H1440 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... done Verifying ... done $ Notate che se volete usare un dispositivo che venga rilevato automaticamente (ad esempio /dev/fd0), dovete per prima cosa impostarne i parametri con setfdprm. Per avere lo stesso effetto del comando qui sopra, bisognerebbe fare cos: $ setfdprm /dev/fd0 1440/1440 $ fdformat /dev/fd0 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x849.html (1 di 2) [02/07/2001 14.58.15]

La formattazione

Formatting ... done Verifying ... done $ Di solito pi conveniente scegliere il file di device corretto che corrisponda al tipo di floppy. Notate che non saggio formattare i floppy ad una capacit maggiore di quella per cui sono stati progettati. fdformat convalider anche il floppy, cio controller che non ci siano blocchi danneggiati; prover a leggere e scrivere su un blocco danneggiato diverse volte (lo si pu sentire, dato che il rumore del lettore cambia moltissimo). Se il floppy solo leggermente danneggiato (a causa dello sporco sulla testina del lettore alcuni errori sono segnali falsi), fdformat non si lamenter, ma un errore reale far abortire il processo di convalida. Il kernel stamper dei messaggi di log per ogni errore di I/O che trova, messaggi che andranno in console o, se si usa syslog, nel file /var/log/messages. fdformat non dice dove si trova l'errore (di solito non ci interessa, i floppy sono abbastanza a buon mercato da poterne buttare uno automaticamente, se danneggiato). $ fdformat /dev/fd0H1440 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... done Verifying ... read: Unknown error $ Per cercare soltanto i blocchi danneggiati su un disco o su una partizione si usa il comando badblocks (anche per i floppy); non formatta il disco, quindi lo si pu usare anche su filesystem esistenti. L'esempio qui sotto controlla un floppy da 3.5 pollici con due blocchi danneggiati. $ badblocks /dev/fd0H1440 1440 718 719 $ badblocks rende in output i numeri dei blocchi che trova danneggiati. La maggior parte dei filesystem riesce ad evitarli, mantenendone un elenco che viene inizializzato quando viene creato il filesystem e pu essere modificato in seguito. La prima ricerca dei blocchi danneggiati pu essere fatta con il comando mkfs (che inizializza il filesystem), ma i controlli successivi vanno fatti con badblocks ed i nuovi blocchi dovrebbero essere aggiunti con fsck. Descriveremo mkfs e fsck pi avanti. Molti dischi moderni individuano automaticamente i blocchi danneggiati, e tentano di recuperarli usando al loro posto un blocco speciale, integro, riservato per questo scopo, che non visibile al sistema operativo. Questa caratteristica dovrebbe essere documentata nel manuale del disco, se siete curiosi di sapere se ce l'avete. Anche in dischi di questo tipo si pu avere perdita di dati, se il numero di blocchi danneggiati diventa troppo grande, anche se probabile che a quel punto il disco sarebbe troppo rovinato per essere utile. Indietro Le unit nastro Partenza Risali Avanti Le partizioni

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x849.html (2 di 2) [02/07/2001 14.58.15]

Le partizioni

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

Le partizioni
Un singolo hard disk pu essere diviso in diverse partizioni, ciascuna delle quali funziona come se fosse un disco separato. L'idea che se avete un hard disk e ad esempio volete avere due sistemi operativi, potete suddividere il disco in due partizioni; ciascun sistema operativo user la sua partizione come vuole e non toccher quella dell'altro. In questo modo i due sistemi possono coesistere in pace sullo stesso hard disk, mentre senza le partizioni ci sarebbe voluto un disco per ciascun sistema operativo. I floppy non vengono partizionati, non per motivi tecnici, ma perch sono molto piccoli e creare al loro interno delle partizioni non sarebbe utile se non in casi molto rari. I CD-ROM di solito non vengono partizionati, dato che molto pi semplice usarli come un grande disco e in genere non necessario avere diversi sistemi operativi sullo stesso CD-ROM.

L'MBR, i settori di boot e la tabella delle partizioni


Le informazioni sul partizionamento di un hard disk si trovano nel suo primo settore (cio, il primo settore della prima traccia della prima superficie del disco). Questo settore si chiama master boot record (MBR) del disco: il settore che il BIOS legge ed avvia quando la macchina viene accesa. Il master boot record contiene un piccolo programma che legge la tabella delle partizioni, controlla quale partizione attiva (cio quale contrassegnata come avviabile) e legge il primo settore di quella partizione, il boot sector (settore di avvio) della partizione (anche l'MBR un settore di avvio, ma ha uno status speciale e quindi un nome speciale). Il boot sector contiene un altro programmino che legge la prima parte del sistema operativo contenuto in quella partizione (sempre che sia avviabile) e lo avvia. Lo schema di partizionamento non costruito all'interno dell'hardware e nemmeno nel BIOS: solo una convenzione che viene seguita da molti sistemi operativi: non tutti, ma quelli che non lo fanno sono le eccezioni. Alcuni sistemi operativi permettono l'uso di partizioni, ma occupano una partizione sull'hard disk ed usano il loro metodo di divisione specifico al suo interno. Quest'ultimo tipo coesiste pacificamente con gli altri sistemi operativi (incluso Linux) e non richiede misure speciali, ma un sistema operativo che non supporta le partizioni non pu coesistere sullo stesso disco con un altro sistema. Come precauzione una buona idea scrivere su carta la tabella delle partizioni, in modo che se si
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x911.html (1 di 4) [02/07/2001 14.58.18]

Le partizioni

corrompesse ci sarebbe una speranza di non perdere tutti i file (una tabella delle partizioni corrotta si pu recuperare con fdisk). Le informazioni rilevanti si ricavano dal comando fdisk -l: $ fdisk -l /dev/hda Disk /dev/hda: 15 heads, 57 sectors, 790 cylinders Units = cylinders of 855 * 512 bytes Device Boot /dev/hda1 /dev/hda2 /dev/hda3 /dev/hda4 /dev/hda5 /dev/hda6 $ Begin 1 25 49 409 409 745 Start 1 25 49 409 409 745 End 24 48 408 790 744 790 Blocks 10231+ 10260 153900 163305 143611+ 19636+ Id 82 83 83 5 83 83 System Linux swap Linux native Linux native Extended Linux native Linux native

Partizioni estese e partizioni logiche


Lo schema di partizionamento originale degli hard disk dei PC permetteva solo quattro partizioni, ma presto questo si dimostrato troppo poco per l'uso reale, perch alcune persone volevano pi di quattro sistemi operativi (Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, o Windows NT, per nominarne alcuni), ma principalmente perch a volte una buona idea avere diverse partizioni per un solo sistema operativo. Ad esempio per Linux meglio mettere lo spazio di swap in una sua partizione, invece che in quella principale di Linux, per motivi di velocit (vedi sotto). Per superare questo problema di progettazione, furono create le partizioni estese. Questo trucco permette di partizionare una partizione primaria in sotto-partizioni. La partizione primaria cos suddivisa si dice estesa e le sottopartizioni sono partizioni logiche: si comportano come primarie[1] ma vengono create in maniera diversa; non comportano una differenza di velocit. La struttura delle partizioni di un hard disk pu apparire come in Figura 4-2: il disco viene diviso in tre partizioni primarie, la seconda delle quali divisa in due partizioni logiche, e parte del disco non viene partizionato. Il disco intero e ciascuna partizione primaria hanno un settore di boot. Figura 4-2. Un esempio di partizionamento di hard disk.

Tipi di partizione
Le tabelle delle partizioni (quella nell'MBR, e quelle per le partizioni estese) contengono un byte per partizione che ne identifica il tipo. In questo modo si cerca di identificare il sistema operativo che usa la partizione, o il modo in cui essa viene usata. Lo scopo evitare che due sistemi operativi usino accidentalmente la stessa, comunque, in realt, i sistemi operativi non considerano veramente il tipo della
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x911.html (2 di 4) [02/07/2001 14.58.18]

Le partizioni

partizione: ad esempio, Linux proprio non lo legge. Peggio ancora, alcuni sistemi lo usano in maniera non corretta: ad esempio, almeno alcune versioni di DR-DOS ignorano il bit pi significativo del byte, altre no. Non c' nessuna agenzia di standardizzazione che specifica cosa significhi ciascun valore di questo byte, ma alcuni valori comunemente accettati sono riportati in Tabella 4-1. La stessa lista disponibile nel programma fdisk di Linux. Tabella 4-1. Tipi di partizione (dal programma fdisk di Linux). 0 1 2 3 4 5 6 7 8 9 a Vuota DOS 12-bit FAT XENIX root XENIX usr DOS 16-bit <32M Estesa DOS 16-bit >=32M OS/2 HPFS AIX AIX avviabile OS/2 Boot Manag 40 51 52 63 64 75 80 81 82 83 93 Venix 80286 Novell? Microport GNU HURD Novell PC/IX MINIX vecchio Linux/MINIX Linux swap Linux nativa Amoeba 94 a5 b7 b8 c7 db e1 e3 f2 ff Amoeba BBT BSD/386 BSDI fs BSDI swap Syrinx CP/M DOS access DOS sola lettura DOS secondaria BBT

Ripartizionare un hard disk


Ci sono molti programmi per creare e rimuovere partizioni. La maggior parte dei sistemi operativi ne ha uno proprio, ed una buona idea usare quello del sistema che si usa, in caso faccia qualcosa di insolito che gli altri non fanno. La maggior parte di questi programmi, compreso quello per Linux, si chiamano fdisk, o variazioni sul tema. I dettagli sull'uso dell'fdisk di Linux sono riportati nella sua pagina man. Il comando cfdisk simile a fdisk, ma ha un'interfaccia utente pi carina (a tutto schermo). Quando si usano dei dischi IDE, la partizione di boot (quella con i file di immagine del kernel che viene avviato) deve essere completamente all'interno dei primi 1024 cilindri, perch il disco viene usato dal BIOS durante l'avviamento del sistema (prima che il sistema vada in modalit protetta) e questo non ne pu gestire di pi. Talvolta possibile usare una partizione di boot che solo parzialmente entro i primi 1024 cilindri: questo trucco funziona solo se tutti i file che vengono letti dal BIOS sono entro il cilindro 1024. Dato che una cosa del genere difficile da imporre, una pessima idea provarci: non saprete mai quando un aggiornamento del kernel o la deframmentazione del disco vi toglier la possibilit di avviare il sistema; quindi, assicuratevi che la partizione di boot sia completamente all'interno dei primi 1024 cilindri. Alcune versioni pi recenti del BIOS e dei dischi IDE possono, in effetti, gestire dischi con un numero maggiore di cilindri. Se avete un sistema di questo genere, potete dimenticarvi del problema; se non ne siete sicuri, mettetela comunque entro i primi 1024.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x911.html (3 di 4) [02/07/2001 14.58.18]

Le partizioni

Ciascuna partizione dovrebbe avere un numero pari di settori, dato che i filesystem di Linux usano blocchi di 1 kb, cio due settori. Un numero dispari di settori comporter il mancato utilizzo dell'ultimo; non crea problemi, ma brutto, e alcune versioni di fdisk vi daranno un avvertimento. Modificare la dimensione di una partizione di solito richiede di farne il backup (preferibilmente di tutto il disco, non si sa mai), cancellarla, crearne una nuova e rimetterci tutti i dati. Se la partizione deve aumentare, dovrete anche modificare la dimensione (e fare il backup e il restore) anche delle partizioni confinanti. Dato che modificare la dimensione di una partizione una cosa complicata, preferibile farlo bene la prima volta o avere un mezzo di backup efficace e facile da usare. Se state installando da un mezzo che non richiede molto intervento umano (ad esempio un CD-ROM e non dei floppy), spesso pi facile giocare con diverse configurazioni all'inizio: dato che non avete dati di cui fare backup, non poi cos doloroso modificare le dimensioni delle partizioni diverse volte. Esiste un programma per l'MS-DOS, chiamato fips, che ridimensiona una partizione di MS-DOS o di Windows senza bisogno di dover fare backup e recuperare tutti i dati; per gli altri tipi di filesystem per ancora necessario seguire tutta la procedura.

File di device e partizioni


Ciascuna partizione o partizione estesa ha il proprio file di device. Per convenzione i nomi di questi file sono composti dal nome del disco e dal numero della partizione, tenendo conto che da 1 a 4 si tratta di partizioni primarie (indipendentemente da quante partizioni primarie ci siano in realt), e da 5 a 8 di partizioni logiche (indipendentemente da quale sia la partizione primaria che le contiene). Ad esempio, /dev/hda1 la prima partizione primaria sul primo disco IDE, e /dev/sdb7 la terza partizione estesa sul secondo disco SCSI. L'elenco dei dispositivi ([DEVICE-LIST]) d altre informazioni su questo argomento.

Note
[1] Illogiche? Partenza Risali Avanti I filesystem

Indietro La formattazione

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x911.html (4 di 4) [02/07/2001 14.58.18]

Dischi senza filesystem

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

Dischi senza filesystem


Non tutti i dischi o le partizioni vengono usati come filesystem: ad esempio le partizioni di swap non hanno filesystem. Molti floppy vengono usati come fossero dei nastri, scrivendo direttamente un tar o un altro file sul disco vuoto, senza un filesystem. Evitare il filesystem ha il vantaggio di rendere utilizzabile una parte maggiore del disco, dato che questo occupa sempre dello spazio per l'archiviazione; rende anche il disco pi facilmente compatibile con gli altri sistemi: ad esempio, il formato dei file tar lo stesso su tutti i sistemi, mentre i filesystem sono diversi. Vi abituerete presto ai dischi senza filesystem se ne avrete bisogno. Anche i floppy di boot di Linux non hanno necessariamente un filesystem, anche se possono averlo. Una ragione di usare i dischi senza filesystem che se ne possono fare copie identiche. Ad esempio, se il disco contiene un filesystem parzialmente danneggiato, una buona idea farne una copia esatta prima di tentare di ripararlo, in modo da poter ricominciare da capo se cercando di aggiustarlo lo si danneggia ancora di pi. Un modo di farlo usare dd: $ dd if=/dev/fd0H1440 of=floppy-image 2880+0 records in 2880+0 records out $ dd if=floppy-image of=/dev/fd0H1440 2880+0 records in 2880+0 records out $ Il primo comando dd crea un'immagine esatta del floppy nel file floppy-image, il secondo copia l'immagine nel floppy (presumibilmente l'utente ha cambiato floppy prima del secondo comando, altrimenti la coppia di comandi non molto utile). Indietro I filesystem Partenza Risali Avanti Allocare spazio disco

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1407.html [02/07/2001 14.58.19]

Allocare spazio disco

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 4. Uso dei dischi e di altre memorie di massa

Avanti

Allocare spazio disco


Schemi di partizionamento
Non facile partizionare un disco nel modo migliore possibile. Peggio ancora, non c' nessun modo corretto per farlo, sono coinvolti troppi fattori. La procedura pi comune da seguire avere un filesystem radice (relativamente) piccolo, che contenga /bin, /etc, /dev, /lib, /tmp, ed altre cose necessarie per fare partire il sistema: in questo modo il filesystem radice (nella sua partizione o sul suo disco) tutto quello che serve per avviare il sistema. Il ragionamento che se il filesystem radice piccolo e non viene usato pesantemente, meno probabile che venga corrotto quando si ha un crash del sistema e quindi sar pi facile risolvere qualsiasi problema che si venga a creare. Poi si creano delle partizioni separate o si usano dischi separati per l'albero delle directory sotto /usr, le home directory degli utenti (di solito sotto /home) e lo spazio di swap. Separare le home directory (con i file degli utenti) in una partizione distinta rende pi facili i backup, dato che spesso non necessario farlo per i programmi (che risiedono sotto /usr). In un ambiente di rete anche possibile condividere /usr tra svariate macchine (ad esempio usando NFS) e riducendo cos lo spazio disco totale richiesto di diverse decine o centinaia di megabyte moltiplicato per il numero di macchine. Il problema di avere molte partizioni che ci divide lo spazio libero totale in piccoli pezzi; oggigiorno che i dischi e (speriamo) i sistemi operativi sono pi affidabili, molte persone preferiscono avere solo una partizione che contenga tutti i file. D'altra parte pu essere meno doloroso fare il backup (e il restore) di una partizione piccola. Per un hard disk piccolo (assumendo che non sviluppiate il kernel), il modo migliore probabilmente avere una sola partizione. Per dischi grandi probabilmente meglio avere alcune partizioni grandi, giusto in caso vada bene qualcosa (notate che `piccola' o `grande' sono termini usati in senso relativo: le soglie sono dettate dal vostro bisogno di spazio disco). Se avete pi di un disco potete pensare di tenere il filesystem radice (compreso /usr) su uno e le home degli utenti su un altro.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1425.html (1 di 4) [02/07/2001 14.58.21]

Allocare spazio disco

una buona idea essere pronti a sperimentare un po' con diversi schemi di partizionamento (nel tempo, non solo alla prima installazione del sistema): un lavoraccio, dato che richiede essenzialmente di reinstallare il sistema da zero diverse volte, ma l'unico modo di essere sicuri di farlo bene.

Requisiti di spazio
Nella documentazione della vostra distribuzione di Linux troverete alcune indicazioni sullo spazio disco necessario per svariate configurazioni; i programmi installati separatamente possono fare lo stesso. In questo modo vi sar possibile pianificare l'uso dello spazio disco, ma dovreste prepararvi per il futuro e riservare dello spazio extra per le cose di cui vi accorgerete di avere bisogno. La quantit di spazio che vi serve per i file degli utenti dipende da cosa essi vogliono fare. Sembra che la maggior parte delle persone abbiano bisogno del maggiore spazio possibile per i propri file, ma la quantit con cui vivranno in pace varia molto: alcuni lavorano solo sui testi e sopravviveranno con qualche megabyte, altri fanno manipolazione pesante di immagini e avranno bisogno di gigabyte. Tra l'altro, quando si paragonano le dimensioni dei file in kilobyte o in megabyte e lo spazio disco misurato in megabyte, importante sapere che le due unit possono essere diverse. Alcuni produttori di dischi amano pensare che un kilobyte 1000 byte e che un megabyte 1000 kilobyte, mentre tutto il resto del mondo informatico usa 1024 per entrambi i fattori. Quindi, il mio hard disk da 345 MB in realt un hard disk da 330 MB[1]. L'allocazione dello spazio di swap viene discussa nella la sezione Allocare lo spazio di swap nel Capitolo 5.

Esempi di allocazione di hard disk


Io avevo un hard disk da 109 MB; ora ne uso uno da 330 MB. Spiegher come e perch ho partizionato entrambi. Ho partizionato il disco da 109 MB in moltissimi modi, a seconda delle mie necessit e dei sistemi operativi che usavo: illustrer due scenari tipici. All'inizio usavo l'MS-DOS insieme a Linux; per quello avevo bisogno pi o meno di 20 MB di hard disk, o lo spazio appena sufficiente per avere l'MS-DOS, un compilatore C, un editor, pochi altri programmi, quello su cui stavo lavorando e un minimo per non farmi sentire claustrofobico. Per Linux avevo una partizione di swap di 10 MB ed il resto, cio 79 MB, era una partizione singola con tutti i file che avevo sotto Linux. Ho sperimentato con delle partizioni radice, /usr e /home separate, ma non c'era mai abbastanza spazio disco libero insieme per fare molto di interessante. Quando non ho pi avuto bisogno dell'MS-DOS, ho ripartizionato l'hard disk in modo di avere una partizione di swap di 12 MB ed il resto di nuovo in un singolo filesystem. Il disco da 330 MB partizionato in diverse partizioni, cos: 5 MB filesystem radice 10 MB partizione di swap

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1425.html (2 di 4) [02/07/2001 14.58.21]

Allocare spazio disco

180 MB filesystem /usr 120 MB filesystem /home 15 MB partizione di scratch La partizione di scratch per giocherellare con cose che richiedono una propria partizione, cio provare diverse distribuzioni di Linux, o paragonare le velocit dei filesystem. Quando non serve per nient'altro, la uso come spazio di swap (mi piace tenere moltissime finestre aperte).

Aggiungere altro spazio disco per Linux


Aggiungere altro spazio disco per Linux facile, almeno dopo che l'hardware stato installato correttamente (cosa che va oltre lo scopo di questo libro): si formatta, se necessario, poi si creano le partizioni ed i filesystem come stato spiegato nei paragrafi precedenti e si aggiungono le linee adatte in /etc/fstab in modo che vengano montate automaticamente.

Suggerimenti per risparmiare spazio su disco


Il modo migliore per risparmiare spazio disco evitare di installare programmi non necessari. La maggior parte delle distribuzioni hanno un'opzione per installare solo una parte dei pacchetti che contengono e analizzando le vostre necessit potrete accorgervi di non aver bisogno della maggior parte di essi. Vi aiuter a risparmiare spazio disco, dato che molti programmi sono piuttosto grandi. Anche se avete bisogno di un pacchetto o di un programma particolare, non detto che vi servano tutti. Ad esempio pu non essere necessaria parte della documentazione in linea, o alcuni file Elisp di GNU Emacs, font di X11 o librerie di programmazione. Se non potete disinstallare i pacchetti, potete provare con la compressione. I programmi di compressione come gzip o zip comprimono (e decomprimono) file individuali o gruppi di file. Il sistema gzexe comprime e decomprime i programmi in maniera invisibile all'utente (i programmi che non vengono usati vengono compressi e decompressi quando si usano), il sistema sperimentale DouBle comprime tutti i file di un filesystem in maniera invisibile ai programmi che li usano (se avete familiarit con prodotti come Stacker per l'MS-DOS, il principio lo stesso).

Note
[1] Sic transit discus mundi. Partenza Risali Avanti La gestione della memoria

Indietro Dischi senza filesystem

Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1425.html (3 di 4) [02/07/2001 14.58.21]

Allocare spazio disco

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1425.html (4 di 4) [02/07/2001 14.58.21]

La gestione della memoria

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 5. La gestione della memoria


Sommario Cosa la memoria virtuale? La creazione di uno spazio di swap Come si usa lo spazio di swap La condivisione dello spazio di swap con altri sistemi operativi Allocare lo spazio di swap La cache di buffer "Minnet, jag har tappat mitt minne, r jag svensk eller finne, kommer inte ihg..." (Bosse sterberg) Questa sezione descrive le caratteristiche di gestione della memoria di Linux, cio la memoria virtuale e la cache di buffer del disco. Ne vengono descritti lo scopo, il funzionamento e le azioni necessarie da parte dell'amministratore di sistema.

Cosa la memoria virtuale?


Linux supporta la memoria virtuale, cio l'utilizzo di un disco come estensione della RAM in modo da aumentare di conseguenza la dimensione della memoria utilizzabile. Il kernel scrive il contenuto di un blocco di memoria che al momento non viene utilizzato sull'hard disk, in modo che la memoria possa essere usata per altre cose, e quando il contenuto originale serve ancora viene spostato di nuovo nella RAM. Questo processo completamente trasparente all'utente: i programmi che girano sotto Linux vedono soltanto una memoria disponibile pi grande del vero e non sanno che parte di essa risiede sull'hard disk. Naturalmente leggere e scrivere sull'hard disk pi lento (dell'ordine di un migliaio di volte) che usare la memoria vera, quindi i programmi non sono ugualmente veloci. La parte dell'hard disk che viene usato come memoria virtuale si chiama spazio di swap. Linux pu usare come spazio di swap sia un file normale nel filesystem che una partizione separata; una partizione pi veloce, ma pi facile modificare la dimensione di un file (non c' bisogno di ripartizionare l'intero hard disk e probabilmente installare tutto da zero). Quando sapete la quantit di spazio di swap di cui avete bisogno vi conviene usare una partizione, ma se non siete sicuri create un file, usate il sistema per un po' per farvi un'idea e poi fate una partizione quando siete sicuri sulla sua dimensione. Dovreste anche sapere che Linux permette di usare diversi file e partizioni di swap nello stesso momento. Per questo, se vi serve per un periodo uno spazio di swap pi grande del normale, potete impostare un file temporaneo, invece di tenerlo tutto sempre allocato. Una nota sulla terminologia dei sistemi operativi: in informatica di solito si distingue tra lo swapping (scrivere tutto il processo nello spazio di swap) e il paging (scriverci solo delle parti di dimensione fissa, di solito alcuni kilobyte, alla volta). Il paging di solito pi efficiente, ed quello che fa Linux, ma la terminologia tradizionale di Linux parla comunque di swapping[1].
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1493.html (1 di 2) [02/07/2001 14.58.22]

La gestione della memoria

Note
[1] Facendo quindi innervosire in modo spaventoso moltissimi informatici. Partenza Avanti La creazione di uno spazio di swap

Indietro Allocare spazio disco

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1493.html (2 di 2) [02/07/2001 14.58.22]

Avvio e spengimento del sistema

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 6. Avvio e spengimento del sistema


Sommario Introduzione all'avvio ed allo spengimento del sistema Il processo di boot pi da vicino Ancora sullo shutdown Il reboot Modalit utente singolo Dischetti di avvio di emergenza Start me up Ah... you've got to... you've got to Never, never never stop Start it up Ah... start it up, never, never, never You make a grown man cry, you make a grown man cry (Rolling Stones) Questa sezione spiega cosa succede quando viene avviato e spento un sistema Linux e qual' la maniera corretta di farlo. Se non si seguono le procedure esatte si possono corrompere o perdere dei file.

Introduzione all'avvio ed allo spengimento del sistema


http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1630.html (1 di 2) [02/07/2001 14.58.25]

Avvio e spengimento del sistema

L'atto di accendere un computer e caricare il suo sistema operativo[1] si chiama boot. Il nome proviene da un immagine del computer che si tira su dai nastri di partenza (bootstrap), ma l'atto in s leggermente pi realistico. Durante il bootstrap, il computer per prima cosa carica una piccola parte di codice, il bootstrap loader, di solito immagazzinato in una posizione fissa sull'hard disk o su un floppy, che a sua volta carica ed avvia il sistema operativo. La ragione per cui avviene questo processo a due fasi che il sistema operativo grosso e complicato, ma la prima parte di codice che viene caricata dal computer deve essere molto piccola (poche centinaia di byte) per evitare di avere codice residente (firmware) troppo complesso. Computer diversi hanno processi di bootstrap diversi. Per i PC il computer (il suo BIOS) legge il primo settore (il settore di boot) del floppy o dell'hard disk, che contiene il bootstrap loader, e carica il sistema operativo da qualche altro punto del disco (o da qualche altra parte). Dopo essere stato caricato, Linux inizializza l'hardware e i device driver e poi avvia init. init inizializza altri processi per permettere agli utenti di collegarsi e fare altre cose; i dettagli di questa parte saranno discussi pi avanti. Per spegnere un sistema Linux per prima cosa viene detto a tutti i processi di terminarsi (devono chiudere i file che avevano aperto e fare altre cose necessarie per mantenere pulito il filesystem), vengono smontati i filesystem e le aree di swap e infine viene stampato un messaggio sulla console che avvisa che si pu togliere la corrente. Se non viene seguita la procedura, possono accadere cose terribili: la peggiore possibile che la cache di buffer non venga svuotata, il che significa che tutti i dati in essa contenuti vengono persi e che il filesystem sul disco inconsistente, e quindi forse inutilizzabile.

Note
[1] Sui primi computer non era sufficiente accendere, ma bisognava caricare a mano il sistema operativo. Questi attrezzi moderni fanno tutto da soli. Partenza Avanti Il processo di boot pi da vicino

Indietro La cache di buffer

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1630.html (2 di 2) [02/07/2001 14.58.25]

La cache di buffer

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 5. La gestione della memoria

Avanti

La cache di buffer
Leggere da un disco[1] molto pi lento che accedere a della memoria (reale). Oltre a ci, comune leggere la stessa parte del disco diverse volte in brevi periodi di tempo. Ad esempio, si pu prima leggere un messaggio di posta elettronica, poi caricare lo stesso messaggio in un editor per rispondere, poi farlo leggere al programma di posta per copiarlo in una cartella. Oppure, considerate quanto spesso si pu usare il comando ls su un sistema con molti utenti. Leggendo le informazioni dal disco e trattenendole in memoria finch non servono pi si possono velocizzare le letture successive alla prima. Questo processo si chiama bufferizzazione del disco, e la memoria usata allo scopo la cache di buffer. Dato che la memoria , sfortunatamente, una risorsa finita, anzi, scarsa, la cache di buffer di solito non pu essere abbastanza grande (non pu contenere tutti i dati che si vogliono usare). Quando la cache si riempie, i dati che non sono stati usati per il tempo pi lungo vengono scartati e la memoria liberata viene usata per quelli nuovi. La bufferizzazione del disco vale anche in scrittura; da una parte i dati scritti vengono spessi letti di nuovo (come per un codice sorgente che viene salvato in un file, e poi letto dal compilatore), quindi mettere in cache i dati che vengono scritti una buona idea; dall'altra, solo mettendo i dati nella cache e non scrivendoli nel disco, il programma che li scrive gira pi veloce. La scrittura si pu fare in background, senza rallentare gli altri programmi. La maggior parte dei sistemi operativi usano le cache di buffer (anche se si possono chiamare in altri modi), ma non tutte funzionano con i principi descritti sopra. Alcune sono write-through: i dati vengono scritti tutti insieme nel disco (vengono mantenuti anche nella cache, naturalmente), mentre la cache si chiama write-back se la scrittura viene fatta in un secondo tempo. Il write-back pi efficiente del write-through, ma anche pi soggetto ad errori: se la macchina ha un crash, viene tolta la corrente al momento sbagliato o il floppy viene rimosso dal drive prima che i dati nella cache vengano scritti, i cambiamenti nella cache vengono persi; ci pu anche comportare che il filesystem (se ce n' uno) non sia pienamente funzionante, perch forse i dati non scritti contenevano cambiamenti importanti alle informazioni di archiviazione. Per questo non dovreste mai spegnere il computer senza usare una corretta procedura di shutdown (vedere il Capitolo 6), rimuovere un floppy dal drive senza smontarlo (se era stato montato) o dopo che qualsiasi programma che lo stia usando abbia segnalato di aver finito e che il led del floppy non si sia spento. Il comando sync fa il flush del buffer, cio forza la scrittura di tutti i dati nel disco, e pu essere usato quando si vuole essere certi che tutto venga scritto al sicuro. Nei sistemi UNIX tradizionali c' un programma chiamato update in background che fa un sync ogni 30 secondi, in modo che non in genere necessario usare sync. Linux ha un daemon aggiuntivo, bdflush, che fa un sync pi imperfetto con frequenza maggiore per evitare il blocco improvviso dovuto al pesante input/output del disco causato a volte da sync. Sotto Linux bdflush viene avviato da update. Di solito non c' ragione per preoccuparsene, ma se per qualche ragione bdflush muore il kernel vi avviser e dovrete riavviarlo a mano (/sbin/update). La cache in genere non fa il buffer dei file ma di blocchi, che sono le unit pi piccole dell'input/output dei dischi (sotto Linux di solito sono di 1 kB). In questo modo vengono messe in cache anche le directory, i superblocchi, altri dati di archiviazione dei filesystem e dischi che contengono un filesystem. L'efficacia di una cache principalmente decisa dalla sua dimensione: una cache piccola praticamente inutile, dato che conterr talmente pochi dati che tutti i dati in cache vengono tolti prima di venir riutilizzati. La dimensione critica dipende da
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1599.html (1 di 2) [02/07/2001 14.58.27]

La cache di buffer

quanti dati vengono letti e scritti e da quanto spesso vengono riutilizzati gli stessi. L'unico modo di saperlo sperimentare. Se la cache di dimensione fissa non neanche bene che sia troppo grande, perch potrebbe rimpicciolire troppo la memoria libera e rendere necessario fare swap (che ugualmente lento). Per usare in modo pi efficiente possibile la memoria reale Linux usa automaticamente tutta la RAM libera per la cache di buffer, ma rimpicciolisce la cache automaticamente quando i programmi hanno bisogno di pi memoria. Sotto Linux non dovete fare niente per utilizzare la cache, che funziona completamente in automatico; dovete solo seguire le procedure corrette per fare shutdown e per rimuovere i floppy.

Note
[1] Eccetto un disco di RAM, per ovvie ragioni. Partenza Risali Avanti Avvio e spengimento del sistema

Indietro Allocare lo spazio di swap

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1599.html (2 di 2) [02/07/2001 14.58.27]

I backup

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 10. I backup


Sommario Sull'importanza delle copie di backup La scelta del mezzo di backup La scelta dello strumento di backup Backup semplici Backup multilivello Di cosa fare backup Backup compressi L'hardware indeterministicamente affidabile. Il software deterministicamente inaffidabile. Le persone sono deterministicamente inaffidabili. La natura deterministicamente affidabile. Questo capitolo spiega perch, come e quando fare i backup, e come recuperare dati da essi.

Sull'importanza delle copie di backup


I vostri dati sono preziosi. Vi costerebbe tempo e sforzo ricrearli e questo costa denaro o almeno nervosismo e lacrime; talvolta non si pu neanche farlo, come ad esempio nel caso dei risultati di qualche esperimento. Dato che si tratta di un investimento, dovreste proteggerli e prendere provvedimenti per evitare di perderli. Ci sono principalmente quattro ragioni per cui si possono perdere dei dati: guasti all'hardware, bachi del software, azione umana o disastri naturali[1]. Anche se l'hardware moderno tende ad essere abbastanza affidabile, si pu comunque rompere senza una ragione apparente. Le parti hardware pi critiche per i

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c2264.html (1 di 2) [02/07/2001 14.58.31]

I backup

dati sono gli hard disk, che si affidano al fatto che deboli campi magnetici rimangano intatti in un mondo pieno di rumore elettromagnetico. Il software moderno non tende nemmeno ad essere affidabile; un programma solido come una roccia un'eccezione, non la regola. Gli essere umani sono piuttosto inaffidabili: possono fare uno sbaglio, o possono essere malvagi e distruggere dei dati volontariamente. La natura non sar cattiva, ma pu distruggere anche quando buona. Tutto sommato, un piccolo miracolo che qualcosa funzioni. I backup sono un modo per proteggere l'investimento in dati: avendone diverse copie, non importa molto se una viene distrutta (il costo solo quello di recuperare i dati dal backup). importante fare bene i backup; come tutte le cose correlate al mondo fisico, questi possono andare male prima o poi e parte del compito di farli assicurarsi che funzionino: non bello notare che il proprio backup non funziona nel momento del bisogno[2]. Aggiungendo la beffa al danno, il vostro computer pu crashare proprio mentre state salvando i vostri dati: se avete un solo mezzo di backup, potrebbe distruggersi anche quello, lasciandovi solo con le ceneri fumanti del vostro duro lavoro[3], oppure potreste notare, nel momento in cui state recuperando i dati, che vi siete scordati di includere nel backup alcuni dati importanti, come il database degli utenti su un sito che ne ha 15.000. Meglio ancora, tutti i vostri backup potrebbero essere perfettamente funzionanti, ma l'ultimo lettore di nastri che poteva leggere quel tipo che usavate era quello che ora ha dentro un secchio d'acqua. Quando si tratta di backup, la paranoia pu essere un requisito richiesto.

Note
[1] [2] [3] La quinta ragione ``qualcos'altro''. Non ridete, successo a diverse persone. Mi successo... Partenza Avanti La scelta del mezzo di backup

Indietro Disabilitazione temporanea di un utente

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c2264.html (2 di 2) [02/07/2001 14.58.31]

Allocare lo spazio di swap

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 5. La gestione della memoria

Avanti

Allocare lo spazio di swap


Alcuni vi diranno di allocare uno spazio di swap corrispondente al doppio della vostra memoria fisica, ma una regola approssimativa. Ecco come fare in modo corretto:
q

Stimate di quanta memoria avete bisogno: calcolate la quantit pi alta di memoria di cui avrete mai bisogno in una volta sola, cio la somma del fabbisogno di tutti i programmi che volete far girare contemporaneamente: lo potete fare facendoli girare tutti insieme. Ad esempio, se volete usare X dovreste allocargli circa 8 MB, gcc vuole qualche megabyte (alcuni file hanno bisogno di moltissima memoria, fino a decine di megabyte, ma di solito quattro bastano) e cos via. Il kernel user per s circa un megabyte, le normali shell ed altri programmi qualche centinaia di kilobyte (diciamo un megabyte tutti insieme). Non c' bisogno di tentare di essere esatti, basta una stima rozza, magari per eccesso. Ricordatevi che se ci sono diverse persone che usano il sistema in contemporanea consumeranno tutti della memoria; comunque, se due persone usano lo stesso programma contemporaneamente l'utilizzo complessivo di memoria non di solito doppio, dato che le pagine di codice e le librerie condivise vengono usate solo una volta. Per stimare le necessit di memoria sono utili i comandi free e ps.

Aggiungete per sicurezza un po' di memoria alla stima del passo 1: la dimensione di alcuni programmi sar sbagliata, o forse vi dimenticherete alcuni programmi che volete usare ed meglio avere un po' di spazio extra per qualsiasi evenienza. Un paio di megabyte dovrebbero andare bene ( meglio allocare troppo spazio di swap che troppo poco, ma non c' bisogno di strafare e allocare l'intero disco, dato che lo spazio di swap inutilizzato sprecato; vedi sopra come fare per aggiungere altro spazio). Inoltre, dato che si lavora meglio con le cifre tonde, arrotondate il valore al megabyte superiore. Basandovi sul calcolo qui sopra sapete di quanta memoria avete bisogno in totale. Per allocare lo spazio di swap dovete dunque sottrarre la dimensione della memoria fisica dalla memoria totale (in alcune versioni di UNIX dovete allocare dello spazio di swap anche per un'immagine della

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1581.html (1 di 2) [02/07/2001 14.58.35]

Allocare lo spazio di swap

memoria fisica, quindi il totale calcolato nel passo 2 lo swap necessario e non dovete fare la sottrazione).
q

Se lo spazio di swap calcolato molto pi grande della memoria fisica (pi del doppio) dovreste investire in pi memoria fisica, o le prestazioni saranno troppo basse.

una buona idea avere comunque dello spazio di swap, anche se i calcoli indicano che non ne avete bisogno; Linux lo usa in modo piuttosto aggressivo, in modo che possa essere tenuta libera pi memoria fisica possibile, e mander in swap delle pagine di memoria che non vengono usate anche se non c' ancora bisogno di memoria per altre cose. Un comportamento del genere evita di aspettare di fare swap nel momento in cui ce n' bisogno---si pu fare prima, quando il disco altrimenti non sta lavorando. Lo spazio di swap pu essere suddiviso tra vari dischi, in modo da poter in qualche modo migliorare le prestazioni, a seconda delle loro velocit e degli schemi di accesso. Potete fare degli esperimenti con schemi diversi, ma farlo in modo corretto non semplice. Non credete a chi dice che uno schema sicuramente superiore ad un altro, perch non sempre vero. Indietro La condivisione dello spazio di swap con altri sistemi operativi Partenza Risali Avanti La cache di buffer

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1581.html (2 di 2) [02/07/2001 14.58.35]

La creazione di uno spazio di swap

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 5. La gestione della memoria

Avanti

La creazione di uno spazio di swap


Un file di swap un file ordinario e non viene considerato in maniera speciale dal kernel. L'unica cosa che importa al kernel che non deve avere buchi e che sia preparato all'uso con mkswap. Deve risiedere su un disco locale, comunque, e non pu trovarsi su un filesystem montato via NFS per ragioni di implementazione. La parte sui buchi importante: il file riserva lo spazio disco in modo che il kernel possa fare velocemente lo swap di una pagina senza dover fare tutti i passi necessari per allocare un settore di un disco ad un file. Il kernel usa semplicemente i settori che sono stati allocati per il file; dato che un buco significa che per quel posto nel file non sono allocati settori, non bene che il kernel provi ad usarli. Un modo buono per creare il file di swap senza buchi usando questo comando: $ dd if=/dev/zero of=/extra-swap bs=1024 count=1024 1024+0 records in 1024+0 records out $ dove /extra-swap il nome del file di swap e la sua dimensione viene data dopo count=. meglio che la dimensione sia un multiplo di 4, perch il kernel manda in swap pagine di memoria di 4 kilobyte. Se la dimensione non un multiplo di 4 l'ultimo paio di kilobyte pu restare inutilizzato. Anche una partizione di swap non in nessun modo una partizione speciale: la si crea come una qualsiasi altra partizione, l'unica differenza che viene usata cos com' e non contiene un filesystem. una buona idea segnare le partizioni di swap come tipo 82 (Linux swap); in questo modo renderete pi chiara la tabella delle partizioni, anche se non strettamente necessario per il kernel. Dopo aver creato un file o una partizione di swap bisogna scrivere al suo inizio una firma che contiene delle informazioni di amministrazione usate dal kernel. Il comando per farlo mkswap, che si usa cos: $ mkswap /extra-swap 1024 Setting up swapspace, size = 1044480 bytes $ Notate che lo spazio di swap non ancora in uso: esiste, ma il kernel non lo usa per fornire memoria
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1509.html (1 di 2) [02/07/2001 14.58.36]

La creazione di uno spazio di swap

virtuale. Va fatta molta attenzione nell'usare mkswap, dato che questo non controlla che il file o la partizione non siano usati per altre cose. Potete facilmente sovrascrivere file e partizioni importanti! Per fortuna di solito si usa mkswap solo quando si installa il sistema. Il gestore di memoria di Linux limita la dimensione di ciascuno spazio di swap a circa 127 MB (per varie ragioni tecniche, il limite reale (4096-10) * 8 * 4096 = 133890048 byte, o 127.6875 megabyte). Potete comunque usare fino a 8 spazi di swap simultaneamente, per un totale di circa 1 GB[1].

Note
[1] Un gigabyte qui, un gigabyte l, presto cominceremo a parlare di memoria vera. Partenza Risali Avanti Come si usa lo spazio di swap

Indietro La gestione della memoria

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1509.html (2 di 2) [02/07/2001 14.58.36]

Come si usa lo spazio di swap

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 5. La gestione della memoria

Avanti

Come si usa lo spazio di swap


Uno spazio di swap inizializzato si mette in uso con swapon, che comunica al kernel che pu essere utilizzato. Come argomento viene dato il percorso per il file o la partizione, quindi per cominciare ad usare uno spazio di swap temporaneo si pu fare: $ swapon /extra-swap $ Gli spazi di swap possono essere usati automaticamente elencandoli nel file /etc/fstab. /dev/hda8 none swap sw 0 0 /swapfile none swap sw 0 0 Gli script di avvio fanno partire il comando swapon -a, che comincer ad usare come swap tutti gli spazi elencati in /etc/fstab. Il comando swapon quindi necessario solo se si usano spazi di swap supplementari. Si pu controllare l'utilizzo degli spazi di swap usando il comando free, che dice la quantit totale di spazio di swap usata. $ free total used free shared buffers Mem: 15152 14896 256 12404 2528 -/+ buffers: 12368 2784 Swap: 32452 6684 25768 $ La prima linea di output (Mem:) mostra la memoria fisica. La colonna total non considera la memoria fisica usata dal kernel, che in genere circa un megabyte, used mostra la quantit di memoria usata (nella seconda linea non vengono contati i buffer), free quella totalmente inutilizzata e shared quella condivisa da diversi processi: pi , meglio . La colonna buffer mostra la dimensione corrente della cache di buffer del disco. L'ultima linea (Swap:) mostra le stesse informazioni per gli spazi di swap. Se questa linea contiene tutti zeri, non avete attivato lo spazio di swap.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1538.html (1 di 2) [02/07/2001 14.58.38]

Come si usa lo spazio di swap

Le stesse informazioni sono disponibili con top o usando il filesystem proc, in particolare il file /proc/meminfo. Al momento difficile avere delle informazioni sull'uso di uno spazio di swap specifico. Uno spazio di swap pu essere disabilitato con swapoff; in genere non necessario farlo, tranne che per gli spazi di swap temporanei. Le pagine in uso nello spazio di swap vengono per prima cosa copiate nella memoria; se non c' memoria fisica sufficiente vengono messe in un altro spazio di swap. Se non c' abbastanza memoria virtuale per mantenere tutte le pagine Linux comincer a fare rumore; dopo un po' di tempo dovrebbe tornare normale, ma nel frattempo il sistema inutilizzabile. Bisognerebbe sempre controllare (ad esempio con free) che ci sia abbastanza memoria libera prima di disabilitare uno spazio di swap. Tutti gli spazi di swap che vengono usati automaticamente con swapon -a possono essere disabilitati usando swapoff -a, che va a guardare in /etc/fstab per vedere quali spazi rimuovere. Gli spazi di swap attivati manualmente rimarranno in uso. Talvolta pu venire usato spazio di swap anche se c' molta memoria fisica libera; ad esempio se ad un certo punto c' bisogno di fare swap, ma poi un processo grande che occupava molta memoria fisica termina e libera la memoria. I dati messi in swap non vengono reinseriti in memoria automaticamente, ma solo quando servono, quindi la memoria fisica pu restare libera per parecchio tempo. Non c' bisogno di preoccuparsene, ma pu essere confortante sapere cosa sta succedendo. Indietro La creazione di uno spazio di swap Partenza Risali Avanti La condivisione dello spazio di swap con altri sistemi operativi

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1538.html (2 di 2) [02/07/2001 14.58.38]

La condivisione dello spazio di swap con altri sistemi operativi

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 5. La gestione della memoria

Avanti

La condivisione dello spazio di swap con altri sistemi operativi


La memoria virtuale viene usata da molti sistemi operativi; dato che ne hanno bisogno solo mentre stanno funzionando, cio mai allo stesso tempo, gli spazi di swap di tutti i sistemi operativi presenti meno uno vanno sprecati, e sarebbe pi efficiente se condividessero un solo spazio di swap. possibile, ma richiede un po' di impegno. Il Tips-HOWTO ([TIPS-HOWTO]) contiene dei suggerimenti su come fare. Indietro Come si usa lo spazio di swap Partenza Risali Avanti Allocare lo spazio di swap

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1577.html [02/07/2001 14.58.42]

Il processo di boot pi da vicino

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 6. Avvio e spengimento del sistema

Avanti

Il processo di boot pi da vicino


Si pu avviare Linux sia da un floppy che dall'hard disk. La sezione sull'installazione nella guida Installation and Getting Started ([IGS]) vi spiega come installare Linux in modo da poterlo avviare nel modo che volete. Al boot di un PC, il BIOS fa vari test per controllare che tutto sia a posto[1], e poi inizia il vero boot: sceglie un disco (tipicamente il primo floppy, se ce n' uno inserito, oppure il primo hard disk, se nel computer ce ne installato uno, ma l'ordine pu essere cambiato) e ne legge il primo settore, che si chiama boot sector (``settore principale di boot''); per un hard disk si chiama anche master boot record, dato che un hard disk pu contenere diverse partizioni, ciascuna con il proprio settore di boot. Il settore di boot contiene un piccolo programma (abbastanza piccolo da entrare in un singolo settore) la cui responsabilit di leggere il vero sistema operativo dall'hard disk ed avviarlo. Quando si avvia Linux da un floppy disk, il settore di boot contiene del codice che legge semplicemente le prime centinaia di blocchi (a seconda della reale grandezza del kernel, naturalmente) in un punto predeterminato della memoria. Su un floppy di boot di Linux non c' un filesystem, ma il kernel semplicemente immagazzinato in settori consecutivi, dato che questo semplifica il processo di caricamento. possibile, comunque, fare il boot da floppy con un filesystem, usando LILO, il LInux LOader. Quando si fa il boot dall'hard disk, il codice nel master boot record esamina la tabella delle partizioni (anch'essa nel master boot record), identifica la partizione attiva (quella che contrassegnata come avviabile), legge il settore di boot di quella partizione e poi inizializza il codice che vi si trova. Il codice nel settore di boot di quella partizione fa la stessa cosa che il settore di boot di un dischetto: legge il kernel dalla partizione e lo inizializza. I dettagli cambiano, comunque, dato che di solito non utile avere una partizione separata solo per l'immagine del kernel, quindi il codice nel settore di boot della partizione non pu semplicemente leggere il disco in maniera sequenziale, ma deve trovare i settori dove li ha messi il filesystem. Ci sono diversi modi per aggirare il problema, ma il pi comune usare LILO (i dettagli sul suo utilizzo sono irrilevanti per questa discussione: vedere la documentazione di LILO per altre informazioni, molto accurata). Quando si fa il boot con LILO, normalmente il computer passa direttamente alla lettura e al caricamento del kernel di default. anche possibile configurare LILO per poter scegliere il kernel da caricare da un elenco, o anche per caricare sistemi diversi da Linux, ed possibile scegliere quale kernel o sistema operativo avviare al momento del boot. LILO pu essere configurato in modo che, se si tiene premuto alt, shift, o ctrl al momento del boot (quando si carica LILO), chieda quale sistema avviare, con un tempo massimo configurabile dopo il quale avvia il kernel di default. Con LILO, anche possibile dare un argomento da linea di comando al kernel dopo il suo nome o quello del sistema operativo. Sia il boot da floppy che quello da hard disk hanno i loro vantaggi, ma in genere fare il boot da hard disk pi comodo, dato che evita la noia di dover maneggiare i floppy; anche pi veloce, ma configurare il sistema in modo che faccia il boot da disco fisso pu essere pi problematico, quindi molti prima installano il sistema in modo che faccia il boot dal floppy e poi, quando il sistema installato e funzionante, installano LILO e cominciano a fare il boot dall'hard disk. Dopo che il kernel di Linux stato caricato in memoria, in qualsiasi modo questo accada, ed stato avviato, succede pi o meno questo:
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1650.html (1 di 3) [02/07/2001 14.58.46]

Il processo di boot pi da vicino


q

Il kernel di Linux installato compresso, quindi per prima cosa si decomprime. L'inizio dell'immagine del kernel contiene un programmino che fa proprio questo. Se avete una scheda super-VGA che viene riconosciuta da Linux e che ha delle modalit di testo speciali (ad esempio 100 colonne per 40 linee), Linux vi chiede quale modalit volete usare. In fase di compilazione del kernel possibile preimpostare una modalit video, in modo che non vi venga posta questa domanda. La stessa cosa si pu anche fare con LILO o rdev. Dopo ci, il kernel controlla quale altro hardware presente (hard disk, floppy, schede di rete, ecc.) e configura alcuni dei dispositivi; mentre lo fa, manda in output dei messaggi su quello che trova. Ad esempio, all'avvio del mio computer vedo una cosa del genere: LILO boot: Loading linux. Console: colour EGA+ 80x25, 8 virtual consoles Serial driver version 3.94 with no serial options enabled tty00 at 0x03f8 (irq = 4) is a 16450 tty01 at 0x02f8 (irq = 3) is a 16450 lp_init: lp1 exists (0), using polling driver Memory: 7332k/8192k available (300k kernel code, 384k reserved, 176k data) Floppy drive(s): fd0 is 1.44M, fd1 is 1.2M Loopback device init Warning WD8013 board not found at i/o = 280. Math coprocessor using irq13 error reporting. Partition check: hda: hda1 hda2 hda3 VFS: Mounted root (ext filesystem). Linux version 0.99.pl9-1 (root@haven) 05/01/93 14:12:20 Il testo esatto diverso su sistemi diversi e cambia a seconda dell'hardware, della versione di Linux che si sta usando e di come configurata. A questo punto il kernel prova a montare il filesystem radice. Il punto in cui lo va a cercare configurabile al momento della compilazione o in qualsiasi momento usando rdev o LILO. Il tipo di filesystem viene individuato automaticamente. Se per qualche motivo non si riesce a montare il filesystem radice, ad esempio perch non vi siete ricordati di inserire il driver corrispondente nel kernel, si ha un kernel panic e il sistema si blocca (non c' molto che potrebbe fare, comunque). Il filesystem radice di solito viene montato in modalit a sola lettura (si pu configurare nello stesso modo che per la partizione da montare): ci rende possibile controllare il filesystem mentre lo si monta; non una buona idea controllare un filesystem montato in modalit lettura-scrittura.

Dopo ci, il kernel inizializza il programma init (che si trova in /sbin/init) in background (diventer sempre il processo numero 1). init ha vari compiti all'avvio; cosa fa di preciso dipende da come configurato, vedere il Capitolo 7 per altre informazioni. Di sicuro inizializzer alcuni demoni in background. init poi passa in modalit multi-utente, ed inizializza una getty per le console virtuali e le linee seriali. getty il programma che permette agli utenti di collegarsi attraverso le console virtuali ed i terminali seriali. init pu anche inizializzare altri programmi, a seconda di come stato configurato. A questo punto il boot completo ed il sistema sta funzionando normalmente.

Note
[1] Questo processo si chiama power on self test, o POST, cio ``auto--test di avvio''. Partenza Avanti

Indietro

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1650.html (2 di 3) [02/07/2001 14.58.46]

Il processo di boot pi da vicino

Avvio e spengimento del sistema

Risali

Ancora sullo shutdown

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1650.html (3 di 3) [02/07/2001 14.58.46]

Ancora sullo shutdown

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 6. Avvio e spengimento del sistema

Avanti

Ancora sullo shutdown


importante seguire le procedure corrette quando si spenge un sistema Linux. Se non lo fate il filesystem probabilmente si corromper e i file diventeranno illeggibili. Questo perch Linux utilizza la cache del disco, che non scrive sul disco tutto insieme ma solo ad intervalli; un comportamento del genere migliora moltissimo la performance, ma sta anche a significare che se spengete semplicemente il computer d'improvviso la cache pu contenere molti dati e quello che si trova sul disco pu non essere un filesystem che funziona perfettamente (perch solo alcune cose vi sono state scritte). Un'altra ragione per non spengere direttamente l'interruttore che in un sistema multitasking ci possono essere molti processi attivi in background e interrompere l'alimentazione pu essere piuttosto disastroso. Usando la corretta sequenza di shutdown vi assicurate che tutti i processi in background possano salvare i propri dati. Il comando per spengere correttamente un sistema Linux shutdown. Normalmente pu essere usato in due modi:
q

Se vi trovate su un sistema dove siete l'unico utente, il modo normale di usare shutdown uscire da tutti i programmi, scollegarsi da tutte le console virtuali, collegarsi come radice su una di esse (o restare collegati come root se gi lo siete, ma dovreste passare nella directory root, per evitare problemi nello smontare i filesystem) e dare il comando shutdown -h now (sostituite now con un segno + ed un numero di minuti se volete un ritardo, anche se di solito non questo il caso in un sistema monoutente). In alternativa, se il vostro sistema ha molti utenti, usate il comando shutdown -h +tempo messaggio, dove tempo il tempo in minuti prima che il sistema venga fermato, e messaggio una breve spiegazione del perch il sistema viene spento. # shutdown -h +10 'Dobbiamo installare un nuovo disco. Il sistema dovrebbe tornare in linea tra tre ore.' # In questo modo tutti verranno avvertiti che il sistema si fermer tra dieci minuti, e che meglio che si scolleghino o perderanno dei dati. L'avviso viene visualizzato su tutti i terminali su cui c' un utente collegato, inclusi tutti gli xterm: Broadcast message from root (ttyp0) Wed Aug 2 01:03:25 1995... Dobbiamo installare un nuovo disco. Il sistema dovrebbe tornare in linea tra tre ore. The system is going DOWN for system halt in 10 minutes !! L'avviso viene ripetuto automaticamente alcune volte prima dello spegnimento, ad intervalli sempre pi brevi.

Quando comincia il vero shutdown dopo i vari ritardi, vengono smontati tutti i filesystem (eccetto quello di radice), i processi utente (se qualcuno ancora collegato) vengono uccisi, i daemon vengono fermati ed in generale tutto si mette a posto. Fatto questo, init stampa un messaggio che indica che potete spengere la macchina. Allora, e solo allora, le vostre dita si possono muovere nella direzione dell'interruttore. Talvolta, anche se raramente sui buoni sistemi, impossibile fare lo shutdown in maniera corretta. Ad esempio se si ha un kernel panic e il kernel muore, esplode, o in genere non si comporta come dovrebbe, pu essere totalmente impossibile dare
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1699.html (1 di 2) [02/07/2001 14.58.47]

Ancora sullo shutdown

nuovi comandi, quindi possibile che sia difficile fare bene lo shutdown e tutto quello che potete fare sperare che non sia successo niente di grave e spengere il computer. Se i danni sono un po' meno pesanti (ad esempio qualcuno ha preso ad accettate la vostra tastiera) ed il kernel e il programma update stanno ancora girando normalmente, probabilmente una buona idea aspettare un paio di minuti, dare la possibilit ad update di svuotare la cache e solo allora spengere il computer. Alcuni per fare lo shutdown usano il comando sync[1] tre volte, aspettano che l'I/O del disco sia finito e spengono il computer. Se non ci sono programmi attivi praticamente la stessa cosa che usare shutdown, ma non smonta i filesystem e ci pu provocare dei problemi con il codice dell'ext2fs di ``filesystem pulito''. Il metodo del sync triplo non raccomandato (in caso ve lo stiate chiedendo, la ragione per tre sync che nei primi UNIX, quando i comandi venivano digitati singolarmente, tre sync dava di solito tempo sufficiente a finire qualsiasi I/O del disco).

Note
[1] sync fa il flush della cache di buffer. Partenza Risali Avanti Il reboot

Indietro Il processo di boot pi da vicino

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1699.html (2 di 2) [02/07/2001 14.58.47]

Il reboot

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 6. Avvio e spengimento del sistema

Avanti

Il reboot
Fare il reboot significa avviare di nuovo il sistema e si pu ottenere facendo shutdown, togliendo la corrente e poi riattaccandola. Un metodo pi semplice chiedere a shutdown di farlo lui, invece di spengere soltanto. Lo si pu fare usando l'opzione -r di shutdown, ad esempio dando il comando shutdown -r now. La maggior parte dei sistemi Linux fanno shutdown -r now quando si preme ctrl-alt-canc sulla tastiera, in modo da riavviare il sistema. L'azione di ctrl-alt-canc per configurabile e spesso preferibile inserire un ritardo in sistemi multiutente. Per sistemi accessibili a chiunque si pu configurare ctrl-alt-canc in modo che non abbia nessun effetto (vedi la sezione Configurazioni speciali in /etc/inittab nel Capitolo 7). Indietro Ancora sullo shutdown Partenza Risali Avanti Modalit utente singolo

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1736.html [02/07/2001 14.58.49]

Modalit utente singolo

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 6. Avvio e spengimento del sistema

Avanti

Modalit utente singolo


Il comando shutdown pu anche essere usato per portare il sistema in modalit utente singolo, in modo che nessuno possa collegarsi, tranne root che pu usare la console; questo utile per i compiti di amministrazione di sistema che non possono essere fatti mentre il sistema funziona normalmente. Indietro Il reboot Partenza Risali Avanti Dischetti di avvio di emergenza

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1746.html [02/07/2001 14.58.50]

Dischetti di avvio di emergenza

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 6. Avvio e spengimento del sistema

Avanti

Dischetti di avvio di emergenza


Non sempre possibile avviare un computer dall'hard disk: ad esempio, se vi sbagliate a configurare LILO potete rendere inaccessibile il vostro sistema. Per situazioni come questa avete bisogno di un modo alternativo di avviare il computer, che sia sempre possibile (almeno finch funziona l'hardware). Per i normali PC si usa il boot dal dischetto. La maggior parte delle distribuzioni di Linux permettono di creare un dischetto di avvio di emergenza durante l'installazione. una buona idea farlo, ma alcuni di questi dischetti contengono solo il kernel ed assumono che usiate i programmi di installazione della distribuzione per risolvere qualsiasi problema abbiate. Talvolta questi programmi non sono sufficienti: ad esempio, potreste voler recuperare dei file da backup fatti con software non presente nei dischetti di installazione. quindi possibile che sia necessario creare un dischetto di root personalizzato. Il Bootdisk HOWTO di Graham Chapman ([BOOTDISK-HOWTO]) contiene le istruzioni per farlo. Dovete naturalmente ricordarvi di mantenere aggiornati i vostri dischetti di boot e root di emergenza. Non potete usare il lettore dei floppy su cui avete montato il floppy di root per altre cose; questo pu essere un inconveniente se avete un solo lettore, ma se avete memoria sufficiente potete configurare il floppy di boot in modo che carichi il disco di root in un ramdisk (il kernel del floppy di boot deve essere configurato appositamente per questo). Una volta caricato in ramdisk il floppy di root, il drive dei floppy libero e pu essere usato per montare altri dischetti. Indietro Modalit utente singolo Partenza Risali Avanti init

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1750.html [02/07/2001 14.58.53]

init

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 7. init
Sommario init prima di tutto Configurazione di init per inizializzare le getty: il file /etc/inittab I runlevel Configurazioni speciali in /etc/inittab Fare il boot in modalit utente singolo "Uuno on numero yksi" (Slogan da una serie di film finlandesi.) Questo capitolo descrive init, che il primo processo a livello utente inizializzato dal kernel. init ha molti compiti importanti, come inizializzare le getty (in modo che gli utenti si possano collegare), implementare i runlevel e prendersi cura dei processi orfani. Questo capitolo spiega come si configura init e come si possano usare i diversi runlevel.

init prima di tutto


init uno di quei programmi essenziali per il funzionamento di un sistema Linux, ma che si possono quasi sempre ignorare. Una buona distribuzione di Linux avr una configurazione di init che funzioni con la maggior parte dei sistemi e su questi non ci sar bisogno di fargli niente. Di solito preoccuparsi di init serve solo se agganciate terminali seriali, modem in ingresso (non in uscita) o se volete cambiare il runlevel di default. Quando il kernel si avviato (cio quando stato caricato in memoria, si inizializzato ed ha inizializzato tutti i driver di device, le strutture dati e cose del genere) finisce la sua parte del processo di boot facendo partire un programma a livello utente: init. init quindi sempre il primo processo (e il suo numero di processo sempre 1).

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1759.html (1 di 2) [02/07/2001 14.58.54]

init

Il kernel cerca init in alcuni posti in cui viene tenuto storicamente, ma il suo posto corretto (su un sistema Linux) /sbin/init. Se il kernel non trova init prova ad avviare /bin/sh e se non riesce a fare neanche quello l'avvio del sistema fallisce. Quando init parte completa il processo di boot portando a termine diversi compiti di amministrazione, come il controllo dei filesystem, la pulizia di /tmp, l'avvio di svariati servizi e di una getty per ogni terminale e console virtuale a cui si possano collegare gli utenti (vedere il Capitolo 8). Dopo che il sistema partito correttamente, ogni volta che un utente si scollega init fa ripartire una getty nel terminale corrispondente (in modo che l'utente successivo possa ricollegarsi). init adotta anche i processi orfani: quando un processo avvia un processo figlio e muore prima di esso, quest'ultimo diventa figlio di init; importante per varie ragioni tecniche, ma bene saperlo, perch facilita la comprensione degli elenchi e degli alberi dei processi[1]. Sono disponibili anche alcune varianti di init: la maggior parte dei sistemi Linux usano sysvinit (scritto da Miquel van Smoorenburg), che basato sull'init del System V. Le versioni BSD di Unix hanno un init diverso. La differenza principale sono i runlevel: il BSD non ce l'ha (almeno tradizionalmente), ma non una differenza essenziale. Noi vedremo solo il sysvinit.

Note
[1] init non pu morire: non si pu uccidere nemmeno con SIGKILL. Partenza Avanti Configurazione di init per inizializzare le getty: il file /etc/inittab

Indietro Dischetti di avvio di emergenza

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1759.html (2 di 2) [02/07/2001 14.58.54]

Configurazioni speciali in /etc/inittab

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 7. init

Avanti

Configurazioni speciali in /etc/inittab


Il file /etc/inittab ha alcune caratteristiche speciali che permettono ad init di reagire a circostanze particolari; tali caratteristiche vengono segnate da speciali parole chiave nel terzo campo. Alcuni esempi: powerwait Permette ad init di spegnere il sistema, quando viene a mancare la corrente. Assume l'uso di un UPS e di un software che lo controlli ed informi init che non c' pi corrente. ctrlaltdel Permette ad init di riavviare il sistema, quando l'utente preme ctrl-alt-canc sulla tastiera di console. Notare che l'amministratore di sistema pu configurare la reazione a ctrl-alt-canc in modo che sia qualcos'altro, ad esempio che venga ignorata, se il sistema accessibile al pubblico (o che avvii nethack.) sysinit Il comando da far partire all'avvio del sistema. Di solito fa cose come pulire la /tmp. La lista qui sopra non completa. Vedere la pagina man di inittab per controllare tutte le possibilit, e per dettagli su come usare quelle riportate qui sopra. Indietro I runlevel Partenza Risali Avanti Fare il boot in modalit utente singolo

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1902.html [02/07/2001 14.59.00]

Configurazione di init per inizializzare le getty: il file /etc/inittab

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 7. init

Avanti

Configurazione di init per inizializzare le getty: il file /etc/inittab


Quando si avvia, init legge il file di configurazione /etc/inittab, e durante il funzionamento del sistema lo legger di nuovo se gli si manda il segnale HUP[1]; questa caratteristica rende inutile riavviare il sistema per attivare delle modifiche alla configurazione di init. Il file /etc/inittab piuttosto complicato; cominceremo con il caso semplice della configurazione delle linee per le getty. Le linee del file /etc/inittab consistono di quattro campi delimitati da due punti: id:runlevel:azione:processo I campi sono descritti qui sotto. Oltre a ci, /etc/inittab pu contenere linee vuote e linee che cominciano con un cancelletto (`#'): entrambe vengono ignorate. id Identifica la linea del file. Per le linee di getty, specifica il terminale su cui gira (il carattere dopo /dev/tty nel nome del file di device). Per altre linee non vuol dire niente (tranne che per le restrizioni sulla lunghezza), ma non deve essere univoco. runlevel Il runlevel per cui va considerata la linea. I runlevel vengono indicati da una sola cifra, senza delimitatori (sono descritti nella prossima sezione). azione L'azione che deve corrispondere alla linea, ad esempio respawn per riavviare il comando nel campo successivo quando esce, o once per farlo una volta sola. processo Il comando da attivare. Per aprire una getty sul primo terminale virtuale (/dev/tty1), in tutti i normali runlevel multiutente
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1804.html (1 di 2) [02/07/2001 14.59.02]

Configurazione di init per inizializzare le getty: il file /etc/inittab

(2-5) si dovrebbe scrivere la seguente linea: 1:2345:respawn:/sbin/getty 9600 tty1 Il primo campo dice che questa la linea di /dev/tty1; il secondo che si applica ai runlevel 2, 3, 4 e 5, il terzo campo significa che il comando deve essere riavviato quando esce (in modo che ci si possa collegare, scollegare e collegare di nuovo), l'ultimo il comando che avvia la getty sul primo terminale virtuale[2]. Se voleste aggiungere ad un sistema dei terminali o delle linee modem in ingresso, dovreste aggiungere altre linee ad /etc/inittab, una per ciascun terminale o linea. Per altri dettagli consultate le pagine man di init, inittab, e getty. Se un comando non parte e init configurato per farlo ripartire (restart), user moltissime risorse di sistema: init lo avvia, fallisce, lo avvia, fallisce, e cos via all'infinito. Per evitare una cosa del genere, init tiene traccia di quanto spesso avvia un comando e se la frequenza cresce aspetter cinque minuti prima di avviarlo di nuovo.

Note
[1] [2] Usando il comando kill -HUP 1 da root, ad esempio. Versioni diverse di getty funzionano in maniera diversa. Consultate la pagina man, ed assicuratevi che sia quella giusta. Partenza Risali Avanti I runlevel

Indietro init

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1804.html (2 di 2) [02/07/2001 14.59.02]

I runlevel

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 7. init

Avanti

I runlevel
Un runlevel uno stato di init e dell'intero sistema che definisce quali servizi di sistema sono operativi. I runlevel sono identificati da numeri: vedere la Tabella 7-1. Non c' un parere comune per come usare i runlevel definiti a livello utente (dal 2 al 5): alcuni amministratori di sistema li utilizzano per definire quali sottosistemi funzionano, cio se gira X, se la rete operativa e cos via. Altri hanno tutti i sottosistemi che girano sempre e li avviano e li fermano individualmente senza cambiare runlevel, perch i runlevel sono uno strumento troppo grezzo per il controllo del sistema. Potete decidere da voi, ma pu essere pi semplice seguire come fa la vostra distribuzione di Linux. Tabella 7-1. Numeri dei runlevel 0 1 2-5 6 Ferma il sistema. Modalit monoutente (per l'amministrazione straordinaria). Operazione normale (definiti dall'utente). Reboot.

I runlevel sono configurati da /etc/inittab da linee come questa: l2:2:wait:/etc/init.d/rc 2 Il primo campo un livello arbitrario, il secondo significa che la linea si applica per il runlevel 2. Il terzo campo dice che init dovrebbe avviare il programma che sta nel quarto campo una sola volta, quando si entra nel runlevel, e che init deve aspettare che sia completato. Il comando /etc/init.d/rc avvia qualsiasi comando sia necessario per far partire o interrompere i servizi per entrare nel runlevel 2. Il comando nel quarto campo fa tutto il lavoro duro; inizializza i servizi che non stanno girando e ferma quelli che non dovrebbero farlo pi nel nuovo runlevel. Quale esattamente il comando e come sono configurati i runlevel dipende dalla distribuzione di Linux. Quando parte, init cerca una linea in /etc/inittab che specifichi il runlevel di default: id:2:initdefault: Potete chiedere a init di entrare in un runlevel non di default all'avvio dando al kernel da linea di
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1862.html (1 di 2) [02/07/2001 14.59.03]

I runlevel

comando l'argomento single o emergency. Gli argomenti al kernel da linea di comando si danno ad esempio con LILO, il che permette di scegliere anche la modalit singolo utente (runlevel 1). Mentre il sistema gira, il comando telinit pu cambiare il runlevel; quando accade, init avvia il comando appropriato da /etc/inittab. Indietro Configurazione di init per inizializzare le getty: il file /etc/inittab Partenza Risali Avanti Configurazioni speciali in /etc/inittab

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1862.html (2 di 2) [02/07/2001 14.59.03]

Fare il boot in modalit utente singolo

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 7. init

Avanti

Fare il boot in modalit utente singolo


Un runlevel importante la modalit a singolo utente (runlevel 1), in cui solo l'amministratore di sistema usa la macchina e girano il minor numero possibile di servizi di sistema, compresi i login. La modalit a utente singolo necessaria per portare avanti dei compiti di amministrazione[1], come usare fsck sulla partizione /usr, il che richiede che la partizione non sia montata, cosa che non pu accadere a meno che quasi tutti i servizi di sistema non vengano uccisi. Si pu portare un sistema funzionante in modalit utente singolo usando il comando telinit per richiedere il runlevel 1. All'avvio ci si pu entrare dando single o emergency sulla linea di comando del kernel: il kernel passa la linea di comando anche ad init, ed init riconosce cos che non deve usare il runlevel di default (la linea di comando del kernel viene attivata in modi diversi a seconda di come avviate il sistema). Fare il boot in modalit utente singolo talvolta necessario per poter usare fsck a mano, prima che vengano montate delle partizioni o che venga toccata una partizione /usr corrotta (qualsiasi attivit su un filesystem corrotto probabilmente lo roviner ancora di pi, quindi bisogna usarci fsck il prima possibile). Gli script di avvio che init usa fanno entrare automaticamente in modalit utente singolo se l'fsck automatico al boot fallisce, in modo da evitare che il sistema usi un filesystem talmente rovinato da non poter essere riparato da fsck. Una cosa del genere relativamente rara, e di solito comporta che l'hard disk sia rotto o che si stia usando una versione del kernel sperimentale, ma bene essere preparati. Come misura di sicurezza, un sistema configurato correttamente chieder la password di root prima di avviare una shell in modalit utente singolo, altrimenti sarebbe facile dare una linea a LILO per entrare come root (non funzioner se il file /etc/passwd stato rovinato da problemi al filesystem, naturalmente, ed il quel caso sar meglio avere un floppy di boot a portata di mano).

Note
[1] Non dovrebbe essere usata per giocare a nethack.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1930.html (1 di 2) [02/07/2001 14.59.07]

Fare il boot in modalit utente singolo

Indietro Configurazioni speciali in /etc/inittab

Partenza Risali

Avanti Login e logout

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1930.html (2 di 2) [02/07/2001 14.59.07]

Login e logout

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 8. Login e logout


Sommario Login via terminale Login via rete Cosa fa login La shell X e xdm Il controllo degli accessi "Non mi interessa appartenere ad un club che accetta gente come me come membri." (Groucho Marx) Questa sezione descrive cosa succede quando un utente si collega o fa logout: vengono descritte in dettaglio le varie interazioni di processi in background, file di log, file di configurazione e cos via.

Login via terminale


La Figura 8-1 mostra come avvengono i login via terminale. Per prima cosa, init si assicura che ci sia un programma di getty per la connessione da terminale (o da console). getty ascolta al terminale ed aspetta che l'utente sia pronto a fare il login (di solito comporta che l'utente digiti qualcosa). Quando nota un utente, getty d in output un messaggio di saluto (che si trova in /etc/issue), chiede il nome dell'utente e infine fa partire il programma login. login prende come parametro il nome dell'utente e chiede la password; se corrispondono, login avvia la shell configurata per l'utente, altrimenti esce semplicemente e termina il processo (probabilmente dopo aver dato all'utente un'altra possibilit di inserire il nome e la password). init nota che il processo stato terminato e avvia una nuova getty per quel terminale. Figura 8-1. Login via terminale: l'interazione di init, getty, login e la shell.

Notare che il solo processo nuovo quello creato da init (usando la chiamata di sistema fork); getty e login sostituiscono solo il programma che gira nel processo (usando la chiamata di sistema exec). Per le linee seriali necessario un programma separato per notare l'utente, dato che pu essere (ed era tradizionalmente) complicato notare quando un terminale diventa attivo. getty si adatta anche alla velocit e ad altre impostazioni della connessione, cosa molto importante per le connessioni in ingresso, quando questi parametri cambiano da chiamata a chiamata. Esistono diverse versioni di getty ed init, tutte con i loro aspetti positivi e negativi. una buona idea studiare tutte le versioni disponibili sul vostro sistema e anche le altre (potete usare la Linux Software Map [SOFTWARE-MAP] per cercarle). Se non

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1955.html (1 di 2) [02/07/2001 14.59.10]

Login e logout

avete accessi in entrata via linea seriale probabilmente non avete bisogno di preoccuparvi delle getty, ma init comunque importante. Indietro Fare il boot in modalit utente singolo Partenza Avanti Login via rete

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c1955.html (2 di 2) [02/07/2001 14.59.10]

Login via rete

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 8. Login e logout

Avanti

Login via rete


Due computer della stessa rete di solito sono collegati da un singolo cavo fisico. Quando comunicano in rete, i programmi in ciascun computer che prendono parte alla comunicazione sono collegati attraverso una connessione virtuale, una specie di cavo immaginario. Per quanto riguarda i programmi ai lati della connessione, hanno un monopolio del proprio cavo; comunque, dato che il cavo non reale, solo immaginario, i sistemi operativi di entrambi i computer hanno diverse connessioni virtuali che condividono lo stesso cavo fisico. In questo modo, usando una sola connessione reale, diversi programmi possono comunicare tra di loro senza dover conoscere o doversi preoccupare delle altre comunicazioni. anche possibile avere diversi computer che usano lo stesso cavo; le connessioni virtuali esistono tra due computer, e gli altri ignorano quelle di cui non fanno parte. Questo un modo complicato e troppo astratto per descrivere la situazione; pu per essere abbastanza buono per capirle la ragione importante per cui i login via rete sono in qualche modo diversi da quelli normali: le connessioni virtuali vengono stabilite quando due programmi su computer diversi vogliono comunicare; dato che in principio possibile fare login su un qualsiasi computer della rete da un qualsiasi altro, c' un numero enorme di comunicazioni virtuali potenziali, quindi non pratico inizializzare una getty per ogni login potenziale. C' un singolo processo di inetd (che corrisponde alle getty) che gestisce tutti i login di rete; quando nota un login di rete in arrivo (cio nota che viene aperta una connessione virtuale da un altro computer), inizia un nuovo processo per gestirlo singolarmente. Il processo originale resta e continua ad aspettare altri login. Per complicare un po' le cose, esiste pi di un protocollo di comunicazione per i login di rete; i due pi importanti sono telnet e rlogin. Oltre ai login, ci sono molte altre connessioni virtuali possibili (per FTP, Gopher, HTTP ed altri servizi di rete); sarebbe poco efficace avere un processo separato che aspetti un tipo particolare di connessione, quindi ce n' uno solo che pu riconoscere tutti i tipi e far partire il programma giusto per il servizio richiesto. Questo programma si chiama inetd; vedere la Linux Network Administrators' Guide ([NAG]) per altre informazioni. Indietro Login e logout Partenza Risali Avanti Cosa fa login

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x1995.html [02/07/2001 14.59.11]

Cosa fa login

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 8. Login e logout

Avanti

Cosa fa login
login si occupa di autenticare l'utente (cio di assicurarsi che il nome dell'utente e la password combacino), di configurare un ambiente iniziale impostando i permessi per la linea seriale e di inizializzare la shell. Parte della configurazione iniziale consiste nel mandare in output il contenuto del file /etc/motd (per ``message of the day'', cio ``messaggio del giorno'') e controllare la posta elettronica. Queste fasi possono essere disabilitate creando il file .hushlogin nella home directory dell'utente. Se esiste il file /etc/nologin i login vengono disabilitati. Un file del genere viene di solito creato da shutdown e da comandi simili. login controlla la presenza di questo file e se esiste non accetter i login, mandando in output il suo contenuto al terminale prima di uscire. login tiene un log di tutti i tentativi di login falliti in un file di log di sistema (usando syslog). Tiene anche un log di tutti i login di root; entrambi possono essere utili per rintracciare gli intrusi. Gli utenti collegati in ogni momento sono elencati in /var/run/utmp. Questo file valido solo finch il sistema non viene riavviato o spento e viene ripulito quando il sistema si avvia; elenca ciascun utente ed il terminale (o la connessione di rete) che sta usando, insieme ad altre informazioni utili. I comandi who, w ed altri simili controllano in utmp per vedere chi collegato. Tutti i login che hanno avuto successo sono registrati in /var/log/wtmp. Questo file crescer senza limite, quindi deve essere ripulito regolarmente, ad esempio usando un job di cron settimanale[1]. Il comando last legge in wtmp. Sia utmp che wtmp sono in formato binario (consultate la pagina man di utmp); sfortunatamente non conviene esaminarli senza usare programmi speciali.

Note
[1] Le buone distribuzioni di Linux lo fanno senza dover configurare niente.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2009.html (1 di 2) [02/07/2001 14.59.12]

Cosa fa login

Indietro Login via rete

Partenza Risali

Avanti La shell

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2009.html (2 di 2) [02/07/2001 14.59.12]

La shell

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 8. Login e logout

Avanti

La shell
Dopo l'autenticazione di login, all'utente viene presentato il prompt della shell: quale sia quella usata scritto nel file /etc/passwd. La shell che viene avviata da login sempre di tipo interattivo di login, in contrapposizione alle shell non interattive, che vengono avviate quando si utilizzano gli script di shell, ed a quelle interattive non di login. Quando parte una shell di login interattiva, esegue automaticamente uno o pi file predefiniti. Shell diverse eseguono file diversi; consultate la documentazione di ciascuna shell per altre informazioni. La maggior parte delle shell eseguono prima un file globale e poi uno specifico per l'utente a cui appartiene la shell, ad esempio la Bourne shell (/bin/sh) e le sue derivate eseguono /etc/profile e poi .profile nella home directory dell'utente. /etc/profile permette all'amministratore di sistema di impostare un ambiente comune per gli utenti, specialmente per fare in modo che il PATH includa le directory di comandi locali oltre a quelle normali. D'altra parte, .profile permette agli utenti di personalizzare il proprio ambiente superando, se necessario, quello di default. Indietro Cosa fa login Partenza Risali Avanti X e xdm

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2040.html [02/07/2001 14.59.21]

X e xdm

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 8. Login e logout

Avanti

X e xdm
Se all'avvio del computer volete che non parta l'interfaccia testuale, ma si attivi direttamente quella grafica, potete configurare xdm in modo che sia possibile fare login in una finestra. Come per le sessioni testuali login autentica l'utente e fa partire una shell, nello stesso modo xdm fa l'autenticazione e fa partire una sessione, che comunemente un window manager. Quando la sessione terminata, xdm resetta il server X e (in maniera opzionale) riavvia il processo. xdm permette anche di fare login non sulla macchina locale, ma su una remota. Per maggiori informazioni sull'argomento consultare la pagina man. All'interno di una sessione di X, il corrispondente delle shell testuali si ritrova negli xterm. Un xterm avviato senza opzioni corrisponde ad una shell interattiva ma non di login: per la bash questo significa che viene letto ed eseguito il file ~/.bashrc, valido per le shell interattive, ma non /etc/profile n ~/.bash_profile, che si riferiscono alle sole shell di login. Per avere all'interno di X una shell di login, in cui quindi siano attive tutte le impostazioni delle shell testuali, xterm va usato con l'opzione -ls (login shell). Indietro La shell Partenza Risali Avanti Il controllo degli accessi

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2057.html [02/07/2001 14.59.26]

Il controllo degli accessi

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 8. Login e logout

Avanti

Il controllo degli accessi


Tradizionalmente il database degli utenti tenuto nel file /etc/passwd. Alcuni sistemi usano le shadow password ed hanno spostato le password in /etc/shadow. I siti con molti computer che condividono gli account usano il NIS o altri metodi per immagazzinare i database degli utenti: possono anche copiare automaticamente il database da una posizione centrale in tutti gli altri computer. Il database degli utenti non contiene solo le password, ma anche altre informazioni sugli utenti, come il loro vero nome, le home directory e le shell di login. Queste informazioni devono essere pubbliche, in modo che chiunque possa leggerle, quindi le password sono criptate. Questo metodo ha il lato negativo che chiunque con accesso alle password criptate pu usare un qualche metodo di decrittazione per leggerle, senza dover provare a collegarsi al computer; le shadow password tentano di evitare questa possibilit spostando le password in un altro file leggibile solo da root (sono comunque criptate). Comunque, installare le shadow password su un sistema che non le supporta fin dall'inizio pu essere difficoltoso. Con o senza le shadow password, importante assicurarsi che tutte le password del sistema siano valide, cio non facilmente indovinabili. Per craccare le password si pu usare il programma crack: qualsiasi password che riesce a craccare per definizione non valida. crack viene usato dagli intrusi, ma anche dai sistemisti che vogliono evitare password facili da indovinare. Si possono avere password valide anche usando il programma passwd; pi efficace in termini di cicli di CPU, dato che craccare le password un lavoro che richiede molto calcolo. Il database dei gruppi degli utenti viene tenuto in /etc/group; per i sistemi con le shadow password pu anche esistere il file /etc/shadow.group. root di solito non si pu collegare dalla maggior parte dei terminali di rete, ma solo da quelli elencati nel file /etc/securetty; ci rende necessario avere accesso fisico ad uno di questi terminali. comunque possibile collegarsi ad un qualsiasi terminale come utente normale ed usare il comando su per diventare root. Indietro Partenza Avanti

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2076.html (1 di 2) [02/07/2001 14.59.27]

Il controllo degli accessi

X e xdm

Risali

La gestione degli account degli utenti

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2076.html (2 di 2) [02/07/2001 14.59.27]

La gestione degli account degli utenti

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 9. La gestione degli account degli utenti


Sommario Che cos' un account? Come creare un utente Modifica delle propriet degli utenti Rimozione di un utente Disabilitazione temporanea di un utente "The similarities of sysadmins and drug dealers: both measure stuff in K's, and both have users." (Vecchia barzelletta sull'informatica.) Questo capitolo spiega come creare nuovi account utente, come modificare le propriet di questi account, e come rimuoverli. Diversi sistemi Linux hanno strumenti diversi per farlo.

Che cos' un account?


Quando un computer viene usato da molte persone di solito necessario differenziare tra gli utenti, ad esempio in modo che i loro file privati possano essere mantenuti tali. importante anche se il computer pu essere usato da una sola persona alla volta, come con la maggior parte dei microcomputer[1]; quindi, a ciascun utente viene dato un nome univoco e quello il nome che viene usato per fare login. Un utente non ha solo un nome, ma un account, che comprende tutti i file, le risorse e le informazioni che gli appartengono. Il termine ricorda le banche e in un sistema commerciale un account di solito corrisponde a del denaro, che svanisce a velocit diverse a seconda di quanto l'utente usa il sistema. Ad esempio lo spazio disco pu avere un prezzo a megabyte o a giorno, ed il tempo CPU pu avere un prezzo per secondo.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c2093.html (1 di 2) [02/07/2001 14.59.28]

La gestione degli account degli utenti

Note
[1] Potrebbe essere abbastanza imbarazzante se mia sorella potesse leggere le mie lettere d'amore. Partenza Avanti Come creare un utente

Indietro Il controllo degli accessi

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c2093.html (2 di 2) [02/07/2001 14.59.28]

Come creare un utente

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 9. La gestione degli account degli utenti

Avanti

Come creare un utente


Il kernel di Linux tratta gli utenti come semplici numeri: ciascun utente viene identificato da un numero intero univoco, l'identificativo utente o uid, perch per un computer pi veloce e facile usare questi piuttosto che i nomi testuali. Un database separato fuori del kernel assegna un nome testuale, lo username, a ciascun identificativo utente, e contiene anche altre informazioni. Per creare un utente bisogna aggiungere le informazioni ad esso relative al database e creargli una home directory. Pu anche essere necessario educarlo ed impostargli un ambiente iniziale adatto. La maggior parte delle distribuzioni di Linux hanno un programma per creare gli account; ce ne sono diversi disponibili. Due alternative da linea di comando sono adduser e useradd, ma ci possono essere anche degli strumenti grafici. Qualsiasi sia il programma, il risultato che non c' molto lavoro manuale da fare: anche se i dettagli sono molti ed intricati, questi programmi fanno sembrare tutto banale; comunque, la la sezione Creazione manuale di un utente descrive come farlo a mano.

/etc/passwd ed altri file informativi


Il database degli utenti principale in un sistema Unix il file di testo /etc/passwd (chiamato file delle password), che elenca tutti i nomi utente validi e le informazioni ad essi associate. Il file ha una linea per ciascun nome utente e viene divisa in sette campi delimitati da due punti:
q q q q q q q

Nome utente. Password, in forma criptata. Id numerico dell'utente. Id numerico del gruppo. Nome completo o altra descrizione dell'account. Home directory.

Shell di login (programma da avviare al login). Il formato spiegato in maggior dettaglio nella pagina di manuale di passwd. Qualsiasi utente sul sistema pu leggere il file delle password in modo da poter, ad esempio, trovare il nome di un altro utente: ci significa che anche la password (il secondo campo) disponibile per tutti. Il file delle password contiene le password in forma criptata, quindi in teoria non ci sono problemi; comunque la criptazione pu essere decodificata, specialmente se le password sono deboli (brevi o che si trovano nel dizionario); non quindi una buona idea tenere le password nel file delle password. Molti sistemi Linux hanno le shadow password: un modo alternativo per tenere le password che vengono immagazzinate criptate in un file separato, /etc/shadow, leggibile solo da root. Il file /etc/passwd contiene solo un indicatore speciale
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2106.html (1 di 3) [02/07/2001 14.59.30]

Come creare un utente

nel secondo campo. Qualsiasi programma che debba verificare un utente setuid e quindi pu accedere al file delle shadow password. I programmi normali, che usano solo gli altri campi nel file delle password, non possono arrivare a leggerle[1].

Gli identificativi numerici per gli utenti e i gruppi


Sulla maggior parte dei sistemi non importa quali sono gli id numerici degli utenti e dei gruppi, ma se usate l'NFS (Network File System) dovete avere gli stessi uid e gid su tutti i sistemi; questo perch anche NFS identifica gli utenti con gli uid numerici. Se non usate l'NFS potete farli scegliere automaticamente al programma che crea gli account. Se usate l'NFS dovrete inventare un meccanismo per sincronizzare le informazioni sugli account; un'alternativa usare il sistema NIS (vedere [NAG]). Comunque, dovreste cercare di non riutilizzare le uid numeriche (e gli username testuali), perch il nuovo padrone dell'uid (o dello username) potrebbe avere accesso ai file del vecchio utente (o alle mail, o che altro).

Ambiente iniziale: /etc/skel


Quando viene creata la home directory di un nuovo utente, viene inizializzata con i file dalla directory /etc/skel. L'amministratore di sistema pu creare dei file in /etc/skel che daranno un ambiente di default per gli utenti; ad esempio pu creare un file /etc/skel/.profile che imposta la variabile d'ambiente EDITOR ad un editor facile da usare. Comunque di solito meglio cercare di tenere /etc/skel il pi piccolo possibile, perch sarebbe poi quasi impossibile aggiornare i file degli utenti esistenti. Ad esempio se cambia il nome dell'editor tutti gli utenti esistenti dovrebbero modificare il proprio .profile. L'amministratore di sistema pu provare a farlo automaticamente con uno script, ma quasi certo che danneggerebbe il file di qualcuno. Quando possibile meglio mettere le configurazioni globali nei file globali come /etc/profile; in questo modo possibile aggiornarlo senza rovinare le impostazioni personali degli utenti.

Creazione manuale di un utente


Per creare a mano un account seguite questi passaggi:
q

Modificate /etc/passwd con vipw e aggiungete una nuova linea per il nuovo account. Attenzione alla sintassi. Non modificatelo direttamente con un editor! vipw blocca il file, in modo che altri comandi non provino a modificarlo nello stesso tempo. Il campo della password dovrebbe essere impostato a `*', in modo che sia impossibile collegarsi. Nello stesso modo, modificate /etc/group con vigr, se dovete creare anche un nuovo gruppo. Create la home directory dell'utente con mkdir. Copiate i file da /etc/skel alla nuova home directory. Aggiustate l'owner e i permessi con chown e chmod. L'opzione -R utilissima. I permessi corretti variano un po' da un sito all'altro, ma di solito questi comandi vanno bene: cd /home/utente chown -R utente.gruppo . chmod -R go=u,go-w . chmod go= . Impostate la password con passwd.

q q q q

Dopo aver impostato la password nell'ultimo passaggio, l'account sar funzionante. Non dovreste impostarla finch non avete fatto tutto il resto, altrimenti l'utente si potrebbe collegare inavvertitamente mentre state ancora copiando i file. Qualche volta necessario creare degli account fittizi[2] che non vengono usati da persone. Ad esempio, per creare un server FTP anonimo (in modo che chiunque possa scaricarne dei file senza dover avere un account) va creato un account con nome
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2106.html (2 di 3) [02/07/2001 14.59.30]

Come creare un utente

ftp. In tali casi di solito non c' bisogno di impostare la password (l'ultimo passo qui sopra); invece, meglio non farlo, in modo che nessuno possa usare l'account a meno di non diventare prima root, dato che root pu diventare qualsiasi utente.

Note
[1] [2] S, vuol dire che il file delle password ha tutte le informazioni su un utente tranne le password. Le meraviglie della tecnologia. Utenti surreali? Partenza Risali Avanti Modifica delle propriet degli utenti

Indietro La gestione degli account degli utenti

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2106.html (3 di 3) [02/07/2001 14.59.30]

Modifica delle propriet degli utenti

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 9. La gestione degli account degli utenti

Avanti

Modifica delle propriet degli utenti


Ci sono alcuni comandi per modificare le varie propriet di un account (cio il campo rilevante in in /etc/passwd): chfn Cambia il campo del nome completo. chsh Cambia la shell di login. passwd Cambia la password. Il superutente pu usare questi comandi per cambiare le propriet di qualsiasi account; gli utenti normali possono modificare solo quelle del proprio. Talvolta pu essere necessario disabilitare questi comandi (con chmod) per gli utenti normali, ad esempio in un ambiente con molti utenti principianti. Altri compiti vanno fatti a mano; ad esempio, per modificare il nome dell'utente va modificato /etc/passwd direttamente (ricordatevi, con vipw); nello stesso modo, per aggiungere o togliere l'utente da altri gruppi va modificato /etc/group (con vigr). Tali compiti sono per rari, e vanno fatti con cautela: ad esempio, se modificate il nome dell'utente la posta non arriver pi all'utente, a meno che non creiate un alias di posta[1].

Note
[1] Il nome dell'utente pu cambiare per un matrimonio, ad esempio, e l'utente potrebbe volere che il suo nome utente rifletta il suo nome nuovo. Partenza Risali Avanti Rimozione di un utente

Indietro Come creare un utente

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2201.html [02/07/2001 14.59.32]

Rimozione di un utente

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 9. La gestione degli account degli utenti

Avanti

Rimozione di un utente
Per rimuovere un utente prima vanno rimossi tutti i suoi file, i file e gli alias della posta, i job di stampa, di cron e di at, e tutti i riferimenti ad esso. Poi si rimuovono le linee rilevanti dai file /etc/passwd e /etc/group (ricordatevi di rimuovere l'utente da tutti i gruppi di cui faceva parte). Pu essere una buona idea disabilitare prima l'account (vedi sotto), prima di cominciare a rimuovere tutto, per evitare che l'utente lo usi mentre lo state facendo. Ricordate che gli utenti possono avere dei file al di fuori della home directory. Li potete trovare con il comando find: find / -user utente Notate comunque che il comando qui sopra prender molto tempo, se avete un disco grande. Se montate dei dischi via rete dovrete stare attenti a non bloccare la rete o il server. Alcune distribuzioni di Linux hanno dei comandi speciali per farlo: cercate deluser o userdel; ma facile anche farlo a mano e i comandi possono non fare tutto. Indietro Modifica delle propriet degli utenti Partenza Risali Avanti Disabilitazione temporanea di un utente

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2229.html [02/07/2001 14.59.33]

Disabilitazione temporanea di un utente

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 9. La gestione degli account degli utenti

Avanti

Disabilitazione temporanea di un utente


Talvolta necessario disabilitare temporaneamente un account, senza rimuoverlo. Ad esempio, l'utente pu non aver pagato l'abbonamento, oppure l'amministratore di sistema pu sospettare che un cracker ne abbia la password. Il modo migliore di disabilitare un account cambiare la shell con un programma speciale che stampa solamente un messaggio. Cos, chiunque provi a collegarsi nell'account non ci riuscir e sapr il perch. Il messaggio pu dire all'utente di contattare l'amministratore in modo da risolvere qualsiasi problema. Sarebbe anche possibile cambiare il nome utente o la password in qualcos'altro, ma allora l'utente non saprebbe cosa sta succedendo. Utenti confusi significano maggior lavoro[1]. Un modo semplice di creare il programma speciale scrivere degli `script tail': #!/usr/bin/tail +2 Questo account stato chiuso per questioni di sicurezza. Chiamate il 555-1234 ed aspettate che arrivino gli uomini in nero. I primi due caratteri (`#!') dicono al kernel che il resto della linea il comando che deve essere usato per interpretare il file. Il comando tail in questo caso manda in output tutto tranne la prima linea nell'output standard. Se l'utente billg sospettato di un attacco alla sicurezza, l'amministratore di sistema farebbe una cosa del genere: # chsh -s /usr/local/lib/no-login/security billg # su - tester Questo account stato chiuso per questioni di sicurezza. Chiamate il 555-1234 ed aspettate che arrivino gli uomini in nero. # Lo scopo del comando su di provare che il cambiamento ha funzionato, naturalmente. Questi script devono essere tenuti in una directory separata, in modo che i loro nomi non interferiscano con i normali comandi utente.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2243.html (1 di 2) [02/07/2001 14.59.34]

Disabilitazione temporanea di un utente

Note
[1] Ma pu essere veramente divertente, se siete un BOFH. Partenza Risali Avanti I backup

Indietro Rimozione di un utente

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2243.html (2 di 2) [02/07/2001 14.59.34]

La scelta del mezzo di backup

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 10. I backup

Avanti

La scelta del mezzo di backup


La decisione pi importante sui backup la scelta del mezzo: dovete considerarne il costo, l'affidabilit, la velocit, la disponibilit e l'utilizzabilit. Il costo importante, dato che dovreste preferibilmente avere molto pi materiale di quello che vi serve per i dati. Un mezzo economico di solito indispensabile. L'affidabilit estremamente importante, dato che un backup venuto male pu fare piangere un uomo grande e grosso; un mezzo di backup deve essere in grado di mantenere i dati invariati per anni e il modo in cui lo si usa influisce sulla sua affidabilit: un hard disk di solito molto affidabile, ma come mezzo di backup non lo , se si trova nello stesso computer del disco di cui state facendo backup. La velocit spesso non molto importante, se si possono fare backup senza interazione: non importa se ci vogliono due ore se non c' bisogno di alcuna supervisione. D'altra parte, se il backup non pu essere fatto quando il computer non sarebbe comunque usato, allora anche la velocit importante. La disponibilit sul mercato di certo necessaria, dato che non si pu usare un mezzo di backup se non esiste. Meno ovvia la necessit che il mezzo sia disponibile anche in futuro e su computer diversi dal vostro, altrimenti potreste non essere in grado di recuperare i dati dopo un disastro. L'utilizzabilit un fattore importante nella frequenza con cui vengono fatti i backup: pi facile , meglio ; un mezzo di backup non deve essere difficile o noioso da usare. Le tipiche alternative sono i floppy e i nastri. I floppy sono molto economici, piuttosto affidabili, non molto veloci, si trovano facilmente, ma non possono essere usati per grandi quantit di dati. I nastri vanno da quelli economici a quelli piuttosto costosi, sono abbastanza affidabili, veloci, disponibili sul mercato e, a seconda della loro capacit, permettono di immagazzinare parecchi dati. Ci sono altre alternative, di solito non molto comuni sul mercato, ma se questo non un problema potenzialmente migliori sotto altri aspetti; ad esempio, i dischi magneto-ottici hanno dei vantaggi sia sui floppy (hanno alte capacit) che sui nastri (sono ad accesso casuale, rendendo cos molto veloce il recupero di un singolo file). Un altro mezzo utilizzato negli ultimi tempi il CD-ROM, che ha una capacit media ed un prezzo piuttosto basso, ma ha la caratteristica di non poter essere riscritto, imponendo quindi una spesa aggiuntiva ad ogni backup. Il CD-ROM quindi conveniente per backup non molto frequenti e per quantit di dati non molto alte. Indietro I backup Partenza Risali Avanti La scelta dello strumento di backup

Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2283.html (1 di 2) [02/07/2001 14.59.35]

La scelta del mezzo di backup

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2283.html (2 di 2) [02/07/2001 14.59.35]

La scelta dello strumento di backup

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 10. I backup

Avanti

La scelta dello strumento di backup


Esistono molti strumenti che possono essere usati per fare i backup: quelli usati tradizionalmente sotto UNIX sono tar, cpio, e dump, ma ne esistono molti altri (sia liberi che commerciali). La scelta del mezzo di backup pu influenzare quella dello strumento da usare. tar e cpio sono simili, e per lo pi equivalenti dal punto di vista dei backup: entrambi possono immagazzinare dei file su nastro e recuperarli, entrambi riescono ad utilizzare quasi qualsiasi mezzo, dato che i driver del kernel si occupano della gestione a basso livello dei dispositivi e questi ultimi tendono a sembrare tutti uguali ai programmi a livello utente. Alcune versioni UNIX di tar e cpio possono avere problemi con file particolari (link simbolici, file di device, file con percorso molto lungo e cos via), ma la versione Linux dovrebbe funzionare in tutti i casi. dump diverso nel fatto che legge direttamente i dati contenuti sul disco, senza utilizzare le strutture dati del filesystem. anche scritto specificamente per i backup: tar e cpio in realt sono fatti per archiviare file, anche se funzionano lo stesso per i backup. Leggere il filesystem direttamente ha alcuni vantaggi: rende possibile fare copie di backup dei file senza modificare i timestamp; per tar e cpio bisognerebbe montare prima il filesystem in modalit a sola lettura; inoltre pi efficace se bisogna fare un backup completo, dato che lo si pu fare senza spostare di molto la testina del disco. Lo svantaggio principale che rende il programma di backup specifico per un tipo di filesystem: il programma dump per Linux riconosce solo il filesystem ext2. dump supporta anche direttamente i livelli di backup (di cui parleremo pi sotto): con tar e cpio bisogna implementarli con altri strumenti. Un paragone tra gli altri strumenti di backup va oltre lo scopo di questo libro; la Linux Software Map elenca molti di quelli liberi. Indietro La scelta del mezzo di backup Partenza Risali Avanti Backup semplici

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2294.html (1 di 2) [02/07/2001 14.59.36]

La scelta dello strumento di backup

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2294.html (2 di 2) [02/07/2001 14.59.36]

Backup semplici

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 10. I backup

Avanti

Backup semplici
Un metodo di backup semplice fare una copia di tutto una volta e poi copiare solo quei file che sono stati modificati dal precedente backup. Il primo viene chiamato backup completo, i successivi sono backup incrementali. Un backup completo spesso pi laborioso di quelli incrementali, dato che bisogna scrivere pi dati sul nastro, e un solo nastro (o floppy) potrebbe non bastare, ma recuperare dati da backup incrementali pu essere molto pi faticoso che da un backup completo. Il recupero pu essere ottimizzato facendo backup di tutto quello che stato modificato dall'ultimo backup completo; in questo modo fare backup un po' pi laborioso, ma non ci dovrebbe mai essere bisogno di recuperare pi che un backup completo e uno incrementale. Se volete fare backup ogni giorno ed avete sei nastri, potete usare il nastro 1 per il primo backup completo (diciamo di venerd) e i nastri da 2 a 5 per i backup incrementali (da luned a gioved), poi fate un nuovo backup completo sul nastro 6 (il secondo venerd) e ricominciate a fare backup incrementali con i nastri 2-5. Non dovete riscrivere il nastro 1 finch non avete un altro backup completo, nel caso vi succedesse qualcosa mentre state facendo il secondo; dopo che avrete usato il nastro 6 per il secondo backup completo, dovreste tenere il nastro 1 in qualche altro posto, in modo che se tutti gli altri nastri venissero distrutti da un incendio avreste ancora almeno un backup da usare. Quando dovrete fare il prossimo backup completo, prenderete il nastro 1 e lascerete il nastro 6 al suo posto. Se avete pi di sei nastri, potete usare quelli che avanzano per i backup completi. Ogni volta che fate un backup completo, usate il nastro pi vecchio: in questo modo avrete backup di diverse settimane passate, il che va bene se volete trovare un file vecchio che avete cancellato o una vecchia versione di un altro.

Fare backup con tar


Si pu fare facilmente un backup completo con tar: # tar --create --file /dev/ftape /usr/src tar: Removing leading / from absolute path names in the archive # L'esempio qui sopra usa la versione GNU di tar e le sue opzioni con nomi lunghi. La versione tradizionale di tar capisce soltanto le opzioni di un singolo carattere, la versione GNU pu anche gestire backup che non entrano in un singolo nastro o floppy, ed anche percorsi molto lunghi: non tutte le versioni tradizionali lo fanno (Linux usa solo il tar GNU.) Se il vostro backup non entra in un nastro, dovete usare l'opzione --multi-volume (-M): # tar -cMf /dev/fd0H1440 /usr/src tar: Removing leading / from absolute path names in the archive Prepare volume \#2 for /dev/fd0H1440 and hit return: # Notate che dovreste formattare i floppy prima di iniziare il backup, oppure usare un'altra finestra o terminale virtuale e farlo quando tar chiede un nuovo floppy.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2318.html (1 di 3) [02/07/2001 14.59.39]

Backup semplici

Dopo fatto un backup, dovreste controllare che sia a posto, usando l'opzione --compare (-d): # tar --compare --verbose -f /dev/ftape usr/src/ usr/src/linux usr/src/linux-1.2.10-includes/ .... # Se non controllate il backup noterete i vostri eventuali errori solo quando avrete perso i dati originali. Potete fare un backup incrementale con tar usando l'opzione --newer (-N): # tar --create --newer '8 Sep 1995' --file /dev/ftape /usr/src --verbose tar: Removing leading / from absolute path names in the archive usr/src/ usr/src/linux-1.2.10-includes/ usr/src/linux-1.2.10-includes/include/ usr/src/linux-1.2.10-includes/include/linux/ usr/src/linux-1.2.10-includes/include/linux/modules/ usr/src/linux-1.2.10-includes/include/asm-generic/ usr/src/linux-1.2.10-includes/include/asm-i386/ usr/src/linux-1.2.10-includes/include/asm-mips/ usr/src/linux-1.2.10-includes/include/asm-alpha/ usr/src/linux-1.2.10-includes/include/asm-m68k/ usr/src/linux-1.2.10-includes/include/asm-sparc/ usr/src/patch-1.2.11.gz # Sfortunatamente, tar non nota quando sono state modificate le informazioni dell'inode di un file, ad esempio i suoi bit di permesso, o il suo nome. Questo pu essere aggirato usando find e paragonando lo stato corrente del filesystem con una lista di file compresa nel precedente backup. Sui siti ftp su Linux potete trovare degli script che fanno proprio questo.

Recuperare file con tar


L'opzione --extract (-x) di tar estrae dei file dall'archivio: # tar --extract --same-permissions --verbose --file /dev/fd0H1440 usr/src/ usr/src/linux usr/src/linux-1.2.10-includes/ usr/src/linux-1.2.10-includes/include/ usr/src/linux-1.2.10-includes/include/linux/ usr/src/linux-1.2.10-includes/include/linux/hdreg.h usr/src/linux-1.2.10-includes/include/linux/kernel.h ... # Si possono anche estrarre file o directory specifiche (compresi tutti i file e le sottodirectory in esse contenuti) dandoli sulla linea di comando: # tar xpvf /dev/fd0H1440 usr/src/linux-1.2.10-includes/include/linux/hdreg.h usr/src/linux-1.2.10-includes/include/linux/hdreg.h # Usate l'opzione --list (-t), se volete solo vedere quali file ci sono in un volume di backup: # tar --list --file /dev/fd0H1440 usr/src/ usr/src/linux usr/src/linux-1.2.10-includes/

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2318.html (2 di 3) [02/07/2001 14.59.39]

Backup semplici

usr/src/linux-1.2.10-includes/include/ usr/src/linux-1.2.10-includes/include/linux/ usr/src/linux-1.2.10-includes/include/linux/hdreg.h usr/src/linux-1.2.10-includes/include/linux/kernel.h ... # Notate che tar legge sempre i volumi di backup sequenzialmente, quindi per volumi grandi piuttosto lento. Non possibile, comunque, usare delle tecniche di accesso casuale quando si usa un'unit a nastro o qualche altro mezzo ad accesso sequenziale. tar non gestisce bene i file che sono stati cancellati. Se dovete recuperare un sistema da un backup completo e uno incrementale, ed avete cancellato dei file tra i due backup, questi esisteranno di nuovo dopo il recupero, il che pu essere un problema serio, se questi file hanno dati importanti che non dovrebbero essere pi disponibili. Indietro La scelta dello strumento di backup Partenza Risali Avanti Backup multilivello

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2318.html (3 di 3) [02/07/2001 14.59.39]

Backup multilivello

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 10. I backup

Avanti

Backup multilivello
Il semplice metodo di backup descritto nella precedente sezione spesso adeguato per l'uso personale o per siti piccoli; per un uso pi pesante sono migliori i backup multilivello. Il metodo semplice ha due livelli di backup: completo ed incrementale. Questo schema pu essere generalizzato a qualsiasi numero di livelli: il backup completo sarebbe di livello 0, i diversi livelli di backup incrementale sarebbero i livelli 1, 2, 3 e cos via. A ciascun livello incrementale si fa il backup di tutto quello che cambiato dal precedente dello stesso livello o di un livello superiore. Lo scopo di questo metodo di permettere in modo poco dispendioso una storia di backup pi lunga. Nell'esempio della sezione precedente la storia di backup andava fino al precedente backup completo; si poteva estendere con pi nastri, ma solo alla frequenza di una settimana per ogni nastro, il che poteva essere piuttosto dispendioso. Una storia di backup pi lunga utile, dato che i file cancellati o corrotti spesso non vengono notati per un lungo tempo. Anche una versione non molto aggiornata di un file spesso meglio che niente. Con il multilivello la storia di backup pu venire estesa in maniera pi economica. Ad esempio, se compriamo dieci nastri, potremmo usare il numero 1 e il 2 per i backup mensili (il primo venerd del mese), i nastri dal 3 al 6 per i backup settimanali (gli altri venerd: notate che ci possono essere cinque venerd in un mese, quindi abbiamo bisogno di altri quattro nastri) e i nastri dal 7 al 10 per i backup giornalieri (dal luned al gioved). Con solo altri quattro nastri possiamo estendere la storia di backup da due settimane (dopo che tutti i nastri giornalieri sono stati usati) a due mesi. vero che non potremo recuperare tutte le versioni di ciascun file durante questi due mesi, ma quelle per cui possiamo farlo sono spesso pi che sufficienti. La Figura 10-1 mostra quali livelli di backup vengono usati in ciascun giorno e da quali backup si possono recuperare i file alla fine del mese. Figura 10-1. Un esempio di backup multilivello.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2393.html (1 di 3) [02/07/2001 14.59.52]

Backup multilivello

I livelli di backup possono essere usati anche per mantenere il tempo di recupero dei filesystem al minimo. Se avete molti backup incrementali con i numeri di livello che crescono costantemente, dovrete usarli tutti se volete recuperare l'intero filesystem; potete invece usare dei livelli non monotoni, e tenere basso il numero di backup da usare per il recupero dei file. Per minimizzare il numero di nastri da cui recuperare potete usare un livello pi basso per ciascun nastro incrementale. In questo caso, per, il tempo per fare backup cresce (ciascuna copia di backup contiene tutto quello che stato modificato dal precedente backup completo). Uno schema migliore viene suggerito nella pagina man di dump e descritto in Tabella 10-1. Usate la seguente successione di livelli di backup: 3, 2, 5, 4, 7, 6, 9, 8, 9... In questo modo si mantengono bassi sia il tempo di backup che quello di recupero, ed al massimo dovrete recuperare due giorni di lavoro. Il numero di nastri per recuperare tutto dipende da quanto tempo fate passare tra i backup completi, ma meno che negli schemi semplici. Tabella 10-1. Un efficace schema di backup usando molti livelli Nastro Livello Backup (gg) Nastri di recupero 1 2 3 4 5 6 7 8 9 10 11 ... 0 3 2 5 4 7 6 9 8 9 9 9 n/a 1 2 1 2 1 2 1 2 1 1 1 1 1, 2 1, 3 1, 2, 4 1, 2, 5 1, 2, 5, 6 1, 2, 5, 7 1, 2, 5, 7, 8 1, 2, 5, 7, 9 1, 2, 5, 7, 9, 10 1, 2, 5, 7, 9, 10, 11 1, 2, 5, 7, 9, 10, 11, ...

Uno schema strano pu ridurre il lavoro necessario, ma implica pi cose da seguire: dovete decidere se ne vale la pena. dump ha incluso il supporto per i livelli di backup, per tar e cpio questo deve essere implementato con script di shell. Indietro Backup semplici Partenza Risali Avanti Di cosa fare backup

Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2393.html (2 di 3) [02/07/2001 14.59.52]

Backup multilivello

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2393.html (3 di 3) [02/07/2001 14.59.52]

Di cosa fare backup

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 10. I backup

Avanti

Di cosa fare backup


Fate il backup di pi cose possibili. L'eccezione principale il software che si pu facilmente reinstallare[1], che per pu avere file di configurazione che importante salvare, altrimenti dovrete riconfigurare tutto da capo. Un'altra eccezione importante il filesystem /proc; dato che contiene solo dati che i kernel genera automaticamente, non mai una buona idea farne il backup. Specialmente il file /proc/kcore del tutto inutile, dato che solo un'immagine della memoria fisica, ed anche piuttosto grande. A seconda dei casi potete fare o no il backup dello spool delle news, dei file di log e di altre cose in /var. Dovete decidere che cosa considerate importante. La cosa ovvia di cui fare backup sono i file degli utenti (/home) e dei file di configurazione del sistema (/etc, ma probabilmente anche altre cose sparpagliate per il filesystem).

Note
[1] Dovete decidere cosa vuol dire ``facile''. Alcuni considerano facile reinstallare da dozzine di floppy. Partenza Risali Avanti Backup compressi

Indietro Backup multilivello

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2484.html [02/07/2001 15.00.10]

Backup compressi

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 10. I backup

Avanti

Backup compressi
I backup prendono molto spazio, che pu costare molti soldi; per ridurre lo spazio necessario si possono comprimere. Ci sono diversi modi di farlo: alcuni programmi hanno gi un supporto interno per la compressione, ad esempio, l'opzione --gzip (-z) per il tar GNU manda in pipe l'intero backup attraverso il comando di compressione gzip prima di scriverlo sul mezzo di backup. Sfortunatamente, i backup compressi possono fare danni. Per come funziona la compressione, se un singolo bit sbagliato vengono persi tutti i dati compressi. Alcuni programmi di backup hanno la correzione degli errori automatica, ma non esiste un metodo che pu gestire un gran numero di errori. Ci significa che se il backup compresso come fa il tar GNU, con tutto l'output compresso in una singola unit, un solo errore fa perdere tutto il backup. I backup devono essere affidabili, e questo metodo di compressione non una buona idea. Un metodo alternativo comprimere ciascun file separatamente. Questo significa sempre che un file viene perso, ma tutti gli altri sono salvi. Il file perso sarebbe comunque corrotto, quindi questa situazione non molto peggiore che non usare per niente la compressione. Il programma afio (una variante di cpio) supporta questo metodo. La compressione pu prendere del tempo, che pu rallentare il programma di backup fino a renderlo troppo lento per scrivere su un nastro[1]. Questo si pu evitare facendo il buffer dell'output (sia internamente, se il programma di backup abbastanza intelligente, sia usando un altro programma), ma anche questo pu non funzionare abbastanza bene; una cosa del genere dovrebbe per essere un problema solo su computer lenti.

Note
[1] Se il drive dei nastri non riceve dati abbastanza velocemente, si deve fermare: questo rende il backup ancora pi lento e non fa bene al nastro n al drive. Partenza Avanti

Indietro

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2496.html (1 di 2) [02/07/2001 15.00.22]

Backup compressi

Di cosa fare backup

Risali

Tenere il tempo

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2496.html (2 di 2) [02/07/2001 15.00.22]

Tenere il tempo

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Capitolo 11. Tenere il tempo


Sommario I fusi orari Gli orologi hardware e software Impostazione e lettura dell'ora Quando l'orologio si sbaglia "Time is an illusion. Lunchtime double so." (Douglas Adams.) Questo capitolo spiega come un sistema Linux gestisce gli orari e descrive i passi necessari per evitare problemi. Di solito non c' bisogno di fare niente a questo proposito, ma bene capire come funziona.

I fusi orari
La misura del tempo basata principalmente su fenomeni naturali, come l'alternanza di periodi di luce e buio causata dalla rotazione del pianeta. Il tempo totale impiegato da due periodi successivi costante, ma la durata della luce e del buio varia. Una costante semplice il mezzogiorno. Il mezzogiorno l'ora in cui il Sole al suo punto pi alto. Dato che la Terra tonda[1], il mezzogiorno accade in momenti diversi a seconda del luogo. Questo porta al concetto di ora locale. Gli umani misurano il tempo in diverse unit, la maggior parte delle quali sono legate a fenomeni naturali come il mezzogiorno, ma finch rimanete nello stesso posto non vi importa che le ore locali siano diverse. Nel momento in cui dovete comunicare con posti distanti vi accorgerete della necessit di avere un orario comune: nei tempi moderni, la maggior parte delle parti del mondo comunicano tra di loro, quindi stato definito uno standard globale per l'orario che viene chiamato ora universale (UT o UTC, noto anche come Greenwich Mean Time, o GMT, dato che era l'ora locale di Greenwich, Inghilterra). Quando persone con orari diversi hanno bisogno di comunicare possono esprimere l'orario come ora universale, in modo che non ci sia confusione su quando le cose devono accadere.
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c2511.html (1 di 2) [02/07/2001 15.00.25]

Tenere il tempo

Ogni orario locale si chiama fuso orario. Mentre la geografia permetterebbe a tutti i luoghi che hanno il mezzogiorno allo stesso momento di avere lo stesso fuso orario, la politica lo rende difficile, e per varie ragioni molti stati usano l'ora legale, cio spostano gli orologi per avere pi luce naturale mentre lavorano, e poi li rimettono a posto durante l'inverno; altri non lo fanno. Quelli che lo fanno non si trovano d'accordo sul giorno in cui spostare gli orologi e cambiano le regole di anno in anno, cosa che rende le conversioni decisamente non banali. I fusi orari vengono chiamati nel modo migliore con il nome del luogo, o indicando la differenza tra l'ora locale e quella universale. Negli Stati Uniti ed in altre nazioni i fusi orari locali hanno un nome ed un'abbreviazione di tre lettere; le abbreviazioni non sono univoche, comunque, e non dovrebbero essere usate a meno che non venga nominato anche lo stato. meglio parlare di ora locale diciamo di Helsinki, invece che di ora dell'Est Europeo, dato che non tutte le nazioni dell'Europa dell'Est usano le stesse regole. Linux ha un pacchetto sui fusi orari che sa tutto ci che bisogna sapere e che pu essere facilmente aggiornato quando le regole cambiano. Gli amministratori di sistema devono solo selezionare il fuso giusto e ciascun utente pu impostare il proprio ( importante, dato che molti lavorano su computer in nazioni diverse attraverso Internet). Quando cambiano le regole per l'ora legale nel vostro fuso orario, assicuratevi di aggiornare almeno quella parte del vostro sistema Linux. Oltre ad impostare il fuso orario del sistema e di aggiornare i file di dati dell'ora legale non ci si deve preoccupare molto degli orari.

Note
[1] Secondo moderne ricerche. Partenza Avanti Gli orologi hardware e software

Indietro Backup compressi

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/c2511.html (2 di 2) [02/07/2001 15.00.25]

Gli orologi hardware e software

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 11. Tenere il tempo

Avanti

Gli orologi hardware e software


I personal computer hanno un orologio hardware a batteria, che assicura che l'orologio funzioni anche se il resto del computer resta senza elettricit. L'orologio hardware pu essere impostato dalla schermata di impostazione del BIOS o da qualsiasi sistema operativo stia girando. Il kernel di Linux tiene traccia del tempo in maniera indipendente dall'orologio hardware. Durante il boot, Linux imposta il suo orologio allo stesso tempo di quello hardware; poi entrambi gli orologi girano indipendentemente. Linux mantiene un suo orologio perch guardare a quello hardware lento e complicato. L'orologio del kernel mostra sempre l'ora universale: in questo modo il kernel non ha bisogno di sapere niente dei fusi orari e la semplicit permette un'affidabilit pi alta e rende pi semplice aggiornare le informazioni sul fuso. Ciascun processo gestisce le conversioni sui fusi da solo (usando degli strumenti standard che fanno parte del pacchetto sui fusi orari). L'orologio hardware pu essere impostato sia sull'ora locale che su quella universale. Di solito meglio averlo in ora universale, perch in questo modo non dovete modificare l'orologio hardware quando inizia o finisce l'ora legale (l'UTC non ha l'ora legale). Sfortunatamente qualche sistema operativo per PC, inclusi MS-DOS, Windows ed OS/2, assume che l'orologio hardware sia impostato sull'ora locale e quindi va modificato quando inizia e finisce il periodo di ora legale (altrimenti non mostrerebbe l'ora locale). Indietro Tenere il tempo Partenza Risali Avanti Impostazione e lettura dell'ora

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2530.html [02/07/2001 15.00.26]

Impostazione e lettura dell'ora

Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 11. Tenere il tempo

Avanti

Impostazione e lettura dell'ora


Nel sistema Debian, il fuso orario di sistema va determinato dal link simbolico /etc/localtime, che un collegamento al file di fuso orario che descriva il fuso orario locale. I file di fuso orario sono tenuti in /usr/lib/zoneinfo. Altre distribuzioni Linux possono fare diversamente. Un utente deve modificare il suo fuso orario privato impostando la variabile d'ambiente TZ; se non impostata viene considerato il fuso orario di sistema. La sintassi della variabile TZ viene descritta nella pagina man di tzset. Il comando date mostra la data e l'ora corrente[1]. Ad esempio: $ date Sun Jul 14 21:53:41 EET DST 1996 $ Questo corrisponde a Domenica, 14 Luglio 1996, circa le 10 meno 10 di sera nel fuso orario ``EET DST'' (che pu stare per East European Time Daylight Savings Time). date pu anche mostrare l'ora universale: $ date -u Sun Jul 14 18:53:42 UTC 1996 Sun Jul 14 18:53:42 UTC 1996 $ date si usa anche per impostare l'orologio software del kernel: # date 07142157 Sun Jul 14 21:57:00 EET DST 1996 # date Sun Jul 14 21:57:02 EET DST 1996 # Vedere la pagina man di date per avere altri dettagli; la sintassi un po' arcana. Solo root pu impostare l'ora e, anche se ciascun utente pu avere il proprio fuso orario, l'orologio lo stesso per tutti. date mostra o imposta soltanto l'orologio software; il comando clock sincronizza gli orologi hardware e
http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2536.html (1 di 2) [02/07/2001 15.00.27]

Impostazione e lettura dell'ora

software e viene usato all'avvio del sistema per leggere l'orologio hardware ed impostare quello software. Se dovete impostare entrambi gli orologi, prima impostate quello software usando date e poi quello hardware con clock -w. L'opzione -u di clock dice che il clock hardware in ora universale. Dovete usare correttamente l'opzione -u, altrimenti il vostro computer si confonder. L'orologio deve essere modificato con cautela, dato che molte parti di un sistema UNIX richiedono il suo funzionamento corretto; ad esempio, il daemon cron avvia dei comandi periodicamente e se modificate l'ora pu confondersi e non sapere se deve avviare i comandi o no. Su un sistema UNIX di prima generazione, qualcuno ha impostato l'ora a venti anni nel futuro e cron voleva avviare tutti i comandi periodici dei venti anni tutti insieme. Le versioni correnti di cron possono gestire eventualit del genere, ma dovreste comunque stare attenti. Grandi salti in avanti o all'indietro sono pi pericolosi di piccoli spostamenti.

Note
[1] Attenzione al comando time, che non mostra l'ora corrente. Partenza Risali Avanti Quando l'orologio si sbaglia

Indietro Gli orologi hardware e software

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2536.html (2 di 2) [02/07/2001 15.00.27]

Quando l'orologio si sbaglia

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Indietro

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Capitolo 11. Tenere il tempo

Avanti

Quando l'orologio si sbaglia


L'orologio software di Linux non sempre accurato; viene tenuto aggiornato da un timer interrupt generato dall'hardware del PC. Se il sistema ha troppi processi che girano contemporaneamente pu volerci troppo a generare l'interrupt e l'orologio software comincia ad andare indietro. L'orologio hardware gira indipendentemente e di solito pi accurato. Se fate spesso il boot del computer (come accade per la maggior parte dei sistemi che non fanno da server), normalmente questo terr bene il tempo. Se dovete rimettere l'orologio hardware, di solito pi facile riavviare, entrare nello schermo di impostazione del BIOS e farlo da l; in questo modo si evitano tutti i problemi che possono insorgere modificando l'orologio di sistema. Se non potete farlo da BIOS, impostate l'orario nuovo con date e clock (in questo ordine), ma siate pronti a fare un reboot, se qualche parte del sistema comincia a fare strane cose. Un computer in rete (anche se solo via modem) pu controllare il suo orologio in automatico paragonandolo a quello di qualche altro computer. Se l'altro computer tiene il suo orologio all'ora precisa, allora entrambi possono farlo. Si pu fare usando i comandi rdate e netdate; entrambi controllano l'ora di un computer remoto (netdate pu gestirne pi di uno) ed imposta il computer locale a quell'ora. Avviando regolarmente uno di questi comandi, il vostro computer terr l'orario in modo accurato quanto quello del computer remoto. Indietro Impostazione e lettura dell'ora Partenza Risali Avanti Glossario (BOZZA)

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/x2583.html [02/07/2001 15.00.29]

Glossario (BOZZA)

Cerca nel sito:

Guida dell'amministratore di sistema di Linux: Versione 0.6.2 Indietro Avanti

Glossario (BOZZA)
" Il Bibliotecario dell'Universit Invisibile decise unilateralmente di aiutare la conoscenza producendo un Vocabolario Orang-utan/Umano. Ci stava lavorando da tre mesi. Non era facile: era arrivato a `Oook'." (Terry Pratchett, ``Men At Arms'') Questa una breve lista di definizioni di concetti relativi a Linux e all'amministrazione di sistema. ambizione L'atto di scrivere frasi buffe nella speranza che vengano introdotte nel file di cookie di Linux. chiamata di sistema I servizi forniti dal kernel ai programmi applicativi, ed il modo in cui vengono invocati. Vedere la sezione 2 delle pagine man. daemon Un processo che aspetta in background, che di solito non viene notato a meno che qualcosa non lo faccia attivare. Ad esempio, il daemon update si sveglia ogni trenta secondi circa per svuotare la cache di buffer, e il daemon sendmail si sveglia ogni volta che qualcuno spedisce della posta. filesystem I metodi e le strutture dati usate da un sistema operativo per tenere traccia dei file su un disco o su una partizione; il modo in cui i file sono organizzati sul disco. Viene usato anche per indicare una partizione o un disco utilizzato per immagazzinare dei file o per il tipo del filesystem. glossario Un elenco di parole e di descrizioni. Da non confondere con il vocabolario, che anch'esso un elenco di parole e descrizioni. kernel Parte di un sistema operativo che implementa l'interazione con l'hardware e la condivisione delle risorse. Vedere anche programma di sistema.

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/g2594.html (1 di 2) [02/07/2001 15.00.34]

Glossario (BOZZA)

programma applicativo Software che fa qualcosa di utile. Il risultato di usare un programma applicativo il motivo per cui si compra il computer. Vedere anche programma di sistema, sistema operativo. sistemi operativi Software che condivide le risorse di un sistema informatico (processore, memoria, spazio disco, larghezza di banda di rete e cos via) tra gli utenti e i programmi applicativi da essi usati. Controlla l'accesso al sistema per fornire sicurezza. Vedere anche kernel, programma di sistema, programma applicativo. programma di sistema Programmi che implementano funzionalit ad alto livello di un sistema operativo, cio cose che non sono direttamente dipendenti dall'hardware. Possono talvolta richiedere privilegi speciali (ad esempio per consegnare la posta elettronica), ma spesso vengono considerati come parte del sistema operativo (ad esempio un compilatore). Vedere anche programma applicativo, kernel, sistema operativo. sistema operativo Software che condivide le risorse di un sistema informatico (processore, memoria, spazio disco, banda di rete e cos via) tra gli utenti e i programmi applicativi da essi usati. Controlla l'accesso al sistema per fornire sicurezza. Indietro Quando l'orologio si sbaglia Partenza Avanti Bibliografia

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaSysadm/g2594.html (2 di 2) [02/07/2001 15.00.34]

Linux Guida dell'Utente

Cerca nel sito:

Linux Guida dell'Utente


Larry Greenfield grassetto Usato per evidenziare concetti nuovi, AVVERTIMENTI e parole chiave in un linguaggio. corsivo Usato per enfatizzare il testo. anche usato per indicare comandi per l'utente da scrivere quando sono mostrate le interazioni con lo schermo (vedere sotto). inclinato Usato per evidenziare meta-variabili nel testo, specialmente nelle rappresentazioni delle righe di comando. Per esempio, ls -l pippo dove pippo indica un nome di file, come /bin/cp. Dattilografico Usato per rappresentare le interazioni con lo schermo. Usato anche per esempi di codice ``C'', shell script o altri tipi di codice, e per mostrare file comunemente usati, come quelli di configurazione. Quando necessario per motivi di chiarezza, questi esempi o figure saranno racchiusi in piccoli riquadri. 3#3 Rappresenta un tasto da premere. Lo si vedr spesso in questa forma: Premere 4#4 per continuare. 5#5 Un rombo nel margine, evidenzia ``pericoli'' o ``accortezze''. Leggete quei paragrafi attentamente. 1#1
q q q

Questa X nel margine indica istruzioni speciali per gli utenti del Sistema X Window. Ringraziamenti Contents Introduzione

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (1 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

Chi dovrebbe leggere questo Libro


s

Cosa bisogna aver fatto prima di leggere questo libro

r r r

Come evitare di leggere questo libro Come leggere questo libro Documentazione su
s s s

Altri libri su HOWTO Cos' il Linux Documentation Project?

r q

Sistemi Operativi Storia di Unix Storia di


s s s

Cos' Unix?
r r

Linux oggi Domande comuni su Software commerciale per

Iniziare
r

Iniziare ad usare il proprio computer


s s s

Accendere il Computer Linux parte Adesso tocca all'utente Spegnere il Computer Messaggi a run-time

Spegnere il Computer
s

Messaggi del kernel


s

La shell di Unix
r

Comandi di Unix
s

Un tipico comando Unix

r r

Come cavarsela da soli Memorizzare le informazioni


s s s

Vedere le directory con ls La directory corrente e cd Creare e distruggere le directory

Spostare Informazioni

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (2 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

s s s q

cp come un amanuense Eliminare file con rm Una scorciatoia molto utile

Il sistema X Window
r

Avviare e fermare il sistema X Window


s s

Avviare X Uscire da X

r r

Cos' il sistema X Window? Cos' questa roba sul mio schermo?


s s

XClock XTerm Quando vengono create nuove finestre Mettere a fuoco Spostare le finestre Profondit Iconizzazione Ridimensionare Massimizzazione Men Geometria Display Pulsanti Barre dei Menu Barre di scorrimento
s s

I gestori di finestre
s s s s s s s s

Attributi di X
s s

Caratteristiche comuni
s s s

Barre di scorrimento Athena Barre di scorrimento Motif

Lavorare con Unix


r

Metacaratteri
s s

Cosa succede realmente? Il punto interrogativo

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (3 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

Risparmiare tempo con bash


s s

Inserimento di linee di comando Completamento file e comandi Concetti di Unix Redirezione dell'output Redirezione dell'input Soluzione: le pipe Le basi Cosa sta succedendo veramente?

Standard Input e Standard Output


s s s s

Multitasking
s s

r q

Console Virtuali: essere in pi posti contemporaneamente La potenza di Unix Operazioni sui file Statistiche del sistema Cosa c' nel file? Comandi di elaborazione Cos' Emacs? Iniziare velocemente con X Modificare pi file contemporaneamente Terminare una sessione di Scrittura Il Tasto Meta Tagliare, Incollare, Eliminare Cercare e Sostituire Ma che succede veramente? Chiedere aiuto ad Emacs I buffer specializzanti: le modalit Modlit di programmazione
s s s

Piccoli programmi potenti


r r r r r

Modificare file con Emacs


r r r r r r r r r r r

Modalit C Modalit Scheme Modalit posta

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (4 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

r r r q

Come essere ancora pi efficienti Personalizzare Emacs Scoprirne di pi Personalizzare bash


s s s s

Voglio essere me stesso!


r

Avvio della shell File di avvio Aliasing Variabili d'ambiente Configurazione di Twm Configurazione di Fvwm Il file di inizializzazione di Emacs Impostazioni dell'FTP Come permettere l'accesso remoto al vostro account Forwardare la posta

I file di inizializzazione di X Windows


s s

Altri file di inizializzazione


s s s s

r q

Alcuni esempi Posta elettronica


s s

Comunicare con gli altri


r

Spedire la posta Leggere la posta

r r

Troppe notizie Cercare persone


s s

Il comando finger Plan e progetti

r r r q

Usare i sistemi da remoto Scambiarsi file Navigare in rete find, per cercare i file
s s

Comandi buffi
r

Generalit Espressioni

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (5 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

s s s s s s r

Opzioni Test Azioni Operatori Esempi Un'ultima parola Introduzione Le opzioni principali Modificatori Esempi Opzioni Esempi Introduzione Opzioni Esempi

tar, l'archiviatore a nastro


s s s s

dd, il duplicatore di dati


s s

sort, per ordinare i dati


s s s

Errori, bug ed altre spiacevolezze


r r r

Evitare gli errori Cosa fare quando qualcosa va storto Non colpa vostra
s s

Quando c' un bug Notificare un bug

The GNU General Public License


r r r r

Preamble Terms and Conditions NO WARRANTY How to Apply These Terms to Your New Programs Preamble Terms and Conditions for Copying, Distribution and Modification NO WARRANTY

The GNU Library General Public License


r r r

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (6 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

r q q q

How to Apply These Terms to Your New Libraries

Bibliography Index About this document ...

Next: Ringraziamenti UNIX un marchio di X/Open MS-DOS e Microsoft Windows sono marchi di Microsoft Corporation OS/2 e Operating System/2 sono marchi di IBM X Window System un marchio di X Consortium, Inc. Motif un marchio di Open Software Foundation Linux non un marchio e non connesso a UNIX, Unix System Laboratories, o a X/Open. Si pregati di portare tutti i marchi non riconosciuti all'attenzione dell'autore. Copyright 1993-1994 Larry Greenfield 427 Harrison Avenue Highland Park, NJ 08904 leg+@andrew.cmu.edu Traduzione Copyright 1997 Eugenia Franzoni v. Lorenzini 12/g 06123 Perugia (PG) eugenia@pluto.linux.it basata su una precedente traduzione di Michele Dalla Silvestra dalla@pluto.linux.it permesso creare e distribuire copie testuali di questo manuale lasciando integri l'avviso di copyright e questi permessi su tutte le copie. permesso copiare e distribuire versioni modificate di questo manuale sotto le stesse condizioni delle copie testuali, fornendo anche le sezioni che riportano la ``Licenza Pubblica Generale GNU'', la ``Licenza Pubblica Generale Librerie GNU''. Le altre sezioni che sono chiaramente mantenute sotto altri copyright possono essere riprodotte sotto le condizioni ad esse allegate, e provvedendo che l'intero lavoro risultante sia distribuito sotto i termini di un avviso identico a questo. permesso copiare e distribuire traduzioni di questo manuale in altre lingue sotto le condizioni per le versioni modificate. La ``Licenza Pubblica Generale GNU'' e la ``Licenza Pubblica Generale Librerie GNU'' possono essere incluse in traduzioni approvate dalla Free Software Foundation al posto dell'originale inglese. A vostra scelta potete distribuire copie testuali e versioni modificate di questo documento sotto i termini della Licenza Pubblica Generale GNU, eccetto per le sezioni per cui sia indicato chiaramente che sono sottoposte ad un copyright diverso. Eccezioni a queste regole possono essere fatte per usi vari: si chieda a Larry Greenfield, via posta all'indirizzo sovrastante, o via e-mail a leg+@andrew.cmu.edu. richiesto (ma non imposto) che avvisiate l'autore quando stampate in larga scala e/o commerciate questo documento. Percentuali e donazioni sono accettate ed incoraggeranno future edizioni. Queste sono alcune delle convenzioni tipografiche usate in questo libro.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (7 di 8) [02/07/2001 15.06.12]

Linux Guida dell'Utente

Next: Ringraziamenti Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/index.html (8 di 8) [02/07/2001 15.06.12]

Ringraziamenti

Cerca nel sito:

Ringraziamenti
Linus Torvalds per aver fornito qualcosa su cui scrivere questo manuale. Karl Fogel che mi ha dato un grande aiuto con la scrittura di questo documento e ha scritto il capitolo capitolo . Non penso di potergli dare sufficiente onore. Maurizio Codogno ha scritto gran parte del capitolo David Channon . e il

ha scritto l'appendice sull'editor vi. (Appendice ) La [Yggdrasil Computing, Inc.] per il loro contributo generoso (e volontario) nel supporto a questo manuale. La [Red Hat Software] per il loro (pi recente e ancora volontario!) supporto

Next: Contents Up: Linux Guida dell'Utente Previous: Linux Guida dell'Utente L'autore vuole ringraziare le seguenti persone per il loro inestimabile aiuto nell'uso di Linux o nella stesura della Linux Guida dell'Utente: Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node1.html [02/07/2001 15.06.20]

Modificare file con Emacs

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Modificare file con Emacs


q q q q q q q q q q q

Cos' Emacs? Iniziare velocemente con X Modificare pi file contemporaneamente Terminare una sessione di Scrittura Il Tasto Meta Tagliare, Incollare, Eliminare Cercare e Sostituire Ma che succede veramente? Chiedere aiuto ad Emacs I buffer specializzanti: le modalit Modlit di programmazione
r r r

Modalit C Modalit Scheme Modalit posta

q q q

Come essere ancora pi efficienti Personalizzare Emacs Scoprirne di pi

Next: Cos' Emacs? Up: Linux Guida dell'Utente Previous: Comandi di elaborazione

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node88.html [02/07/2001 15.07.14]

Voglio essere me stesso!

Cerca nel sito:

Voglio essere me stesso!


q

Personalizzare bash
r r r r

Avvio della shell File di avvio Aliasing Variabili d'ambiente Configurazione di Twm Configurazione di Fvwm Il file di inizializzazione di Emacs Impostazioni dell'FTP Come permettere l'accesso remoto al vostro account Forwardare la posta

I file di inizializzazione di X Windows


r r

Altri file di inizializzazione


r r r r

Alcuni esempi

Next: Personalizzare bash Up: Linux Guida dell'Utente Previous: Scoprirne di pi

Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node106.html (1 di 2) [02/07/2001 15.07.18]

Voglio essere me stesso!

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node106.html (2 di 2) [02/07/2001 15.07.18]

Comandi buffi

Cerca nel sito:

Comandi buffi
Beh, la maggior parte di chi ha avuto a che fare con i comandi UNIX trattati in questo capitolo non sar d'accordo con questo titolo. ``Che diamine! Mi hai appena fatto vedere che l'interfaccia di Linux standard, e adesso abbiamo un sacco di comandi, ognuno che lavora in modo completamente diverso. Non mi ricorder mai tutte queste opzioni, e mi stai dicendo che sono buffi?'' Ebbene s, ecco un esempio di senso dell'umorismo degli hackers. Comunque, guardate il lato positivo: non esiste un equivalente MS-DOS di questi comandi; se ne avete bisogno, li dovete comprare, e non saprete mai come sar la loro interfaccia. Ecco un'utile - e gratuita - aggiunta, quindi divertitevi! L'insieme di comandi coperto in questo capitolo comprende find, che permette all'utente di cercare nell'albero delle directory dei gruppi specifici di file, tar, utile per creare degli archivi da spedire o da salvare, dd, il copiatore a basso livello, e sort, che ...s, ordina i file. Un'ultimo commento; questi comandi non sono affatto standardizzati, e, anche se troverete delle opzioni comuni a tutti i sistemi *IX, la versione GNU, che quella spiegata qui e che troverete su tutti i sistemi Linux, ha di solito molte capacit aggiuntive. Quindi, se progettate di usare altri sistemi operativi di tipo UNIX, non dimenticate di controllare la pagina man del sistema in questione per imparare le differenze, che spesso non sono trascurabili.

find, per cercare i file


r

Generalit

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node132.html (1 di 2) [02/07/2001 15.07.20]

Comandi buffi

r r r r r r r q

Espressioni Opzioni Test Azioni Operatori Esempi Un'ultima parola Introduzione Le opzioni principali Modificatori Esempi Opzioni Esempi Introduzione Opzioni Esempi

tar, l'archiviatore a nastro


r r r r

dd, il duplicatore di dati


r r

sort, per ordinare i dati


r r r

Next: find, per cercare i Up: Linux Guida dell'Utente Previous: Navigare in rete

Next: find, per cercare i Up: Linux Guida dell'Utente Previous: Navigare in rete Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node132.html (2 di 2) [02/07/2001 15.07.20]

Contents

Cerca nel sito:

Contents
q q

Contents Introduzione
r

Chi dovrebbe leggere questo Libro


s

Cosa bisogna aver fatto prima di leggere questo libro

r r r

Come evitare di leggere questo libro Come leggere questo libro Documentazione su
s s s

Altri libri su HOWTO Cos' il Linux Documentation Project?

r q

Sistemi Operativi Storia di Unix Storia di


s s s

Cos' Unix?
r r

Linux oggi Domande comuni su Software commerciale per

Iniziare
r

Iniziare ad usare il proprio computer


s s s

Accendere il Computer Linux parte Adesso tocca all'utente Spegnere il Computer

Spegnere il Computer
s

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node2.html (1 di 6) [02/07/2001 15.07.23]

Contents

Messaggi del kernel


s

Messaggi a run-time

La shell di Unix
r

Comandi di Unix
s

Un tipico comando Unix

r r

Come cavarsela da soli Memorizzare le informazioni


s s s

Vedere le directory con ls La directory corrente e cd Creare e distruggere le directory cp come un amanuense Eliminare file con rm Una scorciatoia molto utile

Spostare Informazioni
s s s

Il sistema X Window
r

Avviare e fermare il sistema X Window


s s

Avviare X Uscire da X

r r

Cos' il sistema X Window? Cos' questa roba sul mio schermo?


s s

XClock XTerm Quando vengono create nuove finestre Mettere a fuoco Spostare le finestre Profondit Iconizzazione Ridimensionare Massimizzazione Men Geometria

I gestori di finestre
s s s s s s s s

Attributi di X
s

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node2.html (2 di 6) [02/07/2001 15.07.23]

Contents

s r

Display Pulsanti Barre dei Menu Barre di scorrimento

Caratteristiche comuni
s s s

Lavorare con Unix


r

Metacaratteri
s s

Cosa succede realmente? Il punto interrogativo Inserimento di linee di comando Completamento file e comandi Concetti di Unix Redirezione dell'output Redirezione dell'input Soluzione: le pipe Le basi Cosa sta succedendo veramente?

Risparmiare tempo con bash


s s

Standard Input e Standard Output


s s s s

Multitasking
s s

r q

Console Virtuali: essere in pi posti contemporaneamente La potenza di Unix Operazioni sui file Statistiche del sistema Cosa c' nel file? Comandi di elaborazione Cos' Emacs? Iniziare velocemente con X Modificare pi file contemporaneamente Terminare una sessione di Scrittura Il Tasto Meta

Piccoli programmi potenti


r r r r r

Modificare file con Emacs


r r r r r

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node2.html (3 di 6) [02/07/2001 15.07.23]

Contents

r r r r r r

Tagliare, Incollare, Eliminare Cercare e Sostituire Ma che succede veramente? Chiedere aiuto ad Emacs I buffer specializzanti: le modalit Modlit di programmazione
s s s

Modalit C Modalit Scheme Modalit posta

r r r q

Come essere ancora pi efficienti Personalizzare Emacs Scoprirne di pi Personalizzare bash


s s s s

Voglio essere me stesso!


r

Avvio della shell File di avvio Aliasing Variabili d'ambiente Configurazione di Twm Configurazione di Fvwm Il file di inizializzazione di Emacs Impostazioni dell'FTP Come permettere l'accesso remoto al vostro account Forwardare la posta

I file di inizializzazione di X Windows


s s

Altri file di inizializzazione


s s s s

r q

Alcuni esempi Posta elettronica


s s

Comunicare con gli altri


r

Spedire la posta Leggere la posta

r r

Troppe notizie Cercare persone

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node2.html (4 di 6) [02/07/2001 15.07.23]

Contents

s s r r r q

Il comando finger Plan e progetti

Usare i sistemi da remoto Scambiarsi file Navigare in rete find, per cercare i file
s s s s s s s s

Comandi buffi
r

Generalit Espressioni Opzioni Test Azioni Operatori Esempi Un'ultima parola Introduzione Le opzioni principali Modificatori Esempi Opzioni Esempi Introduzione Opzioni Esempi

tar, l'archiviatore a nastro


s s s s

dd, il duplicatore di dati


s s

sort, per ordinare i dati


s s s

Errori, bug ed altre spiacevolezze


r r r

Evitare gli errori Cosa fare quando qualcosa va storto Non colpa vostra
s s

Quando c' un bug Notificare un bug

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node2.html (5 di 6) [02/07/2001 15.07.23]

Contents

q q q q

The GNU General Public License The GNU Library General Public License Bibliography Index

Next: Introduzione Up: Linux Guida dell'Utente Previous: Ringraziamenti

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node2.html (6 di 6) [02/07/2001 15.07.23]

Linux Guida dell'Utente

Cerca nel sito:

Linux Guida dell'Utente


Larry Greenfield grassetto Usato per evidenziare concetti nuovi, AVVERTIMENTI e parole chiave in un linguaggio. corsivo Usato per enfatizzare il testo. anche usato per indicare comandi per l'utente da scrivere quando sono mostrate le interazioni con lo schermo (vedere sotto). inclinato Usato per evidenziare meta-variabili nel testo, specialmente nelle rappresentazioni delle righe di comando. Per esempio, ls -l pippo dove pippo indica un nome di file, come /bin/cp. Dattilografico Usato per rappresentare le interazioni con lo schermo. Usato anche per esempi di codice ``C'', shell script o altri tipi di codice, e per mostrare file comunemente usati, come quelli di configurazione. Quando necessario per motivi di chiarezza, questi esempi o figure saranno racchiusi in piccoli riquadri. 3#3 Rappresenta un tasto da premere. Lo si vedr spesso in questa forma: Premere 4#4 per continuare. 5#5 Un rombo nel margine, evidenzia ``pericoli'' o ``accortezze''. Leggete quei paragrafi attentamente. 1#1
q q q

Questa X nel margine indica istruzioni speciali per gli utenti del Sistema X Window. Ringraziamenti Contents Introduzione
r

Chi dovrebbe leggere questo Libro


s

Cosa bisogna aver fatto prima di leggere questo libro

r r r

Come evitare di leggere questo libro Come leggere questo libro Documentazione su
s s

Altri libri su HOWTO

http://www.ziobudda.net/ILDP/guide/GuidaUtente/guide.html (1 di 6) [02/07/2001 15.07.29]

Linux Guida dell'Utente


s r q

Cos' il Linux Documentation Project?

Sistemi Operativi Storia di Unix Storia di


s s s

Cos' Unix?
r r

Linux oggi Domande comuni su Software commerciale per

Iniziare
r

Iniziare ad usare il proprio computer


s s s

Accendere il Computer Linux parte Adesso tocca all'utente Spegnere il Computer Messaggi a run-time

Spegnere il Computer
s

Messaggi del kernel


s

La shell di Unix
r

Comandi di Unix
s

Un tipico comando Unix

r r

Come cavarsela da soli Memorizzare le informazioni


s s s

Vedere le directory con ls La directory corrente e cd Creare e distruggere le directory cp come un amanuense Eliminare file con rm Una scorciatoia molto utile

Spostare Informazioni
s s s

Il sistema X Window
r

Avviare e fermare il sistema X Window


s s

Avviare X Uscire da X

r r

Cos' il sistema X Window? Cos' questa roba sul mio schermo?


s s

XClock XTerm Quando vengono create nuove finestre Mettere a fuoco

I gestori di finestre
s s

http://www.ziobudda.net/ILDP/guide/GuidaUtente/guide.html (2 di 6) [02/07/2001 15.07.29]

Linux Guida dell'Utente


s s s s s s r

Spostare le finestre Profondit Iconizzazione Ridimensionare Massimizzazione Men Geometria Display Pulsanti Barre dei Menu Barre di scorrimento
s s

Attributi di X
s s

Caratteristiche comuni
s s s

Barre di scorrimento Athena Barre di scorrimento Motif

Lavorare con Unix


r

Metacaratteri
s s

Cosa succede realmente? Il punto interrogativo Inserimento di linee di comando Completamento file e comandi Concetti di Unix Redirezione dell'output Redirezione dell'input Soluzione: le pipe Le basi Cosa sta succedendo veramente?

Risparmiare tempo con bash


s s

Standard Input e Standard Output


s s s s

Multitasking
s s

r q

Console Virtuali: essere in pi posti contemporaneamente La potenza di Unix Operazioni sui file Statistiche del sistema Cosa c' nel file? Comandi di elaborazione Cos' Emacs? Iniziare velocemente con X

Piccoli programmi potenti


r r r r r

Modificare file con Emacs


r r

http://www.ziobudda.net/ILDP/guide/GuidaUtente/guide.html (3 di 6) [02/07/2001 15.07.29]

Linux Guida dell'Utente


r r r r r r r r r

Modificare pi file contemporaneamente Terminare una sessione di Scrittura Il Tasto Meta Tagliare, Incollare, Eliminare Cercare e Sostituire Ma che succede veramente? Chiedere aiuto ad Emacs I buffer specializzanti: le modalit Modlit di programmazione
s s s

Modalit C Modalit Scheme Modalit posta

r r r q

Come essere ancora pi efficienti Personalizzare Emacs Scoprirne di pi Personalizzare bash


s s s s

Voglio essere me stesso!


r

Avvio della shell File di avvio Aliasing Variabili d'ambiente Configurazione di Twm Configurazione di Fvwm Il file di inizializzazione di Emacs Impostazioni dell'FTP Come permettere l'accesso remoto al vostro account Forwardare la posta

I file di inizializzazione di X Windows


s s

Altri file di inizializzazione


s s s s

r q

Alcuni esempi Posta elettronica


s s

Comunicare con gli altri


r

Spedire la posta Leggere la posta

r r

Troppe notizie Cercare persone


s s

Il comando finger Plan e progetti

r r

Usare i sistemi da remoto Scambiarsi file

http://www.ziobudda.net/ILDP/guide/GuidaUtente/guide.html (4 di 6) [02/07/2001 15.07.29]

Linux Guida dell'Utente


r q

Navigare in rete find, per cercare i file


s s s s s s s s

Comandi buffi
r

Generalit Espressioni Opzioni Test Azioni Operatori Esempi Un'ultima parola Introduzione Le opzioni principali Modificatori Esempi Opzioni Esempi Introduzione Opzioni Esempi

tar, l'archiviatore a nastro


s s s s

dd, il duplicatore di dati


s s

sort, per ordinare i dati


s s s

Errori, bug ed altre spiacevolezze


r r r

Evitare gli errori Cosa fare quando qualcosa va storto Non colpa vostra
s s

Quando c' un bug Notificare un bug

The GNU General Public License


r r r r

Preamble Terms and Conditions NO WARRANTY How to Apply These Terms to Your New Programs Preamble Terms and Conditions for Copying, Distribution and Modification NO WARRANTY How to Apply These Terms to Your New Libraries

The GNU Library General Public License


r r r r

Bibliography

http://www.ziobudda.net/ILDP/guide/GuidaUtente/guide.html (5 di 6) [02/07/2001 15.07.29]

Linux Guida dell'Utente


q q

Index About this document ...

Next: Ringraziamenti UNIX un marchio di X/Open MS-DOS e Microsoft Windows sono marchi di Microsoft Corporation OS/2 e Operating System/2 sono marchi di IBM X Window System un marchio di X Consortium, Inc. Motif un marchio di Open Software Foundation Linux non un marchio e non connesso a UNIX, Unix System Laboratories, o a X/Open. Si pregati di portare tutti i marchi non riconosciuti all'attenzione dell'autore. Copyright 1993-1994 Larry Greenfield 427 Harrison Avenue Highland Park, NJ 08904 leg+@andrew.cmu.edu Traduzione Copyright 1997 Eugenia Franzoni v. Lorenzini 12/g 06123 Perugia (PG) eugenia@pluto.linux.it basata su una precedente traduzione di Michele Dalla Silvestra dalla@pluto.linux.it permesso creare e distribuire copie testuali di questo manuale lasciando integri l'avviso di copyright e questi permessi su tutte le copie. permesso copiare e distribuire versioni modificate di questo manuale sotto le stesse condizioni delle copie testuali, fornendo anche le sezioni che riportano la ``Licenza Pubblica Generale GNU'', la ``Licenza Pubblica Generale Librerie GNU''. Le altre sezioni che sono chiaramente mantenute sotto altri copyright possono essere riprodotte sotto le condizioni ad esse allegate, e provvedendo che l'intero lavoro risultante sia distribuito sotto i termini di un avviso identico a questo. permesso copiare e distribuire traduzioni di questo manuale in altre lingue sotto le condizioni per le versioni modificate. La ``Licenza Pubblica Generale GNU'' e la ``Licenza Pubblica Generale Librerie GNU'' possono essere incluse in traduzioni approvate dalla Free Software Foundation al posto dell'originale inglese. A vostra scelta potete distribuire copie testuali e versioni modificate di questo documento sotto i termini della Licenza Pubblica Generale GNU, eccetto per le sezioni per cui sia indicato chiaramente che sono sottoposte ad un copyright diverso. Eccezioni a queste regole possono essere fatte per usi vari: si chieda a Larry Greenfield, via posta all'indirizzo sovrastante, o via e-mail a leg+@andrew.cmu.edu. richiesto (ma non imposto) che avvisiate l'autore quando stampate in larga scala e/o commerciate questo documento. Percentuali e donazioni sono accettate ed incoraggeranno future edizioni. Queste sono alcune delle convenzioni tipografiche usate in questo libro.

Next: Ringraziamenti Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/guide.html (6 di 6) [02/07/2001 15.07.29]

Index

Cerca nel sito:

Index
.bashrc Avvio della shell .plan Plan e progetti .project Plan e progetti /etc/motd Adesso tocca all'utente /etc/passwd cp come un amanuense | cp come un amanuense /etc/termcap Variabili d'ambiente caratteri jolly see shell, metacaratteri & Le basi account Adesso tocca all'utente ambiente Variabili d'ambiente AT&T Storia di Unix | Storia di Unix | Il comando finger background Le basi bash

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (1 di 14) [02/07/2001 15.07.32]

Index

Comandi di Unix | Lavorare con Unix | Cosa succede realmente? | Inserimento di linee di | Completamento file e comandi | Personalizzare bash | Variabili d'ambiente bg Le basi | Le basi BIOS Accendere il Computer BogoMIPS Messaggi del kernel Bourne, Steve R. Comandi di Unix BSD Storia di Unix C Modalit C carico medio Statistiche del sistema cat Un tipico comando Unix | Soluzione: le pipe | bold cd La directory corrente e cd Channon, David Ringraziamenti chmod bold cmp bold cmuscheme Modalit Scheme Codogno, Maurizio Ringraziamenti console virtuali Console Virtuali: essere in controllo dei job see shell, controllo dei job cp

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (2 di 14) [02/07/2001 15.07.32]

Index

Spostare Informazioni | cp come un amanuense to cp come un amanuense | Eliminare file con rm dd bold Dei Unix Spostare Informazioni df bold diff bold Digital Equipment Corporation Variabili d'ambiente directory corrente La directory corrente e cd | La directory corrente e cd creazione Creare e distruggere le to Creare e distruggere le di lavoro La directory corrente e cd di root Memorizzare le informazioni home La directory corrente e cd madre La directory corrente e cd permessi Operazioni sui file disco partizionamento Messaggi del kernel DOS Sistemi Operativi du bold e-mail

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (3 di 14) [02/07/2001 15.07.32]

Index

Modalit posta echo bold editor Cos' Emacs? elm Leggere la posta emacs Attributi di X | Modificare file con Emacs to Scoprirne di pi | Spedire la posta eliminare Tagliare, Incollare, Eliminare interrompere Il Tasto Meta mark Tagliare, Incollare, Eliminare point Tagliare, Incollare, Eliminare regione Tagliare, Incollare, Eliminare ricerca Cercare e Sostituire to Cercare e Sostituire end-of-file Un tipico comando Unix end-of-text Un tipico comando Unix env bold errore bad 386/387 coupling Messaggi del kernel fg Le basi | Le basi file permessi Operazioni sui file to Operazioni sui file

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (4 di 14) [02/07/2001 15.07.32]

Index

privilegi see file, permessi file di configurazione Personalizzare bash file init Personalizzare bash file rc Personalizzare bash file system Memorizzare le informazioni filtri Soluzione: le pipe find bold finger bold Fogel, Karl Ringraziamenti foreground Le basi fork Linux parte FPU Messaggi del kernel Free Software Foundation Come leggere questo libro Free Software Foundation Comandi di Unix Free Software Foundation Storia di | Storia di ftp bold fvwm Spostare le finestre | I file di inizializzazione | Configurazione di Fvwm to Configurazione di Fvwm

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (5 di 14) [02/07/2001 15.07.32]

Index

General Electric Storia di Unix General Public License Storia di gestore di icone see icon manager GNU Emacs Chi dovrebbe leggere questo | Inserimento di linee di GNU Hurd Storia di GNU, Licenza Pubblica Generale Software commerciale per GNU, Licenza Pubblica Generale Librerie Software commerciale per gnuchess Quando c' un bug grep bold guida in linea Come cavarsela da soli to Come cavarsela da soli gunzip bold gzip bold head Soluzione: le pipe | bold icon manager Iconizzazione IEEE Storia di init Linux parte | Linux parte inserimento di linee di comando vedereshell, editing Intel

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (6 di 14) [02/07/2001 15.07.32]

Index

Cosa bisogna aver fatto | Storia di Unix | Accendere il Computer ispell Comandi di elaborazione job see shell, controllo dei job Johnson, Michael K. Cos' il Linux Documentation Joy, Bill Comandi di Unix Kernighan, Brian Storia di Unix kill Le basi less Soluzione: le pipe LILO Accendere il Computer linux kernel messaggi Messaggi a run-time Linux kernel messaggi di avvio Messaggi del kernel lisp Modalit Scheme login Iniziare ad usare il | Linux parte | Adesso tocca all'utente ls Vedere le directory con ls Lu, H. J. Storia di lynx bold Macintosh Cosa bisogna aver fatto | Iniziare ad usare il | I file di inizializzazione

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (7 di 14) [02/07/2001 15.07.32]

Index

mail bold | bold man Come evitare di leggere | bold Massachusetts Institute of Technology Storia di Unix | Storia di | Cos' il sistema X metacaratteri see shell, metacaratteri Microsoft Windows Software commerciale per | I file di inizializzazione mkdir Creare e distruggere le to Creare e distruggere le more Soluzione: le pipe | bold Motif Software commerciale per mount Messaggi del kernel MS-DOS Iniziare ad usare il | Avvio della shell Multics Storia di Unix mv Spostare Informazioni | Una scorciatoia molto utile to Una scorciatoia molto utile netscape Caratteristiche comuni | Navigare in rete Novell Storia di Unix OS/2 Sistemi Operativi | Sistemi Operativi | Iniziare ad usare il | Comandi di Unix partizione disco Messaggi del kernel root Messaggi del kernel

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (8 di 14) [02/07/2001 15.07.32]

Index

password Adesso tocca all'utente | Adesso tocca all'utente permessi Operazioni sui file pgp Variabili d'ambiente PID Le basi pine Leggere la posta pipe Soluzione: le pipe to Soluzione: le pipe porta parallela Messaggi del kernel porta seriale Messaggi del kernel POSIX Storia di Process IDentification bold processi Linux parte forking Linux parte Progetto GNU Come leggere questo libro | Storia di | Comandi di elaborazione pronuncia Domande comuni su pwd La directory corrente e cd redirezione dell'input Redirezione dell'input redirezione dell'inut to Redirezione dell'input redirezione dell'output
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (9 di 14) [02/07/2001 15.07.32]

Index

Redirezione dell'output to Redirezione dell'output Ritchie, Dennis Storia di Unix | Storia di Unix rm Spostare Informazioni | Eliminare file con rm to Eliminare file con rm rmdir Creare e distruggere le Scheme Modalit Scheme script di shell Avvio della shell sh Comandi di Unix shell Come leggere questo libro | Come leggere questo libro | Comandi di Unix | numero del job alias bold commenti Aliasing completamento Completamento file e comandi to Completamento file e comandi controllo dei job Le basi concetti Cosa sta succedendo veramente? di login Avvio della shell editing Inserimento di linee di to Inserimento di linee di interattiva Avvio della shell job Le basi metacaratteri Metacaratteri to Il punto interrogativo
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (10 di 14) [02/07/2001 15.07.32]

Index

noninterattive Avvio della shell PATH Variabili d'ambiente to Variabili d'ambiente programmi Comandi di Unix prompt Adesso tocca all'utente | Comandi di Unix raggruppamenti see shell, metacaratteri script Comandi di Unix valutazione di espressioni Variabili d'ambiente to Variabili d'ambiente sicurezza see file, permessi Sistema X Window Linux Guida dell'Utente | Adesso tocca all'utente | Il sistema X Window to Barre di scorrimento Motif geometria Geometria widget Athena Caratteristiche comuni sort Un tipico comando Unix | Soluzione: le pipe sospeso bold source File di avvio spell bold Stallman, Richard I buffer specializzanti: le standard error Concetti di Unix

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (11 di 14) [02/07/2001 15.07.32]

Index

standard input Concetti di Unix | Redirezione dell'input standard output Concetti di Unix startx bold superutente Cosa bisogna aver fatto tail Soluzione: le pipe | bold tcsh Cosa succede realmente? telnet bold terminali Variabili d'ambiente Thompson, Ken Storia di Unix Torvalds, Linus Ringraziamenti | Chi dovrebbe leggere questo | Storia di | Domande comuni su uso dell'inglese Messaggi del kernel touch bold tt bold twm I gestori di finestre | Spostare le finestre | I file di inizializzazione | Configurazione di Twm to Configurazione di Twm Universit della California, Berkeley Storia di Unix Unix System Laboratories Storia di Unix uptime bold

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (12 di 14) [02/07/2001 15.07.32]

Index

URL Navigare in rete variabili d'ambiente Variabili d'ambiente VMS Sistemi Operativi | Sistemi Operativi vt100 Variabili d'ambiente w bold | Notificare un bug wc bold Welsh, Matt Cos' il Linux Documentation who bold Windows NT Comandi di Unix Wirzenius, Lars Cos' il Linux Documentation X Window System barre di scorrimento Barre di scorrimento X Window System Storia di | Software commerciale per widget Motif Caratteristiche comuni xclock XClock xfishtank Men xinit bold xterm XTerm | Avvio della shell | Usare i sistemi da

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (13 di 14) [02/07/2001 15.07.32]

Index

yes Le basi zcat bold Zimmerman,Paul Variabili d'ambiente

Next: About this document ... Up: Linux Guida dell'Utente Previous: Bibliography

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node171.html (14 di 14) [02/07/2001 15.07.32]

Introduzione

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Introduzione
q

Chi dovrebbe leggere questo Libro


r

Cosa bisogna aver fatto prima di leggere questo libro

q q q

Come evitare di leggere questo libro Come leggere questo libro Documentazione su
r r r

Altri libri su HOWTO Cos' il Linux Documentation Project?

Sistemi Operativi

Next: Chi dovrebbe leggere questo Up: Linux Guida dell'Utente Previous: Contents

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node3.html [02/07/2001 15.07.35]

Chi dovrebbe leggere questo Libro

Cerca nel sito:

Chi dovrebbe leggere questo Libro


q

Cosa bisogna aver fatto prima di leggere questo libro

Next: Cosa bisogna aver fatto Up: Introduzione Previous: Introduzione Siete fra quelli che dovrebbero leggere questo libro? Rispondiamo con un'altra domanda: avete appena prelevato Linux da qualche parte, l'avete installato e volete sapere cosa farci? Oppure siete utenti di computer non-UNIX che stanno considerando Linux ma vogliono vedere cosa pu fare? Se avete questo libro, la risposta a queste domande probabilmente ``s''. Chiunque ha , la versione di UNIX liberamente distribuibile scritta da Linux Torvalds , nel proprio PC ma non sa cosa farci dovrebbe leggere questo libro. Qui tratteremo la maggior parte dei comandi UNIX semplici e alcuni di quelli pi avanzati. Parleremo anche di GNU Emacs , un potente editor, e di parecchie altre grosse applicazioni Unix. applicazioni

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node4.html [02/07/2001 15.07.42]

Cosa bisogna aver fatto prima di leggere questo libro

Cerca nel sito:

Cosa bisogna aver fatto prima di leggere questo libro


Next: Come evitare di leggere Up: Chi dovrebbe leggere questo Previous: Chi dovrebbe leggere questo Questo libro assume che possiate accedere ad un sistema Unix. (Sfortunatamente un po' arduo imparare senza!) Pi precisamente, questo sistema UNIX dovrebbe essere un PC Intel con . Questo requisito non necessario, ma dove le versioni di UNIX differiscono tra loro, qui si parla esclusivamente del comportamento di . Linux disponibile in vari formati, chiamati distribuzioni. Si spera che abbiate trovato una distribuzione completa, come la Slackware, la Debian o la MCC-Interim, e l'abbiate installata. Ci sono delle differenze tra le varie distribuzioni di , ma sono perlopi piccole e poco importanti. Potrete trovare delle differenze dagli esempi proposti in questo libro. Per la maggior parte saranno differenze minime, di cui non ci si deve preoccupare. Se notate una differenza notevole tra questo libro e la vostra esperienza reale, informate me, l'autore. Se siete il superutentesuperuser (l'installatore e amministratore) del sistema, dovreste anche aver creato un account normale per voi stessi. Consultate i manuali di installazione per informazioni su come fare. Se non siete il superutente, dovreste avere ottenuto un account da lui/lei. Dovete avere anche tempo e pazienza. Imparare Linux non semplice--molti hanno trovato pi semplice imparare il Sistema Operativo Macintosh , ma una volta imparato Linux, diventa tutto molto pi facile. UNIX un sistema molto potente ed facilissimo portare avanti dei compiti molto complessi. Oltre a ci, questo libro presume che abbiate un po' di familiarit con alcuni termini informatici. Sebbene questo requisito non sia necessario, rende pi semplice la lettura del libro. Dovreste conoscere termini come `programma' ed `esecuzione'; altrimenti sarebbe meglio che aveste qualcuno che vi aiuti ad imparare lo Unix.

Next: Come evitare di leggere Up: Chi dovrebbe leggere questo Previous: Chi dovrebbe leggere questo Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node5.html (1 di 2) [02/07/2001 15.07.43]

Cosa bisogna aver fatto prima di leggere questo libro

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node5.html (2 di 2) [02/07/2001 15.07.43]

Come evitare di leggere questo libro

Cerca nel sito:

Come evitare di leggere questo libro


Next: Come leggere questo libro Up: Introduzione Previous: Cosa bisogna aver fatto Il modo migliore per imparare un programma usando il proprio computer. Molta gente ha trovato che leggere un libro senza usare il programma non utile, quindi il modo migliore per imparare UNIX e Linux usarli. Usate Linux pi che potete. Sperimentate. Non preoccupatevi-- possibile sbagliare qualcosa, ma si pu sempre reinstallare tutto. Tenete copie di sicurezza e divertitevi! UNIX non intuitivo come molti altri sistemi operativi, quindi molto probabilmente finirete con il leggere almeno i e . Il primo modo per evitare di usare questo libro di usare la documentazione capitoli , disponibile in linea. Imparate ad usare il comando man -- descritto nella sezione . Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node6.html [02/07/2001 15.07.45]

Come leggere questo libro

Cerca nel sito:

Come leggere questo libro


Capitolo : spiega da dove provengono UNIX e Linux e dove sono diretti. Parla anche della Free Software Foundation e del Progetto GNU . Capitolo : parla di come avviare e fermare il computer, e cosa succede in questi momenti. Per la maggior parte tratta argomenti non necessari per l'uso di , ma comunque utili ed interessanti. Capitolo : introduce la shell di Unix, che dove si lavora e si eseguono i programmi. Parla dei comandi e programmi base che bisogna conoscere per usare Unix. Capitolo : spiega il Sistema X Window. X l'interfaccia grafica primaria di UNIX e alcune distribuzioni lo impostano per default. Capitolo : spiega alcune parti pi avanzate della shell di Unix. Imparare le tecniche descritte in questo capitolo render pi efficiente il vostro modo di lavorare. Capitolo : una breve descrizione di molti comandi Unix. Pi strumenti un utente sa usare, pi velocemente completa il suo lavoro. Capitolo : descrive l'editor di testi Emacs. Emacs un grosso programma che integra molti strumenti di UNIX in un'unica interfaccia. Capitolo : descrive come adattare il sistema UNIX ai vostri gusti personali. Capitolo : studia i modi in cui un utente UNIX pu comunicare con altre macchine sparse per il mondo, compresa la posta elettronica e il WWW.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node7.html (1 di 2) [02/07/2001 15.07.46]

Come leggere questo libro

Capitolo : descrive alcuni dei comandi pi grossi e difficili da usare. Capitolo : parla dei modi semplici per evitare errori in UNIX e .

Next: Documentazione su Up: Introduzione Previous: Come evitare di leggere Il suggerimento per imparare UNIX di leggere un po', poi provare. Continuate a provare finch non comincerete ad avere dimestichezza con i concetti, e poi iniziate a girare all'interno del libro. Troverete una variet di argomenti, alcuni dei quali vi interesseranno, altri vi annoieranno. Dopo un po' avrete abbastanza confidenza per iniziare ad usare comandi senza sapere quello che fanno esattamente, che una cosa molto utile. Quando molta gente si riferisce ad Unix, in realt si riferisce alla shell shell di Unix, un programma speciale che interpreta i comandi. il programma che controlla l'``apparenza'' di Unix. In pratica la si pu vedere cos, ma bisogna sapere che in realt UNIX consiste di molte cose in pi, o molte in meno. Questo libro spiega come usare la shell , i programmi contenuti in UNIX ed alcuni programmi che non sempre si trovano in UNIX (ma in Linux di solito s). Questo capitolo particolare--tratta di questo libro e come usarlo per imparare a lavorare. Gli altri capitoli contengono:

Next: Documentazione su Up: Introduzione Previous: Come evitare di leggere Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node7.html (2 di 2) [02/07/2001 15.07.46]

Documentazione su

Cerca nel sito:

Documentazione su
q q q

Altri libri su HOWTO Cos' il Linux Documentation Project?

Next: Altri libri su Up: Introduzione Previous: Come leggere questo libro Questo libro, Linux Guida dell'Utente, rivolto ai principianti di Unix. Fortunatamente, il Linux Documentation Project sta scrivendo anche libri per gli utenti di maggiore esperienza.

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node8.html [02/07/2001 15.07.48]

Altri libri su

Cerca nel sito:

Altri libri su
Next: HOWTO Up: Documentazione su Previous: Documentazione su Gli altri libri comprendono Installation and Getting Started, una guida su come prelevare ed installare , The Linux System Administrator's Guide, come organizzare e amministrare un sistema , e The Linux Kernel Hackers' Guide, un libro su come modificare . The Linux Network Administration Guide parla di come installare, configurare ed usare una connessione di rete. Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node9.html [02/07/2001 15.07.49]

HOWTO

Cerca nel sito:

HOWTO
Next: Cos' il Linux Documentation Up: Documentazione su Previous: Altri libri su In aggiunta ai libri, il Linux Documentation Project ha creato una serie di brevi documenti che descrivono come impostare un particolare aspetto di . Per esempio, lo SCSI-HOWTO descrive alcune delle complicazioni dell'uso dello SCSI--uno standard per la comunicazione tra dispositivi--con . Questi HOWTO sono disponibili in diversi formati: in un libro rilegato come la The Linux Bible o Dr. Linux, nel newsgroup comp.os.linux.answers o in svariati siti sulla World Wide Web. Uno dei siti centrali per le informazioni su Linux http://www.linux.org. Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node10.html [02/07/2001 15.07.50]

Cos' il Linux Documentation Project?

Cerca nel sito:

Cos' il Linux Documentation Project?


Next: Sistemi Operativi Up: Documentazione su Previous: HOWTO Come quasi tutte le organizzazioni che riguardano , il Linux Documentation Project un gruppo di persone che lavorano sparse in giro per il mondo. Originariamente organizzato da Lars Wirzenius , il Progetto ora coordinato da Matt Welsh con l'aiuto di Michael K. Johnson. Si spera che il Linux Documentation Project fornir in futuro libri che vadano incontro a tutti i bisogni della documentazione di . Diteci se ci siamo riusciti o come dovremmo migliorare. Potete contattare l'autore all'indirizzo greenfie@gauss.rutgers.edu e/o Matt Welsh a mdw@cs.cornell.edu. Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node11.html [02/07/2001 15.07.52]

Sistemi Operativi

Cerca nel sito:

Sistemi Operativi
Next: Cos' Unix? Up: Introduzione Previous: Cos' il Linux Documentation Lo scopo principale di un sistema operativosistema operativo supportare i programmi che eseguono realmente il lavoro a cui si interessati. Per esempio, state usando un editor per creare un documento. Questo editor non pu lavorare senza l'aiuto del sistema operativo-- necessita di questo aiuto per interagire con il terminale, i file ed il resto del computer. Se tutto quello che fa il sistema operativo supportare le applicazioni, perch necessario un libro intero solo per poterlo usare? Ci sono varie attivit di manutenzione (senza considerare i problemi pi grossi) che necessario fare. Nel caso di , il sistema operativo contiene anche una serie di ``mini-applicazioni'' per aiutare ad eseguire il lavoro in modo pi efficiente; conoscere il sistema operativo pu essere utile quando non si lavora con grosse applicazioni. I sistemi operativi (in breve OS) possono essere semplici e minimalisti, come il DOS , o grandi e complessi, come OS/2 o VMS .1.1 UNIX tenta di essere una via di mezzo: mentre fornisce pi risorse e fa pi cose dei primi sistemi operativi, non tenta di fare tutto. UNIX stato originariamente progettato come una semplificazione di un sistema operativo chiamato Multics. La filosofia originale di UNIX fu di distribuire le funzionalit in piccole parti, i programmi.1.2 In questo modo si possono aggiungere nuove funzionalit e caratteristiche combinando le piccole parti (programmi) in nuovi modi. E se appaiono nuove utility (e succede), si possono integrare con i vecchi strumenti. Sfortunatamente i programmi tendono con il tempo a crescere e acquistare nuove caratteristiche, ma la flessibilit rimane. Mentre sto scrivendo questo documento, per esempio, sto usando attivamente questi programmi: fvwm per gestire le mie ``finestre'', emacs per editare il testo, LATEX per formattarlo, xdvi per vedere l'anteprima, dvips per preparare la stampa e lpr per stamparlo. Se un domani mi procurassi un visualizzatore dvi migliore, lo potrei usare al posto di xdvi senza cambiare il resto della mia configurazione. In questo momento, il mio sistema ha trentotto programmi che girano simultaneamente (la maggior parte sono programmi di sistema che ``dormono'' finch non hanno qualcosa di specifico da fare). Quando si usa un sistema operativo, si vuole minimizzare la quantit di lavoro necessaria per i ottenere lo scopo. UNIX fornisce molti strumenti per aiutarvi, ma solo se sapete cosa fanno. Passare ore tentando di fare qualcosa e alla fine arrendersi non molto produttivo. Questo libro vi insegner quali strumenti usare nelle varie situazioni e come collegarli tra loro. La parte chiave di un sistema operativo chiamata ``kernel''kernel (nucleo). In molti sistemi operativi, come Unix, OS/2 o VMS , il kernel fornisce ai programmi le funzioni da usare e gestisce la sequenza della loro esecuzione. Semplicemente

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node12.html (1 di 2) [02/07/2001 15.07.53]

Sistemi Operativi

dice che il programma A pu avere un certo tempo a disposizione, il programma B un altro tempo, e cos via. C' sempre il kernel che gira: il primo programma ad essere inizializzato quando si accende il sistema e l'ultimo a fare qualsiasi cosa quando lo si ferma.

Next: Cos' Unix? Up: Introduzione Previous: Cos' il Linux Documentation Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node12.html (2 di 2) [02/07/2001 15.07.53]

Cos' Unix?

Cerca nel sito:

Cos' Unix?
q q

Storia di Unix Storia di


r r r

Linux oggi Domande comuni su Software commerciale per

Next: Storia di Unix Up: Linux Guida dell'Utente Previous: Sistemi Operativi

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node13.html [02/07/2001 15.07.57]

Storia di Unix

Cerca nel sito:

Storia di Unix
Next: Storia di Up: Cos' Unix? Previous: Cos' Unix? Nel 1965, i laboratori della Bell Telephone (Bell Labs, una divisione della AT&T )Bell Labs stavano lavorando con la General Electric e il Project MAC del MIT per scrivere un sistema operativo chiamato Multics. Per fare la storia un po' pi breve, i laboratori della Bell decisero che il progetto non sarebbe andato in porto e sciolsero il gruppo. Questo, comunque, lasci i laboratori della Bell senza un buon sistema operativo. Ken Thompson e Dennis Ritchie decisero di abbozzare un sistema operativo che doveva incontrare le necessit dei Laboratori della Bell. Quando a Thompson serv un ambiente di sviluppo (1970) che funzionasse su un PDP-7, implement le loro idee. Come gioco di parole su Multics, Brian Kernighan , un altro ricercatore della Bell Labs, diede al sistema il nome Unix. In seguito, Dennis Ritchie invent il linguaggio di programmazione ``C''. Nel 1973, UNIX fu riscritto in C, invece che nell'originale linguaggio assembly.2.1 Nel 1977, UNIX fu adattato ad una nuova macchina usando un processo chiamato porting porting, e fu tolto dalla macchina PDP su cui girava precedentemente. Ci fu aiutato dal fatto che UNIX era stato scritto in C, dato che non si dovette riscrivere molto codice, ma bast ricompilarlo. Alla fine degli anni '70, alla AT&T fu vietato di competere nell'industria informatica, quindi forn a prezzo molto basso le licenze di UNIX a svariati college ed universit. Prese piede lentamente all'esterno delle istituzioni accademiche, ma alla fine divenne popolare anche nell'ambiente commerciale. Lo UNIX di oggi diverso dallo Unix del 1970: ha due grandi versioni: la System V, degli Unix System Laboratories (USL) , dei consociati della Novell,2.2 e la Berkeley Software Distribution (BSD). La versione USL arrivata alla quarta revisione, o SVR4,2.3 mentre l'ultima versione BSD la 4.4. Comunque ci sono molte diverse versioni di UNIX oltre a queste due. La maggior parte delle versioni commerciali di UNIX derivano da uno di questi due gruppi. Le versioni di UNIX attualmente utilizzate incorporano caratteristiche di entrambi. Le versioni attuali di UNIX per PC Intel costano tra i $500 e i $2000.

Next: Storia di Up: Cos' Unix? Previous: Cos' Unix? Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node14.html (1 di 2) [02/07/2001 15.08.02]

Storia di Unix

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node14.html (2 di 2) [02/07/2001 15.08.02]

Storia di

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Storia di
q q q

Linux oggi Domande comuni su Software commerciale per

Next: Linux oggi Up: Cos' Unix? Previous: Storia di Unix L'autore primario di Linux Linus Torvalds . Dalla sua versione originale, stato perfezionato da innumerevoli persone da tutto il mondo. un clone, scritto interamente da zero, del sistema operativo Unix. N USL n l'Universit della California, Berkeley, sono stati coinvolti nella stesura di . Uno dei fatti pi interessanti di Linux che il suo sviluppo avviene simultaneamente in tutto il mondo. Gente dall'Australia alla Finlandia ha contribuito a , e continuer felicemente a farlo. Linux inizi con un progetto di esplorazione del chip 80386. Uno dei primi progetti di Linus era un programma che doveva stampare alternativamente AAAA e BBBB (due processi funzionanti in multitasking). Questo poi diventato . Linux sottoposto al copyright della GNU General Public License (GPL) . Si tratta di una licenza scritta dalla Free Software Foundation (FSF) , progettata per prevenire la gente dal restringere la distribuzione del software. In breve essa dice che anche se si pu far pagare quello che si vuole per una copia, non si pu impedire alla persona a cui la copia stata venduta di distribuirla liberamente. Significa anche che il codice sorgente2.4 deve essere disponibile, cosa molto utile per i programmatori. Chiunque pu modificare Linux e rendere disponibili le sue modifiche, sempre che mantengano il codice sotto lo stesso copyright. Linux supporta molto del software UNIX pi famoso, compreso il Sistema X Window . Il sistema X Window stato creato al Massachusetts Institute of Technology . stato scritto per permettere ai sistemi UNIX di creare finestre grafiche ed interagire facilmente l'uno con l'altro. Oggi, il sistema X Window viene usato su tutte le versioni di UNIX disponibili. In aggiunta alle due versioni di Unix, System V e BSD, c' anche un insieme di documenti di standardizzazione, pubblicati dalla IEEE , intitolati POSIXPOSIX. Linux principalmente conforme a POSIX-1 e POSIX-2. Il suo aspetto molto simile a BSD in alcune cose, e a System V in altre. un insieme (secondo la maggior parte delle persone, ottimo) di tutti e tre gli standard. Molte delle utility incluse nelle distribuzioni di Linux provengono dalla Free Software Foundation e sono parte del Progetto GNU . Il Progetto GNU un'opera di scrittura di un sistema operativo portabile ed avanzato che somigli molto a Unix. ``Portabile'' significa che funzioner su una variet di macchine, non solo PC Intel, ma anche Macintosh o altri. Il sistema operativo GNU si chiama Hurd . La differenza principale tra Linux e Hurd non sta nell'interfaccia utente, ma nell'interfaccia di programmazione--Hurd un sistema operativo moderno mentre Linux prende in prestito pi cose dallo UNIX originale. La storia di Linux riportata qui sopra carente perch non menziona nessuno oltre a Linus Torvalds. Ad esempio, H. J. Lu ha curato la manutenzione del gcc e la libreria C di Linux (due elementi necessari per la programmazione su ) fin da molto presto nella storia di Linux stesso. Potete trovare un elenco di persone che meritano di essere nominate in ogni sistema Linux nel file /usr/src/linux/CREDITS.

Next: Linux oggi Up: Cos' Unix? Previous: Storia di Unix Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node15.html (1 di 2) [02/07/2001 15.08.03]

Storia di

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node15.html (2 di 2) [02/07/2001 15.08.03]

Linux oggi

Cerca nel sito:

Linux oggi
Next: Domande comuni su Up: Storia di Previous: Storia di La prima cifra del numero di versione di Linux indica revisioni veramente enormi, che cambiano molto lentamente; al momento in cui sto scrivendo (febbraio 1996) disponibile solo la versione ``1''. La seconda cifra indica revisioni un po' pi piccole. Una seconda cifra pari indica le versioni pi stabili ed affidabili, mentre le versioni con la seconda cifra dispari sono versioni di sviluppo, pi facilmente bacate. L'ultima cifra il numero della versione--ogni volta che viene rilasciata una nuova versione, che pu semplicemente risolvere dei piccoli problemi o aggiungere caratteristiche di piccola entit, questa cifra viene aumentata di uno. Oggi, febbraio 1996, siamo arrivati alla versione stabile 1.2.11, ed alla versione di sviluppo 1.3.61. Linux un grosso sistema operativo e sfortunatamente contiene bug (errori) che devono essere trovati e corretti. Sebbene alcune persone trovino regolarmente degli errori, normalmente avviene a causa di un hardware insolito o difettoso; i bug che interessano molte persone sono pochissimi. Certamente, questi sono solo i bug del kernel. I bug possono essere presenti anche in ogni aspetto del sistema, e gli utenti inesperti possono avere problemi a distinguere programmi diversi l'uno dall'altro. Per esempio, un problema che potrebbe presentarsi che i caratteri diventano illeggibili-- un bug o una ``caratteristica''? Sorprendentemente, questa una caratteristica--i caratteri illeggibili sono causati da alcune sequenze di controllo che a volte possono apparire. Speriamo che questo libro insegni a distinguere le varie situazioni.

Next: Domande comuni su Up: Storia di Previous: Storia di Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node16.html [02/07/2001 15.08.10]

Domande comuni su

Cerca nel sito:

Domande comuni su
Next: Software commerciale per Up: Storia di Previous: Linux oggi Prima di partire per il nostro lungo viaggio, mettiamo in chiaro le cose veramente importanti: Domanda: Come si pronuncia ? Risposta: Per volont di Linus , dovrebbe essere pronunciato con una breve suono ih, come prInt, mInImo ecc. Linux dovrebbe far rima con Minix, un'altro clone di Unix. La pronuncia LIH-nucks. Domanda: Perch lavorare su ? Risposta: Perch no? Linux in genere meno caro degli altri sistemi operativi, e spesso meno problematico di molti sistemi commerciali. Pu non essere il sistema migliore per le vostre particolari applicazioni, ma per chi interessato ad usare le applicazioni UNIX disponibili per , un sistema molto performante. Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node17.html [02/07/2001 15.08.11]

Software commerciale per

Cerca nel sito:

Software commerciale per


Next: Iniziare Up: Storia di Previous: Domande comuni su Esiste molto software commerciale disponibile per . Ad esempio si pu cominciare con Motif , un'interfaccia utente per il sistema X Window che somiglia vagamente a Microsoft Windows . Linux si sta guadagnando sempre pi software commerciale. In questi giorni si pu comprare di tutto per , da Word Perfect, un famoso word processor, a Maple, un complesso pacchetto di manipolazione simbolica. Per i lettori interessati agli aspetti legali di , ci permesso dalla licenza . Mentre la Licenza Pubblica Generale GNU (riprodotta nell'appendice ) copre il kernel di Linux e sembra non permettere lo sviluppo di software commerciale, la Licenza Pubblica Generale Librerie (riprodotta nell'appendice ) copre molto del codice su cui le applicazioni dipendono.GPLGNU General Public LicenseLGPLGNU Library General Public License Ci permette agli sviluppatori di software commerciale di vendere le loro applicazioni e non distribuire il codice sorgente. Da notare che questi due documenti sono avvisi di copyright, non licenze per l'uso. Essi non regolano come si dovrebbe usare il software, ma semplicemente in quali circostanze si pu copiare il software e ogni lavoro derivato. Per la Free Software Foundation, questa una distinzione importante: Linux non ha nessuna licenza d'uso ma semplicemente protetto dalla stessa regolamentazione che non permette di fotocopiare un libro.

Next: Iniziare Up: Storia di Previous: Domande comuni su Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node18.html [02/07/2001 15.08.15]

Iniziare

Cerca nel sito:

Iniziare
q

Iniziare ad usare il proprio computer


r r r

Accendere il Computer Linux parte Adesso tocca all'utente Spegnere il Computer Messaggi a run-time

Spegnere il Computer
r

Messaggi del kernel


r

Next: Iniziare ad usare il Up: Linux Guida dell'Utente Previous: Software commerciale per

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node19.html [02/07/2001 15.08.17]

Iniziare ad usare il proprio computer

Cerca nel sito:

Iniziare ad usare il proprio computer


q q q

Accendere il Computer Linux parte Adesso tocca all'utente

Next: Accendere il Computer Up: Iniziare Previous: Iniziare Qualcuno potrebbe avere esperienze precedenti con l'MS-DOS o con altri sistemi operativi per utenti singoli, come OS/2 o Macintosh. In questi sistemi operativi non c'era bisogno di identificarsi al computer prima di usarlo; si presumeva di essere i soli utenti del sistema e quindi di poter accedere a tutte le risorse. Bene, UNIX un sistema operativo multi-utente--non solo pu essere usato da pi di una persona alla volta, ma diverse persone possono essere trattate in modo diverso. Per distinguere i vari utenti, UNIX ha bisogno di identificarli tramite un processo chiamato login. Quando si accende il computer avviene un processo abbastanza complesso, prima che il computer sia pronto per essere usato. Siccome questa guida orientata a , spiegher cosa succede durante la sequenza di avvio di Linux (boot-up).boot-up Se state usando Linux su un tipo di computer che non sia un PC Intel, alcune parti di questo capitolo non sono applicabili: la maggior parte dovrebbero trovarsi nella sezione

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node20.html [02/07/2001 15.08.18]

Accendere il Computer

Cerca nel sito:

Accendere il Computer
Next: Linux parte Up: Iniziare ad usare il Previous: Iniziare ad usare il La prima cosa che succede quando si accende un PC Intel l'esecuzione del BIOS. BIOS BIOS sta per Basic Input/Output System: normalmente un programma memorizzato permanentemente nel computer su chip a sola lettura, che esegue alcuni test di base e poi cerca un floppy nella prima unit disco. Se ne trova uno cerca un ``boot sector'' (settore di avvio) su quel disco e inizia ad eseguirne il codice, se c'. Se c' un disco, ma senza settore di avvio, il BIOS scriver un messaggio del genere: 7#7 (Disco non di sistema o errore di disco) Togliendo il disco e premendo un tasto si far continuare il processo di avvio. Se non c' un floppy nel drive, il BIOS cerca un master boot recordmaster boot record (MBR) nel disco fisso. Inizier l'esecuzione del codice trovato l, che carica il sistema operativo. Su un sistema , LILO , il LInux LOader, pu occupare il MBR e caricare . Per adesso assumiamo che succeda questo, e che Linux inizi a caricarsi. (La vostra distribuzione potrebbe avere dei meccanismi di avvio dal disco fisso diversi. Controllate la documentazione inclusa nella distribuzione. Un altro buon riferimento la documentazione di LILO, [1].)

Next: Linux parte Up: Iniziare ad usare il Previous: Iniziare ad usare il Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node21.html [02/07/2001 15.08.21]

Linux parte

Cerca nel sito:

Linux parte
Next: Adesso tocca all'utente Up: Iniziare ad usare il Previous: Accendere il Computer Dopo che il BIOS ha passato il controllo a LILO, LILO passa il controllo al kernel di . Il kernel il programma principale del sistema operativo, che controlla tutti gli altri programmi. La prima cosa che Linux fa quando parte, commutare il sistema in modalit protetta.modalit protetta Il processore 80386,3.1 che controlla il computer, ha due modalit, chiamate realemodalit reale e protetta.modalit protetta Il DOS funziona in modalit reale, come il BIOS, ma alcuni sistemi operativi avanzati devono girare in modalit protetta. Per questo, quando Linux parte, viene abbandonato il BIOS. Altri tipi di processore compiranno questo stadio in maniera diversa: nessun altro processore ha bisogno di cambiare modalit, e pochi devono avere una costruzione sulla procedura di avvio pesante come LILO e il BIOS. Una volta che il kernel partito, Linux funziona nello stesso modo. Figure: Il percorso che un PC Intel fa per arrivare al prompt di shell. init pu avviare o no il Sistema X Window; se lo fa viene avviato xdm, altrimenti viene avviato getty. 8#8 Linux controlla poi il tipo di hardware su cui sta girando: vuole sapere che tipo di disco fisso presente, se c' un bus mouse, se si lavora in rete e altre cose simili. Linux non pu ricordarsi queste cose tra un avvio e l'altro, cos le deve valutare ogni volta. Fortunatamente non le chiede a voi--ma all'hardware! Durante l'avvio, il kernel di Linux stampa un elenco di messaggi, che si possono leggere nella Sezione . Questo processo di richiesta di informazioni sull'hardware pu causare qualche problema con il sistema, ma se lo fa, probabilmente quando si installa Linux per la prima volta. Se avete problemi, consultate la documentazione della vostra distribuzione. Il kernel gestisce semplicemente gli altri programmi quindi, una volta controllato che tutto sia a posto, deve avviarne uno per fare qualcosa di utile. Il programma avviato dal kernel si chiama init (notare la differenza dei caratteri: le parti di testo evidenziato con questo tipo di carattere normalmente sono nomi di programmi, file, directory o termini informatici). Dopo l'avvio di init il kernel non avvia pi nessun programma; diventa un gestore di risorse, non un programma attivo. Cos, per vedere cosa fa il computer dopo l'avvio del kernel, bisogna esaminare init. init esegue una complicata sequenza di avvio che non la stessa per tutti i computer. Per Linux ci sono varie versioni di init, e ognuna lavora a modo proprio. importante anche se il vostro computer in rete e quale distribuzione avete usato per installare . Alcune cose che possono succedere quando parte init sono: q Controllo dei filesystemfilesystem. Cos' un filesystem? l'organizzazione dei file in un disco fisso. In questo modo UNIX sa quali parti del disco sono utilizzate e quali no ( come un indice di un grosso archivio o lo schedario di una biblioteca). Sfortunatamente alcuni fattori, come una caduta di tensione, possono fare in modo che quello che le informazioni nel filesystem pensano che stia accadendo nel resto del disco e lo stato reale del disco siano in conflitto. Un programma speciale, fsck, pu scovare queste situazioni e correggerle. q Avviamento di speciali programmi di routingroute per la rete. Questi programmi dicono al computer come fare per contattare altri computer.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node22.html (1 di 2) [02/07/2001 15.08.23]

Linux parte

Rimozione di file temporanei lasciati da alcuni programmi. q Aggiornamento dell'orologio del sistema. pi complicato di quanto possa sembrare, dato che Unix, per default, vuole l'ora in UCT (Universal Coordinated Time, anche noto come GMT - Greenwich Mean Time) e l'orologio del CMOS, un orologio interno al computer alimentato a batterie, probabilmente impostato all'ora locale. Ci significa che alcuni programmi devono leggere l'ora dall'orologio hardware e portarlo in UCT. Dopo che init ha finito i suoi compiti all'avvio, comincia la sua attivit normale. init pu essere considerato il padre di tutti i processi processi di un sistema Unix. Un processo semplicemente un programma in esecuzione; siccome ogni programma pu girare pi di una volta, possono esserci due o pi processi per ogni programma. In Unix, un processo, cio un'istanza di un programma, creato da una chiamata di sistemachiamata di sistema--un servizio fornito dal kernel--chiamata fork (si chiama ``fork'' - ``forchetta''- perch un processo si divide in due processi separati). init si divide in un paio di processi, che si dividono a loro volta. Nel vostro sistema , init esegue parecchie istanze di un programma chiamato getty. getty il programma che permette ad un utente di collegarsi, e che alla fine chiama un programma chiamato login .
q

Next: Adesso tocca all'utente Up: Iniziare ad usare il Previous: Accendere il Computer Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node22.html (2 di 2) [02/07/2001 15.08.23]

Adesso tocca all'utente

Cerca nel sito:

Adesso tocca all'utente


Next: Spegnere il Computer Up: Iniziare ad usare il Previous: Linux parte La prima cosa da fare per usare una macchina UNIX identificarsi. Questo processo, conosciuto come ``logging in'', o ``login'', il modo in cui UNIX riconosce un utente autorizzato ad usare il sistema, e chiede un nome di account e una password . Un nome di account normalmente simile al vostro nome; dovreste averne gi ricevuto uno dall'amministratore del sistema, o averne creato uno personale se l'amministratore siete voi (informazioni su come fare dovrebbero essere disponibili in Installation and Getting Started o The Linux System Administrator's Guide). Dopo la procedura di avvio dovreste vedere qualcosa simile al seguente (la prima linea semplicemente un messaggio di benvenuto--pu essere un disclaimer o qualsiasi altra cosa): 9#9 Comunque possibile che il sistema non si presenti cos. Invece di un noioso schermo testuale, potrebbe usare la grafica. In qualsiasi caso vi chieder sempre di loggarvi e funzioner pi o meno nella stessa maniera. Se questo il vostro caso, state usando il Sistema X Window , e vi si presenter un sistema a discuter alcune delle differenze a cui vi troverete di fronte, comunque il login finestre. Il capitolo sar simile, come le basi della maggior parte di Unix. Se state usando X, cercate una X gigante a margine del testo del libro. Questo l'invito per voi a loggarvi . In questo manuale useremo l'utente fittizio (o reale, dipende dalla vostra macchina) larry. Dove trovate larry, dovreste sostituire il vostro nome di account. Il nome di account spesso basato sul nome reale; i pi grossi sistemi UNIX seri hanno gli account formati dal cognome, da alcune combinazioni tra nome e cognome, o anche da alcuni numeri. Possibili account per Larry Greenfield potrebbero essere: larry, greenfie, lgreenfi, lg19. mousehouse il ``nome'' della macchina che sto usando. possibile che quando installate , vi sia richiesto di inventare un nome buffo per la vostra macchina. Non molto importante, ma user mousehouse, o raramente lionsden quando dovr usare un nome per un secondo sistema per chiarezza o per contrapporlo al primo. Dopo aver inserito larry e aver premuto 4#4, apparir questo: 10#10 Quello che Linux sta chiedendo la vostra password. Quando inserite la password, non riuscirete a vedere quello che digitate. Fate attenzione: possibile cancellare, ma non riuscirete a vedere quello che state cambiando. Non digitate troppo lentamente se altra gente sta guardando--potrebbero capire la vostra password. Se sbagliate, vi verr presentata un'altra possibilit di loggarvi.password Se avete inserito correttamente il nome di login e la password, apparir un breve messaggio, chiamato il messaggio del
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node23.html (1 di 2) [02/07/2001 15.08.27]

Adesso tocca all'utente

giorno ( /etc/motd) ; pu dire qualsiasi cosa--lo sceglie l'amministratore del sistema, dopodich appare un prompt . Un prompt solamente un messaggio che appare per chiedere il prossimo comando da dare al sistema, e dovrebbe essere simile a: 11#11 -to 1#1 Se state gi usando X Window, probabilmente vedrete un prompt simile a questo in una ``finestra'' in qualche parte dello schermo (una ``finestra'' semplicemente una zona rettangolare dello schermo). Per scrivere un comando, spostare il cursore del mouse (probabilmente sar una ``x'' o una freccia) dentro la finestra.

Next: Spegnere il Computer Up: Iniziare ad usare il Previous: Linux parte Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node23.html (2 di 2) [02/07/2001 15.08.27]

Spegnere il Computer

Cerca nel sito:

Spegnere il Computer
q

Spegnere il Computer

Next: Spegnere il Computer Up: Iniziare Previous: Adesso tocca all'utente Non spegnere il computer! Rischiate di perdere dati importanti! Diversamente da molte versioni del DOS, una brutta cosa premere il pulsante di alimentazione quando avete finito di usare il computer. anche errato riavviare la macchina (con il tasto di reset) senza aver prima preso le opportune precauzioni. , per aumentare l'efficienza, fa la cache del disco, cio memorizza temporaneamente parte dei dati permanenti del computer in RAM3.2. L'idea di come Linux pensa che il disco dovrebbe essere e quello che il disco contiene realmente vengono sincronizzati ogni 30 secondi. Per spegnere o riavviare il computer, bisogna passare attraverso una procedura che comunichi a Linux di fermare il processo di cache del disco. Quando avete finito con il computer, ma siete ancora loggati (avete inserito il nome di utente (username) e password), per prima cosa dovete uscire (fare logout). Per farlo, inserite il comando logout. Tutti i comandi vengono inviati battendo il tasto chiamato ``Invio'', ``Enter'' oppure ``Return''. Finch non premete 4#4, non succede niente, e potete cancellare quello che avete scritto e ripartire. 12#12 Adesso pu loggarsi un altro utente.

Next: Spegnere il Computer Up: Iniziare Previous: Adesso tocca all'utente Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node24.html [02/07/2001 15.08.32]

Spegnere il Computer

Cerca nel sito:

Spegnere il Computer
Next: Messaggi del kernel Up: Spegnere il Computer Previous: Spegnere il Computer Se il sistema a utente singolo, potete spegnere il computer appena avete finito di usarlo3.3; per farlo bisogna loggarsi con un account speciale chiamato root. L'account di root l'account dell'amministratore del sistema e permette l'accesso a tutti i file. Se state per spegnere il computer, chiedete la password all'amministratore (in un sistema ad utente singolo, siete voi! Assicuratevi di sapere la password di root). Loggatevi come root: 13#13 Il comando shutdown now prepara il sistema per essere resettato o spento. Attendete il messaggio di conferma che tutto a posto e poi riavviate o spegnete il sistema. (Quando il sistema vi chiede ``Why?'', cio ``perch?'', solo per poterlo comunicare agli altri utenti. Dato che quando spegnete non c' nessuno collegato, potete scrivere quello che volete, o non scrivere niente). Un rapido suggerimento ai pigri: un'alternativa al logout/login di usare il comando su. Da utente normale, dal prompt inserire su e 4#4. Il sistema chiede la password di root e poi vi d i privilegi di root. Adesso potete eseguire lo shutdown del sistema con il comando shutdown now.

Next: Messaggi del kernel Up: Spegnere il Computer Previous: Spegnere il Computer Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node25.html [02/07/2001 15.08.37]

Messaggi del kernel

Cerca nel sito:

Messaggi del kernel


1. La prima cosa che fa Linux decidere che tipo di scheda video e schermo avete, in modo da utilizzare la giusta dimensione dei caratteri (pi piccoli sono i caratteri, pi se ne possono vedere nello schermo contemporaneamente). Linux potrebbe chiedervi se volete un carattere speciale, o pu averne alcuni compilati al suo interno3.4. 14#14 In questo esempio, il proprietario della macchina aveva deciso di volere in fase di compilazione i normali caratteri grandi. compilebinary Inoltre, notate l'errore ortografico nella parola ``color''. Linus ha evidentemente imparato la versione sbagliata dell'inglese. 2. La prossima cosa che fa il kernel dire quanto il sistema veloce, misurando la velocit in ``BogoMIPS''. Un ``MIP'' sta per un milione di istruzioni al secondo, e un ``BogoMIP'' un ``bogus MIP'': quante volte il computer pu non fare assolutamente niente in un secondo (dato che il loop non fa niente, il numero non realmente una misura della velocit del sistema). Linux usa questo numero quando deve restare in attesa di un dispositivo hardware. 15#15 3. Il kernel di Linux comunica anche qualcosa sull'uso della memoria: 16#16 Questo significa che la macchina ha 24 megabytemegabyte di memoria, di cui una parte riservata per il kernel, e il resto pu essere usata dai programmi: si tratta della RAMRAM temporanea che viene usata per l'immagazzinamento di dati a breve termine. Il computer ha anche una memoria a lungo termine chiamata hard disk (o disco fisso);hard disk il contenuto dell'hard disk viene salvato anche quando il computer viene spento. 4. Durante la procedura di boot, Linux fa dei test su diversi componenti hardware e stampa dei messaggi anche su questi test. 17#17

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node26.html (1 di 3) [02/07/2001 15.08.51]

Messaggi del kernel

5. Ora Linux si sposta alla configurazione della rete.rete Quello che segue dovrebbe essere spiegato nella The Linux Networking Guide, e va oltre gli scopi di questo libro. 18#18 Linux supporta la FPU , l'unit a virgola mobile, un chip speciale (o parte di un chip, nel caso della CPU 80486), che permette di fare calcoli matematici con numeri non interi. Alcuni di questi chip sono difettosi, e quando Linux tenta di identificare questi chip, la macchina va in ``crash'', cio la macchina si ferma. Se questo succede, dovreste vedere: 19#19 Altrimenti vedreste: 20#20 se state usando un 486DX. Se state usando un 386 con un 387, vedreste: 21#21 6. Fa ora un altro test sull'istruzione di ``halt''. 22#22 7. Dopo la configurazione iniziale, Linux stampa una linea che identifica se stesso. Dice quale versione , con quale versione del compilatore C GNU stato compilato, e quando. 23#23 8. Il driverdriver delle porte seriali ha iniziato a chiedere informazioni sul tipo di hardware. Un driver una parte del kernel che controlla un dispositivo, normalmente una periferica, ed responsabile dei dettagli della comunicazione tra la CPU ed il dispositivo. Permette a chi scrive applicazioni utente di concentrarsi sull'applicazione, e non preoccuparsi di come il computer lavora realmente. 24#24 Qui ha trovato 3 porte seriali. Una porta seriale l'equivalente di una porta COM del DOS, ed normalmente usata con modem e mouse. Quello che sta dicendo che la porta seriale 0 (COM1) ha l'indirizzo 0x03f8. Quando questa interrompe il kernel, generalmente per comunicare che stanno arrivando dati, essa usa l'IRQ 4. Un IRQ un segnale di una periferica che chiama il software. Ogni porta seriale ha il proprio chip di controllo. Un chip comune per una porta il 16450; altri valori possibili sono 8250 e 16550. 9. Adesso tocca alle porte parallele. Una porta parallela normalmente connessa ad una stampante, e i nomi delle porte parallele (in ) iniziano con lp. lp sta per Line Printer, anche se oggi sarebbe pi adatto Laser Printer (in ogni caso, Linux comunicher tranquillamente con qualsiasi tipo di stampante parallela: ad aghi, a getto d'inchiostro o laser). 25#25 Questo messaggio dice che stata trovata una porta parallela e si usa il driver standard. 10. Il kernel controlla ora le unit floppy. In questo esempio, la macchina ha due drive. In DOS, il drive ``A'' un floppy da 26#26 pollici, e il drive ``B'' un floppy da 27#27 pollici. Linux chiama
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node26.html (2 di 3) [02/07/2001 15.08.51]

Messaggi del kernel

il drive ``A'' fd0 e il drive ``B'' fd1. 28#28 11. Il prossimo driver a partire nel mio esempio il driver SLIP, che stampa un messaggio sulla sua configurazione. 29#29 12. Il kernel controlla anche la presenza di dischi fissi, controllando le partizioni presenti in ciascuno di essi. Una partizione una suddivisione logica in un disco, che viene usata per tenere separati i sistemi operativi, in modo da evitare interferenze. In questo esempio, il computer ha due dischi fissi (hda, hdb) con rispettivamente quattro e una partizione. 30#30 13. Infine Linux esegue il mountmount della partizione di root. La partizione di root la partizione del disco dove risiede il sistema operativo . Quando Linux ``monta'' questa partizione, questa viene marcata come partizione disponibile per l'uso. 31#31

Messaggi a run-time

Next: Messaggi a run-time Up: Iniziare Previous: Spegnere il Computer Quando avviate il computer, passano sullo schermo una serie di messaggi che descrivono l'hardware collegato al vostro computer. Questi messaggi vengono scritti dal kernel di . In questa sezione cercher di descriverli e spiegarli. Naturalmente, i messaggi stampati dal kernel variano da macchina a macchina. Io descriver quelli della mia. L'esempio seguente contiene tutti i messaggi standard ed alcuni messaggi specifici. (In generale, la macchina di cui sto parlando una configurata al minimo, e non ci saranno molti messaggi specifici dell'hardware). L'esempio stato fatto con la versione 1.3.55 di --una delle pi recenti nel momento in cui sto scrivendo.

Next: Messaggi a run-time Up: Iniziare Previous: Spegnere il Computer Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node26.html (3 di 3) [02/07/2001 15.08.51]

Messaggi a run-time

Cerca nel sito:

Messaggi a run-time
q

32#32

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: La shell di Unix Up: Messaggi del kernel Previous: Messaggi del kernel Il kernel di Linux manda talvolta dei messaggi allo schermo. Qui sotto c' un elenco di alcuni di essi con il loro significato. Spesso questi messaggi indicano che qualcosa non va. Alcuni di essi sono critici, cio significano che il sistema operativo (e tutti i programmi!) smettono di funzionare. Quando si presentano, dovreste scrivervi quello che dicono e quello che stavate facendo quando successo, e mandarli a Linus. Vedere la sezione . Per fortuna, alcuni di questi messaggi sono soltanto informazioni--si spera, dato che li vedrete pi spesso! Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node27.html [02/07/2001 15.08.53]

La shell di Unix

Cerca nel sito:

La shell di Unix
q

Comandi di Unix
r

Un tipico comando Unix

q q

Come cavarsela da soli Memorizzare le informazioni


r r r

Vedere le directory con ls La directory corrente e cd Creare e distruggere le directory cp come un amanuense Eliminare file con rm Una scorciatoia molto utile

Spostare Informazioni
r r r

Next: Comandi di Unix Up: Linux Guida dell'Utente Previous: Messaggi a run-time C shellBourne shell fileinputoutput

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node28.html [02/07/2001 15.08.55]

Comandi di Unix

Cerca nel sito:

Comandi di Unix
q

Un tipico comando Unix

Next: Un tipico comando Unix Up: La shell di Unix Previous: La shell di Unix Quando vi loggate la prima volta in un sistema Unix, vi si presenta qualcosa del genere: 33#33 Si chiama prompt. Come pu suggerire il nome, vi chiede di inserire un comando. Ogni comando UNIX una sequenza di lettere, numeri e caratteri, senza spazi. Alcuni comandi validi sono mail, cat e CMU_is_Number-5. Alcuni caratteri non sono permessi--verranno elencati pi avanti. UNIX anche case-sensitive (sensibile al maiuscolo/minuscolo); cio cat e Cat sono comandi diversi4.1. Il prompt viene visualizzato da un programma speciale, la shell . La shell accetta comandi e li esegue; esistono anche programmi scritti in un linguaggio proprio della shell, e si chiamano ``shell script'' . In UNIX ci sono due tipi principali di shell, le Bourne shell e le C shell. Le Bourne shell prendono il nome dal loro inventore, Steven Bourne. Steven Bourne ha scritto la shell UNIX originale, sh , e da allora la maggior parte delle shell hanno nomi che finiscono in sh per indicare che sono estensioni dell'idea originale. Ci sono molte implementazioni della sua shell, e si chiamano tutte Bourne shell. comune anche un'altra classe di shell, la C shell (originariamente implementata da Bill Joy ). Tradizionalmente, le Bourne shell vengono usate per gli script di shell e per compatibilit con l'originale, e le C shell sono usate per l'uso interattivo (le C shell hanno il vantaggio di avere caratteristiche di interattivit migliori, ma sono pi difficili da programmare). Linux viene fornito con una Bourne shell chiamata bash , scritta dalla Free Software Foundation . bash sta per Bourne Again Shell, uno dei tanti brutti giochi di parole in Unix. una Bourne shell ``avanzata'': contiene le caratteristiche standard di programmazione normalmente presenti nelle Bourne shell, insieme con molte caratteristiche di interattivit normalmente presenti nelle C shell. bash la shell di default che viene usata con . Quando vi loggate, il prompt viene mostrato da bash, e state eseguendo il vostro primo programma Unix, la bash shell. Finch sarete loggati, la bash shell continuer a girare.

Next: Un tipico comando Unix Up: La shell di Unix Previous: La shell di Unix Eugenia Franzoni

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node29.html (1 di 2) [02/07/2001 15.09.00]

Comandi di Unix

1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node29.html (2 di 2) [02/07/2001 15.09.00]

Un tipico comando Unix

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Un tipico comando Unix


q

Se aveste sbagliato a scrivere cat, avreste visto: 35#35 In questo modo la shell vi informa che non ha trovato un programma chiamato ``ct'' e propone un altro prompt per lavorare. Ricordatevi, UNIX fa differenze tra maiuscolo e minuscolo: CAT errato. Potreste aver anteposto alcuni spazi bianchi prima del comando, come qui4.2: 36#36 Questo produce il risultato corretto ed esegue il programma cat. Potreste anche aver premuto 4#4 in una riga da solo. Andate avanti--non successo assolutamente niente.

Next: Come cavarsela da soli Up: Comandi di Unix Previous: Comandi di Unix Il primo comando da conoscere cat . Per usarlo, digitate cat e premete 4#4: 34#34 Se il cursore si trova da solo in una nuova linea, avete fatto tutto giusto. Ci sono diverse varianti che avreste potuto scrivere--alcune funzionano, altre no. Presumo che adesso siate in cat. Probabilmente vi state chiedendo che cosa fa. No, non un gioco. cat un potente strumento anche se per il momento non sembra. Scrivete qualcosa e premete 4#4. Quello che dovreste vedere : 37#37 (Il testo obliquo indica quello che ha scritto l'utente.) Quello che sembra fare cat copiare sullo schermo quello che l'utente scrive. A volte utile, ma non ora. Usciamo da questo programma e passiamo ad altri comandi che abbiano un'utilit pi evidente. Per chiudere molti comandi Unix, digitate 38#384.3. 38#38 il carattere di fine-file (End-Of-File), o EOF per abbreviare . In alternativa, sta per fine-del-testo, a seconda di quale libro avete letto. Mi riferir ad esso come fine-file. un carattere di controllo che comunica ai programmi UNIX che voi (o un altro programma) avete finito di inserire dati. Quando cat vede che non state scrivendo niente altro, termina. Per avere un'idea, provate il programma sort . Come indica il nome, un programma di ordinamento: se inserite un paio di linee e poi premete 38#38, le visualizzer in ordine alfabetico. Questo tipo di programmi sono chiamati filtrifilter, perch prendono un testo, lo filtrano e lo mandano fuori in modo diverso. Sia cat che sort sono filtri particolari: cat particolare perch legge il testo per linee e non fa nessuna azione su di esso, sort perch legge per linee e non rende nessun output finch non ha visto il carattere EOF. Molti filtri agiscono linea per linea: leggono una linea, fanno dei calcoli, e rendono come output una linea diversa.

Next: Come cavarsela da soli Up: Comandi di Unix Previous: Comandi di Unix Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node30.html [02/07/2001 15.09.05]

Come cavarsela da soli

Cerca nel sito:

Come cavarsela da soli


Next: Memorizzare le informazioni Up: La shell di Unix Previous: Un tipico comando Unix Il comando man mostra delle pagine di riferimento per il comando4.4 che specificate. Per esempio: 39#39 C' una pagina intera di informazioni su cat. Provate, ma non aspettatevi di capire tutto. Le pagine man assumono che voi conosciate diverse cose che ancora non sapete. Quando avrete letto la pagina, c' probabilmente un rettangolino in basso sullo schermo, con la scritta -more-, Line 1 o qualcosa di simile. il prompt di more, ed imparerete ad amarlo. Invece di lasciar scorrere il testo, man lo ferma alla fine di ogni videata, e aspetta. Se volete proseguire, premete 40#40 e avanzerete di una videata. Se volete uscire (quit) dalla pagina che state leggendo, premete 41#41: ritornerete al prompt della shell, pronta a ricevere un nuovo comando. Si possono anche dare delle opzioni a man. Per esempio, poniamo che siate interessati ad un comando per interagire con il Postscript, il linguaggio di controllo delle stampanti di Adobe. Digitate man -k ps o man -k Postscript, otterrete una lista di comandi, chiamate di sistema e altre parti documentate di UNIX che hanno la parola ``ps'' (o ``Postscript'') nel nome o nella descrizione breve; pu essere molto utile quando state cercando un programma che faccia qualcosa, ma non sapete il suo nome--o neanche se esiste!

Next: Memorizzare le informazioni Up: La shell di Unix Previous: Un tipico comando Unix Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node31.html [02/07/2001 15.09.07]

Memorizzare le informazioni

Cerca nel sito:

Memorizzare le informazioni
/home/larry/joe

Per prima cosa, siamo nella directory root.

Questo sta per la directory chiamata home. Si trova dentro la directory root.

Questa la directory larry, che sta dentro home. joe dentro larry. Un percorso si pu riferire sia ad una directory che ad un file,

quindi joe pu essere sia l'uno che l'altro. Tutto quello che precede l'ultimo

elemento sono directory.

Next: Vedere le directory con Up: La shell di Unix Previous: Come cavarsela da soli I filtri sono molto utili quando si utenti esperti, ma hanno un piccolo problema: come si memorizzano le informazioni? Sicuramente non vorrete scrivere tutto ogni volta che utilizzate un programma! Certo che no: UNIX fornisce file e directorydirectory. Una directory simile ad una cartella: contiene pezzi di carta, o file (archivi). Una grossa cartella pu anche contenere altre cartelle--le directory possono essere contenute in altre directory. In Unix, la struttura delle directory e dei file chiamata filesystem . Inizialmente, il filesystem consiste in una sola directory, chiamata directory di ``root'' . Dentro questa directory ci sono altre directory, e dentro queste directory ci sono file e ancora altre directory.4.5 Ogni file e ogni directory ha un nome. Ha sia un nome breve, che pu essere lo stesso di un altro file o directory in un altro punto del sistema, e un nome esteso, che univoco. Un nome breve per un file potrebbe essere joe, mentre il suo ``nome esteso'' potrebbe essere /home/larry/joe. Il nome esteso chiamato comunemente pathpath (percorso). Il path pu essere decodificato in una sequenza di directory. Per esempio, vediamo come viene letto /home/larry/joe: Un modo semplice per visualizzare questa struttura usare un diagramma ad albero. Per vedere un diagramma di un tipico sistema , guardate la figura . Notate che questo diagramma non completo--un sistema Linux reale ha pi di 8000 file!--e mostra solo alcune delle directory pi comuni. Cos ci possono essere alcune directory nel diagramma che non esistono nel vostro sistema, e certamente il vostro sistema ha directory

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node32.html (1 di 2) [02/07/2001 15.09.14]

Memorizzare le informazioni

non elencate qui. =1.0pt Figure: Un tipico albero di directory Unix. 42#42

q q q

Vedere le directory con ls La directory corrente e cd Creare e distruggere le directory

Next: Vedere le directory con Up: La shell di Unix Previous: Come cavarsela da soli Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node32.html (2 di 2) [02/07/2001 15.09.14]

Vedere le directory con ls

Cerca nel sito:

Vedere le directory con ls


ls [-arF] [directory]

Next: La directory corrente e Up: Memorizzare le informazioni Previous: Memorizzare le informazioni Adesso che sapete che esistono i file e le directory, ci sono vari modi per manipolarli: vediamo quali sono. Il comando ls uno dei pi importanti: fa una lista di file. Se provate ls come comando, vedrete: 43#43 giusto, non vedete niente. UNIX intenzionalmente conciso: se non esistono file non d niente, invece di dire ``nessun file''. Cos l'assenza di dati il modo in cui ls dice che non ha trovato nessun file. Ma allora, se ho detto che possono esserci 8000 o pi file in giro, dove sono? Arriviamo quindi al concetto di directory ``corrente''. Potreste vedere nel prompt che la vostra directory corrente /home/larry, dove non avete ancora nessun file. Se volete la lista dei file di una directory pi importante, provate con la directory di root: 44#44 Nel precedente comando, ``ls /'', la directory (``/'') un parametro. La prima parola del comando il nome del comando, e tutto il resto sono parametri. I parametri generalmente modificano l'oggetto del comando--per ls, i parametri indicano di quale directory si vuole l'elenco. Alcuni comandi hanno speciali parametri chiamati opzioni o switch. Per vederlo, provate: 45#45 -F un'opzione, cio un tipo speciale di parametro che comincia con un trattino e modifica il modo di agire del programma, ma non il suo oggetto. Per ls, -F un'opzione che permette di vedere quali sono le directory, quali i file speciali e quali i file normali. Tutti quelli che terminano con una barra sono directory. Parleremo ancora delle caratteristiche di ls pi avanti: un programma sorprendentemente complesso! Ora, ci sono due lezioni da imparare qui. Per prima cosa dovete imparare quello che fa ls. Provate un po' di directory mostrate nella figura , e guardate cosa contengono. Naturalmente alcune saranno vuote, e alcune avranno molti, molti file. Suggerisco di provare ls sia con sia senza l'opzione -F. Per esempio, ls /usr/local sar pi o meno: 46#46 La seconda lezione pi generale: molti comandi UNIX sono simili a ls, cio hanno opzioni, che generalmente consistono di un trattino seguito da un carattere, e parametri. Diversamente da ls, alcuni comandi richiedono determinati parametri e/o opzioni. Per mostrare come un comando usa opzioni e parametri, useremo la seguente forma: Questo un modello di comando e lo vedrete ogni volta che viene
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node33.html (1 di 2) [02/07/2001 15.09.24]

Vedere le directory con ls

introdotto un nuovo comando. La prima parola il comando stesso (in questo caso ls). Dopo il comando ci sono i parametri; quelli opzionali vengono racchiusi tra parentesi quadre (``['' e ``]''). Le meta-variabili sono inclinate--sono parole che vanno sostituite con i parametri reali (ad esempio, qui sopra vedete directory, che va sostituito con il nome di una directory reale). Le opzioni sono un caso speciale. Vengono racchiuse tra parentesi, ma se ne pu usare una sola senza usarle tutte. Ad esempio, con le tre sole opzioni date qui sopra per ls, si hanno otto diversi modi per dare il comando: con o senza ciascuna delle opzioni. (Paragonate ls -R con ls -F.)

Next: La directory corrente e Up: Memorizzare le informazioni Previous: Memorizzare le informazioni Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node33.html (2 di 2) [02/07/2001 15.09.24]

La directory corrente e cd

Cerca nel sito:

La directory corrente e cd
Next: Creare e distruggere le Up: Memorizzare le informazioni Previous: Vedere le directory con

pwd Usare le directory sarebbe scomodo se doveste scrivere il percorso completo ogni volta che voleste accedere ad una directory. Invece, le shell UNIX hanno una caratteristica chiamata directory ``corrente'' o ``di lavoro''. Il vostro setup probabilmente vi mostra la directory corrente nel prompt: /home/larry; se non lo fa, provate il comando pwd, per present working directory (visualizza la directory di lavoro). Talvolta il prompt vi mostrer il nome della macchina: una cosa del genere utile solo in un ambiente di rete con molte macchine diverse. 47#47 cd [directory] Come potete vedere, pwd mostra la vostra directory corrente4.6--un comando molto semplice. Molti comandi agiscono, per default, nella directory corrente. Per esempio, ls senza nessun parametro ne mostra il contenuto. Possiamo cambiare la directory corrente usando il comando cd : per esempio, provate: 48#48 Se omettete il parametro opzionale directory, ritornerete alla vostra home directory, o directory di origine, altrimenti cd vi porter nella directory specificata. Per esempio: 49#49 Come potete vedere, cd vi permette di usare percorsi sia assoluti sia relativi: un percorso ``assoluto'' inizia con / e specifica tutte le directory prima della directory cercata, un percorso relativo preso in relazione alla directory corrente.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node34.html (1 di 2) [02/07/2001 15.09.47]

La directory corrente e cd

Nell'esempio precedente, quando ero in /usr, ho fatto uno spostamento relativo a local/bin-- local una directory dentro usr, e bin una directory dentro local. Ci sono due directory usate solamente nei percorsi relativi: ``.'' e ``..'' . La directory ``.'' si riferisce alla directory corrente e ``..'' la directory madre, cio quella che contiene la directory corrente. Sono directory ``scorciatoia'': esistono in ogni directory, ma non seguono il concetto di ``cartella in cartella''. Anche la directory di root ha una directory madre-- la directory di root stessa! Il file ./chapter-1 il file chiamato chapter-1 nella directory corrente. Occasionalmente necessario inserire il ``./'' per far funzionare alcuni comandi, sebbene questo sia raro. In molti casi, ./chapter-1 e chapter-1 sono la stessa cosa. La directory ``..'' molto utile per tornare indietro nell'albero: 50#50 In questo esempio, sono passato nella directory madre usando cd .. e ho fatto l'elenco della directory /usr/src da /usr/local usando ../src. Notate che se fossi stato in /home/larry, inserire ls -F ../src non sarebbe andato bene! La directory ~/ equivalente alla vostra home directory : 51#51 Potete vedere che non c' niente nella vostra home directory. ~/ diverr pi utile quando impareremo come manipolare i file.
Next: Creare e distruggere le Up: Memorizzare le informazioni Previous: Vedere le directory con Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node34.html (2 di 2) [02/07/2001 15.09.47]

Creare e distruggere le directory

Cerca nel sito:

Creare e distruggere le directory


Next: Spostare Informazioni Up: Memorizzare le informazioni Previous: La directory corrente e

mkdir directory1 [directory2 ...directoryN] Creare directory estremamente semplice sotto Unix, e pu essere un ottimo strumento di organizzazione. Per creare una nuova directory, usate il comando mkdir. mkdir sta per make directory (crea directory). Vediamo un piccolo esempio per vedere come lavora questo comando: 52#52 mkdir pu gestire pi di un parametro, e ne interpreta ognuno come una directory da creare. Si possono specificare sia percorsi assoluti sia relativi; nell'esempio precedente, report-1993 un percorso relativo. 53#53 L'opposto di mkdir rmdir per remove directory (rimuovi directory). rmdir funziona esattamente come mkdir. Un esempio di rmdir : 54#54 Come potete vedere, rmdir si rifiuta di rimuovere directory che non esistono, come anche directory che contengono qualcosa (ricordatevi che report-1993 ha una subdirectory all'interno, chap2!). C' un'altra cosa interessante su rmdir: cosa succede se tentate di rimuovere la vostra directory corrente? Proviamo: 55#55 Un'altra situazione che potreste considerare cosa succede se provate a rimuovere la madre della directory corrente. In effetti questo non un problema: la madre della directory corrente non vuota, e quindi non pu essere rimossa!

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node35.html (1 di 2) [02/07/2001 15.09.50]

Creare e distruggere le directory

Next: Spostare Informazioni Up: Memorizzare le informazioni Previous: La directory corrente e Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node35.html (2 di 2) [02/07/2001 15.09.50]

Spostare Informazioni

Cerca nel sito:

Spostare Informazioni
q q q

cp come un amanuense Eliminare file con rm Una scorciatoia molto utile

Next: cp come un amanuense Up: La shell di Unix Previous: Creare e distruggere le

Tutte queste directory sono bellissime, ma non ci servono a niente, se non come posto dove immagazzinare i dati. Gli Dei dello UNIX hanno visto questo problema, e l'hanno risolto dando agli utenti i file. Impareremo a creare e modificare i file nei prossimi capitoli. I principali comandi per manipolare i file in UNIX sono cp , mv e rm . Rispettivamente questi stanno per copy (copia), move (sposta) e remove (rimuovi).
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node36.html [02/07/2001 15.09.52]

cp come un amanuense

Cerca nel sito:

cp come un amanuense
Next: Eliminare file con rm Up: Spostare Informazioni Previous: Spostare Informazioni

cp [-i] origine destinazione cp [-i] file1 file2 ...fileN directory di destinazione4.7 cp uno strumento molto utile sotto Unix, ed estremamente potente: permette ad una persona di copiare pi informazioni in un secondo di un monaco amanuense in un anno. Fate attenzione con cp se non avete molto spazio nel disco. Nessuno vuole vedere il messaggio Error saving-disk full mentre sta copiando dei dati importanti. cp pu anche sovrascrivere i file esistenti senza avvisare--parler di questi pericoli pi avanti. Per prima cosa parleremo della prima linea del modello del comando: il primo parametro di cp il file da copiare, il secondo dove copiarlo. Si pu copiare con un nuovo nome o su una diversa directory. Proviamo alcuni esempi: 56#56 Con il primo cp ho copiato il file /etc/passwd , che contiene i nomi di tutti gli utenti del sistema UNIX e le loro password (criptate), nella mia home directory. cp non elimina il file sorgente; in questo modo non ho fatto niente che possa danneggiare il sistema. Cos adesso esistono due copie di /etc/passwd nel mio sistema, entrambe chiamate passwd, una nella directory /etc e una in /home/larry. Poi ho creato una terza copia di /etc/passwd quando ho scritto cp passwd frog--le tre copie sono: /etc/passwd, /home/larry/passwd e /home/larry/frog. Il contenuto di questi tre file lo stesso, anche se hanno nomi diversi. cp pu copiare file tra directory se il primo parametro un file e il secondo una directory; in questo caso, il nome breve del file resta lo stesso. Pu copiare un file e cambiarne il nome se entrambi
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node37.html (1 di 2) [02/07/2001 15.09.56]

cp come un amanuense

i parametri sono nomi di file. Questo un pericolo di cp: se io avessi scritto cp /etc/passwd /etc/group, cp avrebbe creato un nuovo file con contenuto identico a passwd e l'avrebbe chiamato group, ma se /etc/group esisteva gi, cp avrebbe distrutto il vecchio file senza darvi la possibilit di salvarlo! (Non avrebbe nemmeno stampato un messaggio facendovi presente che stavate distruggendo un file copiandocene un altro sopra!) Vediamo un altro esempio di cp: 57#57 Come ho usato cp? Evidentemente cp accetta pi di due parametri ( la seconda linea nel modello del comando). Quello che ha fatto il comando precedente stato copiare tutti i file elencati (frog e passwd) e metterli nella directory passwd_version. In effetti cp pu prendere un numero qualsiasi di parametri, interpretando i primi n-1 parametri come file da copiare, e l' 58#58 come directory in cui copiarli. Non si possono rinominare i file quando se ne copiano pi di uno alla volta--mantengono sempre il loro nome. Questo porta ad una domanda interessante: cosa succede se scrivo cp inittab pippo pluto, dove inittab e pippo esistono e pluto non una directory? Provate e vedrete.
Next: Eliminare file con rm Up: Spostare Informazioni Previous: Spostare Informazioni Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node37.html (2 di 2) [02/07/2001 15.09.56]

Eliminare file con rm

Cerca nel sito:

Eliminare file con rm


Next: Una scorciatoia molto utile Up: Spostare Informazioni Previous: cp come un amanuense

rm [-i] file1 file2 ...fileN Adesso che abbiamo imparato a creare milioni di file con cp (e credetemi, troverete presto nuovi modi per creare altri file), utile imparare anche come eliminarli. molto semplice, il comando che state cercando rm, e funziona proprio come state pensando: qualsiasi file che date come parametro a rm viene cancellato. Per esempio: 59#59 Come potete vedere, rm non molto amichevole: non solo non chiede conferma, ma elimina file anche se l'intera riga non corretta, che pu essere pericoloso. Considerate la differenza tra questi due comandi: 60#60 e questo 61#61 Come potete vedere, cambiare un solo carattere comporta un esito molto diverso del comando. vitale controllare il comando inserito prima di battere 4#4.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node38.html [02/07/2001 15.10.00]

Una scorciatoia molto utile

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Una scorciatoia molto utile


Next: Il sistema X Window Up: Spostare Informazioni Previous: Eliminare file con rm

mv [-i] vecchio-nome nuovo-nome mv [-i] file1 file2 ...fileN nuova-directory Infine, l'altro comando che dovrete conoscere mv. mv simile a cp, tranne che elimina il file originale dopo averlo copiato. quindi molto simile all'uso di cp e rm insieme. Vediamo cosa possiamo fare: 62#62 Come potete vedere, mv rinomina un file se il secondo parametro un file. Se il secondo parametro una directory, mv sposta il file nella nuova directory mantenendo lo stesso nome breve. Dovete fare molta attenzione con mv--non controlla per vedere se il file di destinazione esiste gi, e rimuover tutti i file che si trova tra i piedi. Per esempio, se ho gi un file chiamato pippo nella mia directory report, il comando mv pippo report eliminer il file ~/report/pippo e lo sostituir con ~/pippo. In effetti, c' un modo per far s che rm, cp e mv chiedano conferma prima di eliminare file. Tutti e tre i comandi accettano l'opzione -i, con la quale chiedono conferma all'utente prima di cancellare qualsiasi file. Se usate un alias, potete fare in modo che la shell faccia rm -i automaticamente quando digitate rm. Impareremo pi su questo argomento nella Sezione a pagina .
Next: Il sistema X Window Up: Spostare Informazioni Previous: Eliminare file con rm Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node39.html [02/07/2001 15.10.02]

Il sistema X Window

Cerca nel sito:

Il sistema X Window
q

Avviare e fermare il sistema X Window


r r

Avviare X Uscire da X

q q

Cos' il sistema X Window? Cos' questa roba sul mio schermo?


r r

XClock XTerm Quando vengono create nuove finestre Mettere a fuoco Spostare le finestre Profondit Iconizzazione Ridimensionare Massimizzazione Men Geometria Display Pulsanti Barre dei Menu

I gestori di finestre
r r r r r r r r

Attributi di X
r r

Caratteristiche comuni
r r

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node40.html (1 di 2) [02/07/2001 15.10.04]

Il sistema X Window

Barre di scorrimento
s s

Barre di scorrimento Athena Barre di scorrimento Motif

Next: Avviare e fermare il Up: Linux Guida dell'Utente Previous: Una scorciatoia molto utile

Questo capitolo si applica solamente a chi usa il sistema X Window. Se vi trovate con uno schermo pieno di finestre, a colori o con un cursore che si sposta solo con il mouse, state usando X11 (se il vostro schermo consiste di caratteri bianchi su sfondo nero, non state usando X. Se lo volete avviare, date un'occhiata alla Sezione ).
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node40.html (2 di 2) [02/07/2001 15.10.04]

Avviare e fermare il sistema X Window

Cerca nel sito:

Avviare e fermare il sistema X Window


q q

Avviare X Uscire da X

Next: Avviare X Up: Il sistema X Window Previous: Il sistema X Window

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node41.html [02/07/2001 15.10.05]

Avviare X

Cerca nel sito:

Avviare X
Next: Uscire da X Up: Avviare e fermare il Previous: Avviare e fermare il

Anche se X non parte automaticamente quando vi loggate, possibile avviarlo dal normale prompt della shell testuale. Ci sono due comandi possibili per avviare X, startx o xinit ; provate prima startx: se la shell dice che non trova il comando, provate ad usare xinit e guardate se viene avviato X. Se nessuno dei due funziona, probabilmente X non installato nel vostro sistema--consultate la documentazione locale della vostra distribuzione. Se il comando funziona ma alla fine vi ritrovate con lo schermo nero con il prompt della shell, X installato ma non configurato. Consultate la documentazione della vostra distribuzione per sapere come fare.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node42.html [02/07/2001 15.10.06]

Uscire da X

Cerca nel sito:

Uscire da X
Next: Cos' il sistema X Up: Avviare e fermare il Previous: Avviare X

A seconda di come X configurato, ci sono due possibili modi per uscirne. Il primo si applica se il vostro gestore di finestre controlla se X viene o non viene eseguito; se cos, dovrete uscire da X usando un men (vedere la Sezione a pagina ). Per visualizzare i men, cliccate con un pulsante del mouse sullo sfondo. La voce del men che ci interessa ``Exit Window Manager'' o ``Exit X'' o qualcosa di simile. Provate a cercarla (ricordatevi, pu esserci pi di un men--provate i vari pulsanti del mouse!) e sceglietela. L'altro metodo funziona se un particolare xterm a controllare X; se questo il caso, c' probabilmente una finestra con titolo ``login'' o ``system xterm'': per uscire da X, spostate il cursore in quella finestra e digitate ``exit''. Se X si avviato automaticamente quando vi siete loggati, uno di questi metodi dovrebbe riuscire a chiudere completamente la vostra sessione. Per riaprirla, fate di nuovo il login. Se avete avviato X manualmente, questi metodi vi dovrebbero far tornare al prompt del modo testo (se volete fare logout, digitate logout al prompt testuale).
Next: Cos' il sistema X Up: Avviare e fermare il Previous: Avviare X Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node43.html [02/07/2001 15.10.08]

Cos' il sistema X Window?

Cerca nel sito:

Cos' il sistema X Window?


Next: Cos' questa roba sul Up: Il sistema X Window Previous: Uscire da X

Il sistema X Window un metodo di lavoro grafico distribuito, sviluppato originariamente al Massachusetts Institute of Technology . Da allora stato passato ad un'associazione di venditori (appunto, l'``X Consortium'') e viene mantenuto da loro. Il sistema X Window (da qui in poi abbreviato con ``X''5.1) ha nuove versioni ogni pochi anni, chiamate release. Nel momento in cui scrivo, l'ultima versione la X11R6, o release 6. L'undici in X11 il numero di versione ufficiale, ma non c' stata una nuova versione in parecchi anni, n ce n' una in programma. Ci sono due termini quando si parla di X che dovrebbero esservi familiari: il clientclient un programma X: per esempio, xterm il client che mostra la shell quando vi loggate; il serverserver un programma che fornisce servizi ai programmi client, per esempio, il server disegna la finestra di xterm e comunica con l'utente. Siccome il client e il server sono due programmi separati, possibile eseguire il client e il server su due macchine fisicamente separate. Oltre a fornire metodi standard per eseguire grafica, potete anche eseguire un programma su una macchina remota (anche oltreoceano, se volete!) e averlo visualizzato sulla stazione di lavoro che avete di fronte. Un terzo termine che dovrebbe esservi familiare il gestore delle finestregestore delle finestre, o window managerwindow manager. Il gestore delle finestre uno speciale client che comunica al server dove posizionare le varie finestre e fornisce all'utente i mezzi per spostarle sullo schermo. Il server, da solo, non fa niente per l'utente, ma fornisce solamente un appoggio tra l'utente e il client.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node44.html (1 di 2) [02/07/2001 15.10.09]

Cos' il sistema X Window?

Next: Cos' questa roba sul Up: Il sistema X Window Previous: Uscire da X Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node44.html (2 di 2) [02/07/2001 15.10.09]

Cos' questa roba sul mio schermo?

Cerca nel sito:

Cos' questa roba sul mio schermo?


Next: XClock Up: Il sistema X Window Previous: Cos' il sistema X

Quando avviate X, vengono avviati parecchi programmi: per primo viene avviato il server, poi normalmente diversi client. Sfortunatamente questo passaggio non standardizzato nelle varie distribuzioni. probabile che tra questi client ci sia un gestore di finestre, fvwm o twm, un prompt, xterm, e un orologio, xclock.
Figure: Un esempio di una schermata standard di X. In questo caso, l'utente usa twm. L'orologio standard stato sostituito da uno trasparente, oclock. 63#63

q q

XClock XTerm

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node45.html [02/07/2001 15.10.10]

XClock

Cerca nel sito:

XClock
Next: XTerm Up: Cos' questa roba sul Previous: Cos' questa roba sul

xclock [-digital] [-analog] [-update secondi] [-hands colore] Parler prima del pi semplice: xclock funziona esattamente come vi aspettate. Segna i secondi, i minuti e le ore in una piccola finestra. Nessun tipo di interazione con mouse e tasti nella finestra di xclock ha effetto su esso--questo tutto quello che fa. In effetti ci sono varie opzioni che si possono dare al programma per farlo funzionare in modi diversi: per esempio, xclock -digital crea un orologio digitale, xclock -update 1 crea una lancetta dei secondi che si muove ogni secondo, e -update 5 crea una lancetta dei secondi che si muove ogni 5 secondi. Per maggiori informazioni sulle opzioni di xclock, consultate la sua pagina man--man xclock. Se volete provare ad eseguire un po' di xclock, dovreste probabilmente leggere la sezione (Multitasking) per imparare come farli girare in aggiunta ai vostri normali programmi (se avviate un xclock in primo piano--il modo normale di avviare un programma--e ve ne volete sbarazzare, digitate 64#64).
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node46.html [02/07/2001 15.10.11]

XTerm

Cerca nel sito:

XTerm
Next: I gestori di finestre Up: Cos' questa roba sul Previous: XClock

Una finestra con un prompt all'interno (qualcosa probabilmente simile a: /home/larry#) controllata da un programma chiamato xterm . xterm un programma stranamente complicato. A prima vista non sembra fare granch, ma in realt svolge moltissimi compiti: xterm emula un terminale in modo che le applicazioni UNIX in modo testo vi possano lavorare correttamente, e mantiene un buffer di informazioni, in modo che ci si possa riferire ai comandi dati in precedenza (per scoprire come usarlo, guardate la Sezione ). Per la maggior parte di questo libro impareremo ad usare UNIX da riga di comando, e questo si pu fare da dentro la finestra xterm. Per interagire con xterm, normalmente dovete spostare il puntatore del mouse (generalmente a forma di ``X'' o di freccia) nella finestra di xterm, ma questo comportamento dipende dal gestore delle finestre. Uno dei modi per avviare un programma da dentro X attraverso un xterm. Dato che i programmi X sono programmi UNIX standard, anche loro possono essere avviati da dentro un normale prompt di comandi come gli xterm. Far girare un programma a lungo termine da un xterm bloccherebbe l'xterm finch il programma non finisce, quindi normalmente i programmi X si avviano in background. Per altre informazioni su questo, vedere la Sezione .
Next: I gestori di finestre Up: Cos' questa roba sul Previous: XClock Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node47.html (1 di 2) [02/07/2001 15.10.13]

XTerm

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node47.html (2 di 2) [02/07/2001 15.10.13]

I gestori di finestre

Cerca nel sito:

I gestori di finestre
q q q q q q q q

Quando vengono create nuove finestre Mettere a fuoco Spostare le finestre Profondit Iconizzazione Ridimensionare Massimizzazione Men

Next: Quando vengono create nuove Up: Il sistema X Window Previous: XTerm

In Linux vengono comunemente usati due diversi gestori di finestre: il primo, twm, che l'abbreviazione di ``Tab Window Manager'', pi grande dell'altro che viene generalmente usato, fvwm (fvwm sta per ``F(?) Virtual Window Manager''--l'autore ha trascurato di indicare per cosa stia esattamente la f). Sia twm sia fvwm sono altamente configurabili, e questo significa che non posso dirvi esattamente cosa fanno i vari tasti nella vostra particolare configurazione. Per imparare la configurazione di twm, guardate la sezione . La configurazione di fvwm spiegata nella sezione .
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node48.html (1 di 2) [02/07/2001 15.10.14]

I gestori di finestre

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node48.html (2 di 2) [02/07/2001 15.10.14]

Quando vengono create nuove finestre

Cerca nel sito:

Quando vengono create nuove finestre


Next: Mettere a fuoco Up: I gestori di finestre Previous: I gestori di finestre

Un gestore di finestre ha tre possibilit quando viene creata una nuova finestra: lo si pu configurare in modo che sia mostrato il contorno della finestra stessa e si possa posizionarla sullo schermo (``posizionamento manuale''), oppure possibile che posizioni da solo la nuova finestra da qualche parte sullo schermo (``posizionamento casuale''); infine, alcune applicazioni richiedono un posizionamento particolare sullo schermo, oppure possibile che il gestore di finestre sia configurato per mostrare determinate applicazioni sempre nello stesso posto dello schermo (per esempio, posso specificare che xclock appaia sempre nell'angolo in alto a destra).
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node49.html [02/07/2001 15.10.17]

Mettere a fuoco

Cerca nel sito:

Mettere a fuoco
Next: Spostare le finestre Up: I gestori di finestre Previous: Quando vengono create nuove

Il gestore di finestre controlla alcune cose importanti; la prima cosa che vi dovrebbe interessare il ``focus'' (messa a fuoco). La finestra messa a fuoco quella che riceve i comandi che inserite da tastiera; generalmente in X determinata dalla posizione del cursore del mouse: se questo si trova sopra una delle finestre di xterm5.2, quell'xterm ricever tutto quello che inserirete da tastiera. Notate che ci diverso da quello che succede con altri sistemi operativi a finestre, come Macintosh, OS/2 o Microsoft Windows, dove per mettere a fuoco una finestra dovete cliccarci con il mouse: di solito, sotto X, se il cursore del mouse finisce fuori dalla finestra, il fuoco viene perso e non potrete pi digitarci dentro. Notate, comunque, che possibile configurare sia twm sia fvwm per fare in modo che dobbiate cliccare su una finestra per metterla a fuoco, e cliccare altrove per perdere il fuoco, proprio come per Microsoft Windows. Scoprite come configurato il vostro gestore di finestre provando o consultate la documentazione locale.
Next: Spostare le finestre Up: I gestori di finestre Previous: Quando vengono create nuove Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node50.html [02/07/2001 15.10.18]

Spostare le finestre

Cerca nel sito:

Spostare le finestre
Next: Profondit Up: I gestori di finestre Previous: Mettere a fuoco

Un'altra cosa molto configurabile in X come spostare una finestra. Nella mia configurazione personale di twm, ci sono tre modi diversi per spostare una finestra: quello pi ovvio spostare il cursore del mouse sulla barra del titolo, e trascinare la finestra per lo schermo; sfortunatamente si pu configurare il sistema per farlo con uno qualsiasi dei pulsanti (sinistro, destro e centrale)5.3 (per trascinare, spostate il cursore del mouse sopra la barra del titolo, e tenete premuto il pulsante mentre spostate il mouse). Probabilmente, il vostro sistema configurato per spostare le finestre usando il pulsante sinistro. Un altro modo per spostare le finestre di tener premuto un tasto mentre si trascina il mouse; per esempio, nella mia configurazione, se tengo premuto il tasto 65#65 e sposto il cursore su una finestra, la posso trascinare usando il pulsante sinistro del mouse. Nuovamente, potete riuscire a capire come configurato il gestore di finestre per tentativi o guardando la documentazione locale. Oltre a questo, se volete provare ad interpretare il file di configurazione, guardate la sezione per twm , o la sezione per fvwm .
Next: Profondit Up: I gestori di finestre Previous: Mettere a fuoco Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node51.html [02/07/2001 15.10.20]

Profondit

Cerca nel sito:

Profondit
q

Raise della finestra, per portarla in primo piano. Di solito lo si fa cliccando sulla barra del titolo con uno dei pulsante del mouse. A seconda di come configurato il gestore di finestre, pu essere uno qualsiasi dei tre ( anche possibile che si possa fare con pi di un pulsante). Lower della finestra, per mandarla sullo sfondo. Si pu fare con un diverso click sulla barra del titolo. anche possibile configurare alcuni gestori in modo che un click mandi la finestra avanti se c' qualcosa sopra, e la mandi dietro se in primo piano. Cycling delle finestre. un'altra operazione permessa da molti gestori: ogni finestra viene portata in primo piano in successione.

Next: Iconizzazione Up: I gestori di finestre Previous: Spostare le finestre

Siccome le finestre possono sovrapporsi, in X c' il concetto di profondit. Anche se le finestre e lo schermo sono entrambi bidimensionali, una finestra pu essere davanti ad altre, oscurandole parzialmente o completamente. Ci sono diverse operazioni che permettono di gestire la profondit:
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node52.html [02/07/2001 15.10.22]

Iconizzazione

Cerca nel sito:

Iconizzazione
Next: Ridimensionare Up: I gestori di finestre Previous: Profondit

Ci sono parecchie altre operazioni che possono oscurare o nascondere completamente le finestre; la prima l'``iconizzazione''; a seconda del gestore, si pu fare in vari modi: in twm, molti configurano un gestore di icone (icon manager ): si tratta di una finestra speciale che contiene un elenco di tutte le altre finestre sullo schermo; cliccando su un nome (a seconda dell'impostazione, si pu fare con un pulsante qualsiasi del mouse!) la finestra scompare-- iconificata; ancora attiva, ma non potrete vederla. Un altro click nel gestore di icone ripristina la finestra sullo schermo. Questo procedimento abbastanza utile; per esempio, potreste avere xterm remoti su alcuni computer che usate solo occasionalmente; dato che raramente vengono usati tutti nello stesso momento, si possono tenere molte finestre di xterm iconificate, e lavorare solo con alcune. L'unico problema che semplice ``perdersi'' le finestre; si creano cos sempre nuove finestre che duplicano le funzionalit di quelle gi presenti, ma che ci si dimentica di avere iconificate. Altri gestori di finestre possono creare icone lungo il margine inferiore dello schermo, o lasciarle sparse nella finestra principale.
Next: Ridimensionare Up: I gestori di finestre Previous: Profondit Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node53.html [02/07/2001 15.10.24]

Ridimensionare

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Ridimensionare
Next: Massimizzazione Up: I gestori di finestre Previous: Iconizzazione

Ci sono altri modi diversi per ridimensionare le finestre sotto X. Di nuovo, il modo usato dipende dal gestore, e da come configurato esattamente. Il metodo pi familiare agli utenti di Microsoft Windows di cliccare e trascinare il bordo della finestra. Se il vostro gestore di finestre crea dei bordi spessi che fanno cambiare l'aspetto del cursore del mouse quando ci passa sopra, probabilmente questo il metodo da usare per ridimensionare le finestre. Un altro metodo di creare un pulsante di ``ridimensionamento'' sulla barra del titolo. Nella Figura , si vede un pulsantino sulla destra di ogni barra del titolo; per ridimensionare le finestre, si sposta il mouse su questo pulsante e si preme il pulsante destro del mouse. A questo punto si pu spostare il mouse fuori dei bordi della finestra per ridimensionarla, quando avete raggiunto la dimensione voluta, lasciate il pulsante del mouse.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node54.html [02/07/2001 15.10.25]

Massimizzazione

Cerca nel sito:

Massimizzazione
Next: Men Up: I gestori di finestre Previous: Ridimensionare

Un'altra operazione supportata dalla maggior parte dei gestori di finestre la massimizzazione. In twm, per esempio, si pu massimizzare la larghezza o l'altezza, o entrambe le dimensioni della finestra: questa operazione chiamata ``zoom'' nel linguaggio di twm, anche se io preferisco il termine massimizzazione. Diverse applicazioni rispondono in modo diverso al cambiamento della loro dimensione (per esempio, xterm non ingrandisce il carattere, ma rende disponibile uno spazio di lavoro maggiore!). Sfortunatamente non affatto sempre uguale il modo per ingrandire una finestra.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node55.html [02/07/2001 15.10.27]

Men

Cerca nel sito:

Men
Next: Attributi di X Up: I gestori di finestre Previous: Massimizzazione

Un altro scopo del gestore di finestre fornire men all'utente per velocizzare i compiti ripetuti pi frequentemente. Per esempio, si pu creare una voce di men che lancia automaticamente Emacs o un altro xterm: in questo modo non pi necessario inserire comandi in un xterm--ottimo specialmente se non ci sono xterm in esecuzione! In generale, possibile accedere a diversi men cliccando nella finestra principale, che la finestra immobile dietro a tutte le altre. Per default colorata di grigio, ma potrebbe essere diversa.5.4 Per provare a vedere un men, cliccate e tenete premuto un pulsante sulla scrivania. Dovrebbe apparire un men a tendina. Per fare una selezione, spostate (senza rilasciare il pulsante) il cursore del mouse su una voce e quindi lasciatelo.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node56.html [02/07/2001 15.10.28]

Attributi di X

Cerca nel sito:

Attributi di X
q q

Geometria Display

Next: Geometria Up: Il sistema X Window Previous: Men

Ci sono vari programmi che usano X. Alcuni, come emacs , possono funzionare sia in modalit testo, sia creando la propria finestra. Comunque, la maggior parte dei programmi per X funzionano solo sotto X.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node57.html [02/07/2001 15.10.29]

Geometria

Cerca nel sito:

Geometria
q

q q

La dimensione orizzontale, che di solito viene misurata in pixel (un pixel la pi piccola unit che pu essere colorata. Molte configurazioni sui PC Intel hanno 1024 pixel in orizzontale e 768 pixel in verticale). Alcune applicazioni, come xterm e emacs, misurano le applicazioni in termini di numero di caratteri che entrano nella finestra (ad esempio, si pu avere una larghezza di 80 caratteri). La dimensione verticale, anch'essa misurata in pixel. Anche questa pu essere misurata in caratteri. La distanza orizzontale da uno dei lati dello schermo. Ad esempio, +35 posizioner il lato sinistro della finestra a 35 pixel dal lato sinistro dello schermo. D'altra parte, -50 posizioner il lato destro della finestra a 50 pixel dal lato destro dello schermo. In genere impossibile posizionare la finestra fuori dello schermo al suo avvio, anche se in seguito ci si pu spostare (fanno eccezione le finestre molto grandi). La distanza verticale dal lato superiore o inferiore dello schermo. Una distanza positiva viene misurata dal lato superiore dello schermo, ed una negativa da quello inferiore.

Next: Display Up: Attributi di X Previous: Attributi di X

Ci sono alcune cose comuni a tutti i programmi che funzionano sotto X. In X, la geometria di una finestra la posizione e la dimensione della finestra stessa. La geometria di una finestra ha quattro componenti: Tutte le quattro componenti vengono unite in una stringa di geometria di questo genere: 503x73-78+0 (in questo caso la finestra larga 503 pixel, alta 73 pixel, ed posizionata vicino all'angolo in alto a destra dello schermo). Un altro modo di indicarla : dim-orizx dim-vert66#66pos-oriz66#66pos-vert.
Next: Display Up: Attributi di X Previous: Attributi di X Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node58.html [02/07/2001 15.10.32]

Display

Cerca nel sito:

Display
q q

Il nome della macchina su cui gira il server. Sulle macchine Linux stand-alone il server gira sullo stesso sistema dei client. In tali casi, il nome della macchina pu essere omesso. Il numero del server che gira su quella macchina. Dato che ogni macchina pu avere server X multipli che ci girano sopra (cosa strana per la maggior parte delle macchine , ma possibile), ognuno deve avere un numero identificativo univoco. Il numero dello schermo. X supporta un server particolare che controlla pi di uno schermo alla volta. Potete immaginare qualcuno che abbia bisogno di molto spazio schermo, e che abbia quindi due monitor uno accanto all'altro. Dato che per motivi di performance non indicato avere due server sulla stessa macchina, un solo server controlla i due monitor.

Next: Caratteristiche comuni Up: Attributi di X Previous: Geometria

Ogni applicazione X ha associato un display. Il display il nome dello schermo controllato dal server X, e consiste di tre componenti: Queste tre cose vengono messe insieme in questo modo: macchina:numero-server.numero-schermo. Ad esempio, su mousehouse, tutte le mie applicazioni hanno il display impostato a :0.0, che sta per il primo schermo del primo server sul display locale. Comunque, se uso un computer remoto, il display sar impostato a mousehouse:0.0. Per default, il display viene preso dalla variabile d'ambiente (vedere la Sezione ) DISPLAY, che pu essere superata usando un'opzione da linea di comando (vedere la Figura ). Per vedere come impostare la variabile d'ambiente DISPLAY, provate il comando echo $DISPLAY.
Figure: Opzioni standard per i programmi per X. 67#67

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node59.html (1 di 2) [02/07/2001 15.10.35]

Display

Next: Caratteristiche comuni Up: Attributi di X Previous: Geometria Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node59.html (2 di 2) [02/07/2001 15.10.35]

Caratteristiche comuni

Cerca nel sito:

Caratteristiche comuni
q q q

Pulsanti Barre dei Menu Barre di scorrimento


r r

Barre di scorrimento Athena Barre di scorrimento Motif

Next: Pulsanti Up: Il sistema X Window Previous: Display

Anche se X un'interfaccia grafica utente, molto irregolare: E impossibile sapere a priori come funziona uno qualsiasi dei suoi componenti, perch ognuno pu essere riconfigurato, modificato e persino sostituito. Ne abbiamo gi incontrato un caso: i vari gestori di finestre, ciascuno dei quali altamente configurabile. Un'altra causa di questa irregolarit il fatto che le applicazioni per X sono costruite usando delle cose che si chiamano ``insiemi di widget''. Nelle distribuzioni standard sono inclusi gli ``Athena widget'' sviluppati all'MIT, che vengono comunemente usati nelle applicazioni liberamente distribuibili; hanno lo svantaggio che non sono particolarmente belli a vedersi e sono in qualche modo pi difficili da usare di altri widget. L'altro insieme di widget conosciuto ``Motif''. Motif un insieme di widget commerciale, simile all'interfaccia utente usata per Microsoft Windows. Molte applicazioni commerciali usano gli widget Motif, come anche alcune applicazioni liberamente distribuibili. Il noto Web browser netscape usa Motif. Proviamo a vedere gli elementi pi comuni che si incontrano.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node60.html [02/07/2001 15.10.36]

Pulsanti

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Pulsanti
Next: Barre dei Menu Up: Caratteristiche comuni Previous: Caratteristiche comuni

I pulsanti sono in genere le cose pi facili da usare. Si richiama un pulsante posizionandoci sopra il cursore del mouse e cliccando (premendo e lasciando immediatamente il tasto del mouse) sul tasto sinistro del mouse. I pulsanti di Athena e di Motif sono funzionalmente la stessa cosa, anche se hanno un aspetto diverso.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node61.html [02/07/2001 15.10.40]

Barre dei Menu

Cerca nel sito:

Barre dei Menu


Next: Barre di scorrimento Up: Caratteristiche comuni Previous: Pulsanti

Una barra dei men un insieme di comandi accessibili usando il mouse. Come esempio, la barra dei men di emacs mostrata in Figura . Ogni parola il titolo di una categoria di comandi. File comprende i comandi che aprono file nuovi e salvano i file. Per convenzione, anche la categoria che contiene il comando per uscire dal programma. Per accedere ad un comando, spostate il cursore del mouse su una determinata categoria (come File), premete il tasto sinistro del mouse e tenetelo premuto. Verr mostrata una variet di comandi. Per sceglierne uno, spostateci sopra il cursore e lasciate il tasto sinistro. Alcune barre dei men vi lasciano cliccare su una categoria--se questo il caso, cliccare su una categoria terr aperto il men finch non cliccate su un comando, su un altro men o fuori della barra (indicando che non vi interessa avviare un comando particolare).
Figure: emacs cambier la sua barra dei men a seconda del tipo di file su cui state lavorando. Ecco una possibile barra dei men. 68#68

Next: Barre di scorrimento Up: Caratteristiche comuni Previous: Pulsanti Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node62.html (1 di 2) [02/07/2001 15.10.41]

Barre dei Menu

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node62.html (2 di 2) [02/07/2001 15.10.41]

Barre di scorrimento

Cerca nel sito:

Barre di scorrimento
Next: Barre di scorrimento Athena Up: Caratteristiche comuni Previous: Barre dei Menu

Una barra di scorrimento un metodo che permette di visualizzare solo una parte del documento, mentre il resto rimane fuori dello schermo. Ad esempio, la finestra di xterm in Figura mostra solo una terza parte del testo disponibile. facile vedere quale parte del testo disponibile viene visualizzata: la parte scura della barra di scorrimento relativa sia alla posizione che alla quantit di testo visualizzato. Se il testo viene visualizzato per intero, tutta la barra di scorrimento scura. Se viene visualizzata la met centrale del testo, scura la met centrale della barra di scorrimento. Si pu avere una barra di scorrimento verticale a sinistra o a destra del testo, e una orizzontale sopra o sotto, a seconda dell'applicazione.
Figure: A sinistra di questa finestra xterm visibile una barra di scorrimento di tipo Athena. Sulla finestra di Netscape visibile una barra di scorrimento di tipo Motif. 69#69

q q

Barre di scorrimento Athena Barre di scorrimento Motif

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node63.html (1 di 2) [02/07/2001 15.10.46]

Barre di scorrimento

Next: Barre di scorrimento Athena Up: Caratteristiche comuni Previous: Barre dei Menu Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node63.html (2 di 2) [02/07/2001 15.10.46]

Lavorare con Unix

Cerca nel sito:

Lavorare con Unix


q

Metacaratteri
r r

Cosa succede realmente? Il punto interrogativo Inserimento di linee di comando Completamento file e comandi Concetti di Unix Redirezione dell'output Redirezione dell'input Soluzione: le pipe Le basi Cosa sta succedendo veramente?

Risparmiare tempo con bash


r r

Standard Input e Standard Output


r r r r

Multitasking
r r

Console Virtuali: essere in pi posti contemporaneamente

Next: Metacaratteri Up: Linux Guida dell'Utente Previous: Barre di scorrimento Motif

C shellBourne shell fileinputoutput UNIX un sistema molto potente per quelli che sanno come gestirlo. In questo capitolo prover a descrivere vari modi di usare la shell di Unix, bash , in modo pi efficiente.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node66.html [02/07/2001 15.10.48]

Metacaratteri

Cerca nel sito:

Metacaratteri
q q

Cosa succede realmente? Il punto interrogativo

Next: Cosa succede realmente? Up: Lavorare con Unix Previous: Lavorare con Unix

Nel capitolo precedente avete imparato alcuni comandi di manutenzione dei file: cp, mv e rm. Pu capitare che vogliate interagire con pi di un file alla volta. Per esempio, potreste voler copiare tutti i file che cominciano con data nella directory ~/backup: si pu fare sia dando pi comandi cp, sia elencando tutti i file in un'unica linea di comando; entrambi questi metodi, comunque, portano via molto tempo e avete molte possibilit di compiere errori. Una via migliore per farlo scrivere: 70#70 Come potete vedere, l'asterisco dice a cp di prendere tutti i file che iniziano con data e copiarli in ~/backup. Riuscite ad indovinare cosa farebbe cp d*w ~/backup?
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node67.html [02/07/2001 15.10.50]

Cosa succede realmente?

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Cosa succede realmente?


Next: Il punto interrogativo Up: Metacaratteri Previous: Metacaratteri

Buona domanda. In realt ci sono due caratteri speciali che vengono intercettati dalla shell bash . Il carattere `` *'', un asterisco, dice ``sostituisci questa parola con tutti i file che verificano questa specifica''. In questo modo, il comando cp data* ~/backup, come nell'esempio precedente, viene cambiato in cp data-new data1 data2 data5 ~/backup prima di venire eseguito. Per vedere come funziona introduciamo un nuovo comando, echo . echo un comando estremamente semplice; rimanda sullo schermo o stampa ogni parametro. Cio: 71#71 Come potete vedere, la shell espande il metacarattere e passa tutti i file al programma che volete sia eseguito. Questo solleva una domanda interessante: cosa succede se non ci sono file che incontrano le specifiche del metacarattere? Provate echo /rc/fr*og e guardate cosa succede...bash passa testualmente la stringa con il metacarattere al programma. Bisogna dire anche che altre shell, come tcsh , invece di passare testualmente il metacarattere, rispondono No match. Ecco lo stesso comando sotto tcsh: 72#72 L'ultima cosa che chiederete come fare se volete che sullo schermo compaia data*, al posto della lista dei nomi dei file? Beh, sia sotto bash che tcsh, basta racchiudere la stringa tra virgolette:
73#73

oppure
74#74

Next: Il punto interrogativo Up: Metacaratteri Previous: Metacaratteri Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node68.html (1 di 2) [02/07/2001 15.10.57]

Cosa succede realmente?

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node68.html (2 di 2) [02/07/2001 15.10.57]

Il punto interrogativo

Cerca nel sito:

Il punto interrogativo
Next: Risparmiare tempo con bash Up: Metacaratteri Previous: Cosa succede realmente?

Oltre all'asterisco, anche il punto interrogativo viene interpretato dalla shell come carattere speciale. Un punto interrogativo corrisponde ad uno, ed un solo carattere. Per esempio, ls /etc/?? mostra tutti i nomi di file di due lettere nella directory /etc.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node69.html [02/07/2001 15.11.04]

Risparmiare tempo con bash

Cerca nel sito:

Risparmiare tempo con bash


q q

Inserimento di linee di comando Completamento file e comandi

Next: Inserimento di linee di Up: Lavorare con Unix Previous: Il punto interrogativo

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node70.html [02/07/2001 15.11.07]

Inserimento di linee di comando

Cerca nel sito:

Inserimento di linee di comando


Next: Completamento file e comandi Up: Risparmiare tempo con bash Previous: Risparmiare tempo con bash

Qualche volta vi capiter di scrivere un lungo comando in bash e, prima di premere 4#4, di accorgervi di un errore di battitura all'inizio della riga. Potreste cancellare tutto, tornare indietro e riscrivere tutto correttamente, ma questo richiede un bello sforzo! Potete invece premere i tasti freccia per tornare indietro, eliminare i caratteri errati, ed inserire quelli corretti. Ci sono molti tasti speciali per modificare le linee di comando; molti sono simili ai comandi di GNU Emacs . Per esempio, 75#75 scambia due caratteri adiacenti.6.1 Troverete molti di questi comandi nel capitolo di Emacs, il capitolo .
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node71.html [02/07/2001 15.11.08]

Completamento file e comandi

Cerca nel sito:

Completamento file e comandi


Next: Standard Input e Standard Up: Risparmiare tempo con bash Previous: Inserimento di linee di

Un'altra caratteristica di bash il completamento automatico della linea di comando. Diamo un'occhiata al seguente esempio di un tipico comando cp: 76#76 una gran fatica dover inserire ogni carattere di un-file-lunghissimo ogni volta che dovete accedervi. Create un-file-lunghissimo copiandolo da /etc/passwd,6.2 e andiamo a ripetere lo stesso comando cp in un modo molto pi veloce e con poche possibilit di errore. Invece di inserire il nome per intero, digitate cp un, e premete e rilasciate il tasto 77#77. Come per magia, il resto del nome viene mostrato nella riga di comando e potete inserire corto. Sfortunatamente, bash non pu leggervi nel pensiero, e dovete inserire corto completamente. Quando digitate 77#77, bash guarda cosa avete scritto, e cerca un file che inizi nello stesso modo. Per esempio, se scrivo /usr/bin/ema e premo 77#77, bash trover /usr/bin/emacs, che il solo file che comincia con /usr/bin/ema nel mio sistema. Comunque, se scrivessi /usr/bin/ld e premessi 77#77, bash emetterebbe un suono di avviso, perch nel mio sistema ci sono tre file che cominciano con /usr/bin/ld: /usr/bin/ld, /usr/bin/ldd e /usr/bin/ld86. Se provando il completamento automatico sentite un suono, potete premere di nuovo 77#77 per ottenere la lista di tutti i file che iniziano in quel modo. Cos, se non siete sicuri del nome esatto di un file, potete iniziare a scriverlo e cercare in lista di nomi pi ristretta.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node72.html (1 di 2) [02/07/2001 15.11.10]

Completamento file e comandi

Next: Standard Input e Standard Up: Risparmiare tempo con bash Previous: Inserimento di linee di Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node72.html (2 di 2) [02/07/2001 15.11.10]

Standard Input e Standard Output

Cerca nel sito:

Standard Input e Standard Output


q q q q

Concetti di Unix Redirezione dell'output Redirezione dell'input Soluzione: le pipe

Next: Concetti di Unix Up: Lavorare con Unix Previous: Completamento file e comandi

Proviamo a risolvere un problema semplice: ottenere un listato della directory /usr/bin. Se facciamo ls /usr/bin, alcuni file scrolleranno fuori dallo schermo. Come possiamo vederli tutti?
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node73.html [02/07/2001 15.11.12]

Concetti di Unix

Cerca nel sito:

Concetti di Unix
Next: Redirezione dell'output Up: Standard Input e Standard Previous: Standard Input e Standard

Il sistema operativo UNIX rende molto semplice per i programmi usare il terminale. Quando un programma scrive qualcosa sullo schermo, sta usando una cosa che si chiama standard output . Lo standard output, abbreviato in stdout, quello che usano i programmi per scrivere le informazioni all'utente. Il nome per quello che usate voi per comunicare con i programmi standard input (stdin). possibile che i programmi comunichino con l'utente senza usare standard input o output, ma la maggior parte dei comandi che descrivo in questo libro usano stdin e stdout. Per esempio, il comando ls stampa il listato di una directory sullo standard output, che normalmente ``connesso'' al vostro terminale. Un comando interattivo, come la shell, bash, legge i vostri comandi dallo standard input. anche possibile per un programma scrivere nello standard error , dato che molto semplice dirottare lo standard output altrove rispetto al terminale. Lo standard error, stderr, quasi sempre connesso al terminale, in modo che si possano leggere i messaggi d'errore. In questa sezione esamineremo tre modi per divertirsi con lo standard input e output: redirezione dell'input, dell'output e pipe.
Next: Redirezione dell'output Up: Standard Input e Standard Previous: Standard Input e Standard Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node74.html [02/07/2001 15.11.13]

Redirezione dell'output

Cerca nel sito:

Redirezione dell'output
/home/larry$ cat > pippo Oggi una bella giornata. premete Ctrl-d

Next: Redirezione dell'input Up: Standard Input e Standard Previous: Concetti di Unix

Una caratteristica importante di UNIX la capacit di redirigere l'output. Questo vi permette, invece di vedere i risultati di un comando, di registrarli in un file o di mandarli direttamente alla stampante. Per esempio, per redirigere l'output del comando ls /usr/bin, metteremo un segno > alla fine della linea e diremo in quale file vogliamo che sia messo l'output: 78#78 Come potete vedere, invece di scrivere i nomi di tutti i file, il comando crea un nuovo file nella home directory; proviamo a vederlo con il comando cat. Se tornate indietro, ricorderete che cat era un comando apparentemente inutile che copiava quello che scrivevate (lo standard input) sul terminale (standard output). cat pu anche stampare un file sullo standard output se gli date il file come parametro: 79#79 L'output esatto del comando ls /usr/bin appare nel contenuto di lista. Tutto bene, anche se questo non ha risolto il problema originale.6.3 Comunque, cat fa qualcosa di interessante quando il suo output viene rediretto. Cosa fa il comando cat lista > nuovofile? Normalmente, > nuovofile dice ``prendere tutto l'output del comando e metterlo in nuovofile''. L'output del
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node75.html (1 di 2) [02/07/2001 15.11.15]

Redirezione dell'output

comando cat lista il file lista. In questo modo abbiamo inventato un metodo nuovo (e non molto efficiente) per copiare i file. E che dire del comando cat > pippo? cat da solo legge ogni linea inserita dal terminale (standard input) e stampa tutto nello standard output finch non legge 38#38. In questo caso, lo standard output stato rediretto nel file pippo. Adesso cat servito come un rudimentale editor (programma per scrittura testi): Abbiamo creato quindi il file pippo che contiene la frase ``Oggi una bella giornata''. Un altro uso del versatile comando cat con catenare pi file insieme: cat stampa tutti i file che gli vengono passati come parametro, un file dopo l'altro. Cos il comando cat lista pippo stampa il listato della directory /usr/bin, e poi la nostra frase. In questo modo, il comando cat lista pippo > listaepippo creer un nuovo file contenente sia lista sia pippo.
Next: Redirezione dell'input Up: Standard Input e Standard Previous: Concetti di Unix Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node75.html (2 di 2) [02/07/2001 15.11.15]

Redirezione dell'input

Cerca nel sito:

Redirezione dell'input
Next: Soluzione: le pipe Up: Standard Input e Standard Previous: Redirezione dell'output

Come per lo standard output, anche possibile redirigere lo standard input . Un programma, invece di leggere dalla tastiera, legge da un file. Siccome la redirezione dell'input collegata alla redirezione dell'output, sembra naturale che il carattere speciale per la redirezione dell'input sia <. Anche questo deve essere usato dopo il comando da eseguire. La redirezione dell'input utile generalmente se avete un file di dati e un comando si aspetta dell'input dallo standard input. La maggior parte dei comandi permettono di specificare un file su cui operare, cos < non usato nelle normali operazioni giornaliere come altre tecniche.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node76.html [02/07/2001 15.11.20]

Soluzione: le pipe

Cerca nel sito:

Soluzione: le pipe
Next: Multitasking Up: Standard Input e Standard Previous: Redirezione dell'input

Molti comandi UNIX producono una grande quantit di informazioni: per esempio, non strano per un comando come ls /usr/bin produrre pi output di quello che potete vedere su una sola schermata. Per riuscire a vedere tutte le informazioni di un comando come ls /usr/bin, necessario usare un altro comando Unix, chiamato more .6.4 more si ferma ad ogni videata di informazioni. Per esempio, more < /etc/rc mostra il file /etc/rc, esattamente come farebbe cat /etc/rc, eccetto che vi permette di leggerlo. more permette anche la forma more /etc/rc, ed questo il modo normale di invocarlo. Comunque, questo non risolve il problema che ls /usr/bin mostra pi informazioni di quelle che potete vedere. more < ls /usr/bin non funziona--la redirezione dell'input funziona solamente con i file, non con i comandi! Potreste fare questo: 80#80 UNIX d un modo pi pulito per fare la stessa cosa: si usa il comando ls /usr/bin | more. Il carattere ``|'' indica una pipe (conduttura). Come una conduttura dell'acqua, una pipe UNIX controlla il flusso. Invece di acqua, stiamo controllando il flusso di informazioni! Uno strumento utile con le pipe sono i programmi chiamati filtri . Un filtro un programma che legge lo standard input, lo elabora in qualche modo e manda i risultati sullo standard output. more un filtro--legge i dati che provengono dallo standard input e li visualizza sullo standard output una videata alla volta, permettendovi di leggere il file. more non un granch come filtro, dato che il suo output non pu essere usato come input
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node77.html (1 di 2) [02/07/2001 15.11.21]

Soluzione: le pipe

per un altro programma. Altri filtri sono i programmi cat , sort , head e tail . Per esempio, se volete leggere solo le prime dieci linee dell'output di ls, potete usare ls /usr/bin | head.
Next: Multitasking Up: Standard Input e Standard Previous: Redirezione dell'input Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node77.html (2 di 2) [02/07/2001 15.11.21]

Multitasking

Cerca nel sito:

Multitasking
q q

Le basi Cosa sta succedendo veramente?

Next: Le basi Up: Lavorare con Unix Previous: Soluzione: le pipe

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node78.html [02/07/2001 15.11.26]

Le basi

Cerca nel sito:

Le basi
Next: Cosa sta succedendo veramente? Up: Multitasking Previous: Multitasking

Il Job control (controllo dei job) si riferisce alla possibilit di mettere i processi (essenzialmente la stessa cosa dei programmi) in background (sullo sfondo) e di riportarli in foreground (in primo piano), cio poter eseguire un processo mentre voi state facendo qualcos'altro, ma mantenendone il controllo per potergli comunicare qualcosa o per poterlo fermare. In Unix, lo strumento principale per controllare i job la shell--tiene traccia dei job per conto vostro, se imparate il suo linguaggio. Le due parole pi importanti in questo linguaggio sono fg , per ``foreground'', e bg , per ``background''. Per vedere come funzionano, usiamo il comando yes al prompt. 81#81 Questo comando ha lo strano effetto di creare una lunga colonna di y nel bordo sinistro dello schermo, pi veloce di quello che riuscite a vedere.6.5 Per fermare il comando, normalmente dovete premere 82#82, ma questa volta premete 83#83. Sembra che si sia fermato, e viene stampato un messaggio prima del prompt pi o meno cos: 84#84 Significa che il processo yes stato sospeso sospeso in background. Potete farlo ripartire nuovamente con il comando fg al prompt, che lo riporter in primo piano. Se volete, potete fare altro prima, mentre sospeso. Provate alcuni ls o altro prima di rimetterlo in foreground. Una volta ritornato in foreground, ricominceranno le y, veloci come prima. Non dovete preoccuparvi che il programma ``immagazzini'' delle y mentre il job sospeso: quando un programma sospeso, l'intero programma non viene pi eseguito finch non lo
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node79.html (1 di 5) [02/07/2001 15.11.31]

Le basi

fate ritornare in vita (e ora potete premere 82#82 per cancellarlo in modo definitivo, una volta che lo avete sopportato abbastanza). Vediamo in dettaglio il messaggio lasciato dalla shell: 85#85 Il numero tra parentesi il numero del job di questo processo, e sar usato quando dovrete riferirvi in modo specifico a quel job (naturalmente, siccome il controllo dei job riguarda l'esecuzione di pi processi, necessario un metodo per distinguerli l'uno dall'altro). Il carattere + che segue le parentesi comunica che quello il ``job corrente''--cio il job spostato per ultimo dal foreground al background. Se scrivete fg, metterete in foreground il job marcato con il + (ne parleremo ancora pi avanti, quando parleremo dell'esecuzione di pi job contemporaneamente). La parola Stopped significa che il job sospeso: il job non morto, ma non pi in esecuzione; Linux lo ha salvato in uno speciale stato di sospensione, pronto a tornare in azione appena qualcuno lo richieda. Infine, yes il nome del processo che stato fermato. Prima di proseguire, cancelliamo questo job ed avviamolo in modo diverso. Il comando si chiama kill e pu essere usato cos: 86#86 Il messaggio che il job sospeso ingannevole. Per vedere se ancora in vita (cio in esecuzione o in stato sospeso), digitate jobs : 87#87 Ecco qui! Il job stato terminato! ( possibile che jobs non restituisca niente, per indicare che non ci sono jobs in esecuzione in background. Se avete appena cancellato un job, e digitando jobs non viene mostrato nulla, allora la cancellazione stata compiuta con successo. Normalmente viene comunicato che il job stato ``terminato'' (terminated) o ``ucciso'' (killed).) Adesso avviamo yes nuovamente, cos: 88#88 Se avete letto la sezione sulla redirezione dell'input e dell'output, saprete che questo sta mandando l'output di yes nel file speciale /dev/null. /dev/null un buco nero che assorbe ogni output che gli si manda (potete immaginare che il flusso di y finisca fuori dal computer e scompaia in un buco nel muro, se questo vi rende pi contenti). Dopo aver digitato questo comando, non otterrete indietro il prompt, ma non vedrete nemmeno la colonna di y. Anche se l'output viene mandato a /dev/null, il job ugualmente in esecuzione in foreground. Come al solito, potete sospendere il job premendo 83#83; fatelo adesso per
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node79.html (2 di 5) [02/07/2001 15.11.31]

Le basi

ottenere di nuovo il prompt. 89#89 Hmm... c' un modo per far s che esso funzioni in background, cos da lasciarci il prompt per altri lavori interattivi? Il comando da usare bg : 90#90 Adesso dovete avere fiducia in me: dopo che avete inserito bg, yes > /dev/null tornato a funzionare nuovamente, ma questa volta in background. Infatti, se fate qualcosa al prompt, come ls e simili, noterete che la macchina leggermente rallentata (convogliare un continuo flusso di caratteri richiede comunque del lavoro!). Oltre a questo, comunque, non ci sono altri effetti. Potete fare qualsiasi cosa vogliate al prompt, e yes continuer a mandare il suo output nel buco nero. Ci sono adesso due modi diversi per cancellarlo: con il comando kill che avete appena imparato, o rimettendo il job in foreground e premendo il tasto di interruzione ( 82#82). Proviamo il secondo metodo, solo per capire meglio le relazioni tra fb e bg: 91#91 Ecco, andato. Adesso avviamo un po' di job in contemporanea, cos: 92#92 La prima cosa che dovreste notare di questi comandi il simbolo & alla fine delle prime due righe . Mettere un & dopo un comando comunica alla shell di avviarlo fin dall'inizio in background ( soltanto un modo per evitare di dover avviare il programma, premere 93#93 e digitare bg). Cos abbiamo avviato questi due comandi in background. Il terzo, attualmente, sospeso e inattivo. Potreste notare come adesso la macchina sia diventata un po' pi lenta, in quanto ci sono due processi in esecuzione che richiedono un po' di tempo CPU. Ogni processo vi ha comunicato il suo numero di job. I primi due hanno mostrato anche il loro numero di Process IDentification Process IDentification , o PID, subito dopo il numero del job. Normalmente non necessario conoscere il PID dei processi, ma qualche volta pu tornare utile. Eliminiamo il secondo processo, dato che pu rallentare la macchina. Potrei semplicemente scrivere kill %2, ma sarebbe troppo semplice. Invece, facciamo cos: 94#94 Come abbiamo appena dimostrato, fg prende anche i parametri che cominciano con %. In effetti, potevate anche digitare: 95#95 Questo funziona perch la shell interpreta automaticamente un numero di job
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node79.html (3 di 5) [02/07/2001 15.11.31]

Le basi

come una richiesta di mettere quel job in foreground. possibile distinguere un numero di job da altri numeri anteponendo %. Adesso digitiamo jobs per vedere quali job sono ancora in esecuzione: 96#96 Il ``-'' significa che il job numero 1 il secondo job pronto ad essere messo in foreground, se digitate fg senza dare nessun altro parametro. Il ``+'' significa che il job in questione il primo della lista--un fg senza parametri porter in primo piano il job numero 3. Comunque potete farlo anche tramite il suo numero, se volete: 97#97 Essere passati al job numero 1 ed averlo sospeso ha anche cambiato la priorit di tutti i vostri job. Potete vederlo con il comando jobs: 98#98 Adesso sono entrambi sospesi (perch li avete sospesi con 99#99), e il job 1 il prossimo job che viene messo in foreground per default; questo perch avete lo avete messo in foreground manualmente, e successivamente sospeso. Il ``+'' si riferisce sempre al job pi recente che stato sospeso dal foreground. Potete rimetterlo in esecuzione di nuovo: 100#100 Notate che adesso in esecuzione, e l'altro job tornato indietro nell'elenco ed ha il +. Ora eliminiamo tutti questi job per poter usare meglio la macchina: 101#101 Dovreste vedere vari messaggi sulla terminazione dei job--nessuno muore tranquillamente, sembra. La Figura fa un breve riassunto di tutto quello che dovreste sapere sul controllo dei job:
Figure: Riassunto dei comandi e dei tasti usati nel controllo dei job. 102#102

Next: Cosa sta succedendo veramente? Up: Multitasking Previous: Multitasking Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node79.html (4 di 5) [02/07/2001 15.11.31]

Le basi

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node79.html (5 di 5) [02/07/2001 15.11.31]

Cosa sta succedendo veramente?

Cerca nel sito:

Cosa sta succedendo veramente?


Next: Console Virtuali: essere in Up: Multitasking Previous: Le basi

importante capire che il controllo dei job viene fatto dalla shell. Non esiste nel sistema un programma fg; piuttosto fg, bg, &, jobs e kill sono tutti comandi interni alla shell (qualche volta kill un programma indipendente, ma la shell bash usata da Linux ce l'ha interno). Questo un modo logico di procedere: siccome ogni utente ha il proprio spazio per il controllo dei job, e ogni utente ha gi la sua shell, pi semplice far controllare i job dell'utente alla shell. Quindi, ogni numero di job di un utente si riferisce soltanto a quell'utente: il mio job numero [1] e il tuo job numero [1] sono due processi totalmente differenti. In effetti, se siete loggati pi di una volta, ogni vostra shell avr dati diversi per controllare i job, cos ogni utente pu avere due job diversi con lo stesso numero in due shell diverse. Il modo per riferirsi in modo sicuro ad un processo mediante il numero di identificazione di processo, o Process ID (PID). Questo numero viene assegnato dal sistema--ogni processo ha un PID univoco. Due utenti diversi possono riferirsi ad un processo mediante il suo PID e sapere che si stanno riferendo allo stesso processo (assumendo che siano loggati nella stessa macchina!). Diamo un'occhiata ad un altro comando per capite cosa sono i PID. Il comando ps elenca tutti i processi in esecuzione, compresa la vostra shell. Provate. Ha anche alcune opzioni: le pi importanti (secondo molti) sono a, u e x. L'opzione a elencher i processi di tutti gli utenti, non solo i vostri. L'opzione x mostrer i processi che non hanno un terminale associato.6.6 Infine, l'opzione u d ulteriori informazioni sui processi, che spesso sono utili. Per avere davvero un'idea di cosa sta facendo il sistema, mettete insieme tutte le opzioni: ps -aux.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node80.html (1 di 2) [02/07/2001 15.11.32]

Cosa sta succedendo veramente?

Potete vedere i processi che usano pi memoria guardando la colonna %MEM, e pi tempo di CPU sulla colonna %CPU (la colonna TIME elenca il tempo totale di CPU usato).tempo di CPU Un'altra nota veloce sui PID. kill, oltre ad accettare le opzioni nella forma %numero-job, accetta direttamente anche i PID. Cos, mettete yes > /dev/null in background, eseguite ps e cercate yes. Quindi digitate kill PID.6.7 Se iniziate a programmare in C nel vostro sistema Linux, imparerete che il controllo dei job della shell soltanto una versione interattiva delle chiamate fork e execl. troppo complesso da vedere qui, ma potrebbe essere utile ricordarlo pi avanti quando dovrete programmare e vorrete eseguire processi multipli di un singolo programma.
Next: Console Virtuali: essere in Up: Multitasking Previous: Le basi Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node80.html (2 di 2) [02/07/2001 15.11.32]

Console Virtuali: essere in pi posti contemporaneamente

Cerca nel sito:

Console Virtuali: essere in pi posti contemporaneamente


Next: Piccoli programmi potenti Up: Lavorare con Unix Previous: Cosa sta succedendo veramente?

Linux supporta le console virtuali , che sono un modo per rendere una singola macchina simile a terminali multipli, tutti connessi ad un unico kernel Linux. Fortunatamente l'uso delle console virtuali una delle cose pi semplici di Linux: ci sono alcuni ``tasti dedicati'' per passare rapidamente da una console all'altra. Per provarlo, loggatevi nel sistema Linux, tenete premuto il tasto 65#65 sinistro e premete 103#103 (cio il tasto funzione numero 2).6.8 Vi troverete di fronte ad un altro prompt di login. Niente panico: siete nella console virtuale (VC) numero 2! Loggatevi e fate qualcosa--un po' di ls o altro--per avere conferma che una vera shell di login. Ora potete tornare nella VC numero 1, tenendo premuto il tasto 65#65 sinistro e premendo 104#104. Oppure potete passare ad una terza VC, in modo ovvio ( 65#65- 105#105). I sistemi Linux hanno generalmente quattro VC abilitate per default. Potete aumentarle fino a otto; come dovrebbe essere spiegato in The Linux System Administrator's Guide: basta editare uno o due file in /etc, anche se quattro dovrebbero essere sufficienti per la maggior parte delle persone. Una volta che vi ci sarete abituati, le VC probabilmente diventeranno uno strumento indispensabile per fare pi cose contemporaneamente. Per esempio, io uso spesso Emacs nella VC 1 (e faccio la maggior parte del mio lavoro qui); contemporaneamente ho un programma di comunicazione nella VC 3 (cos posso scaricare file con il modem mentre lavoro, o portare avanti dei job su una macchina remota), e tengo una shell nella VC 2 in caso voglia eseguire qualcos'altro senza sospendere il lavoro sulla VC 1.
Next: Piccoli programmi potenti Up: Lavorare con Unix Previous: Cosa sta succedendo veramente? Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node81.html [02/07/2001 15.11.33]

Piccoli programmi potenti

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Piccoli programmi potenti


q q q q q

La potenza di Unix Operazioni sui file Statistiche del sistema Cosa c' nel file? Comandi di elaborazione

Next: La potenza di Unix Up: Linux Guida dell'Utente Previous: Console Virtuali: essere in

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node82.html [02/07/2001 15.11.34]

La potenza di Unix

Cerca nel sito:

La potenza di Unix
Next: Operazioni sui file Up: Piccoli programmi potenti Previous: Piccoli programmi potenti

La potenza di UNIX nascosta in piccoli comandi che non sembrano molto utili se usati da soli, ma che combinati con altri comandi (direttamente o indirettamente) rendono il sistema pi potente e flessibile della maggior parte degli altri sistemi operativi. I comandi di cui vi parler in questo capitolo sono sort, grep, more, cat, wc, spell, diff, head e tail. Sfortunatamente quello che fanno non si capisce immediatamente dai loro nomi. Vediamo ogni programma separatamente e poi alcuni esempi di come usarli insieme.7.1
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node83.html [02/07/2001 15.11.37]

Operazioni sui file

Cerca nel sito:

Operazioni sui file


q

q q

Il time stamptime stamp. Ogni file ha tre date ad esso associate:7.2 la data di creazione (quando stato creato il file), la data di ultima modifica (quando il file ha subto l'ultimo aggiornamento) e la data dell'ultimo accesso (quando il file stato letto l'ultima volta). Il proprietario. Ogni file in UNIX di propriet di un utente del sistema. Il gruppo. Ogni file ha anche un gruppo di utenti a cui associato: quello pi comune per i file utente chiamato users, ed generalmente condiviso da tutti gli account utente del sistema. I permessi . Ogni file ha permessi (a volte chiamati ``privilegi'') associati ad esso, che comunicano a UNIX chi pu accedere a quel file o modificarlo o, in caso di un programma, eseguirlo. Ognuno di questi permessi pu essere impostato separatamente per il proprietario, il gruppo e tutti gli altri utenti.

touch file1 file2 ...fileN chmod [-Rfv] modalit file1 file2 ...fileN

Next: Statistiche del sistema Up: Piccoli programmi potenti Previous: La potenza di Unix

In aggiunta ai comandi come cd, mv e rm che avete imparato nel capitolo , ci sono altri comandi che operano sui file ma non sui dati in essi contenuti. Questi sono, tra gli altri, touch, chmod, du e df. Tutti questi comandi non si preoccupano di cosa c' nel file--cambiano solamente alcune delle cose che UNIX ricorda relativamente al file. Ecco alcuni degli elementi che vengono manipolati da questi comandi: touch aggiorna i time stamp dei file elencati nella linea di comando all'ora corrente. Se un file non esiste, touch lo creer vuoto. anche possibile specificare la data che touch deve impostare per i file--consultate la pagina man di touch. Il comando usato per cambiare i permessi di un file chmod, abbreviazione di change mode. Prima di andare a spiegare come usare il
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node84.html (1 di 3) [02/07/2001 15.11.39]

Operazioni sui file

comando, parliamo di quali permessi ci sono in Unix: ogni file ha un gruppo di permessi associati ad esso, che dicono a UNIX se il file pu essere letto, modificato o eseguito come programma (nel prossimo paragrafo parler di come l'utente li pu impostare. Ogni programma eseguito da un utente ha gli stessi permessi dell'utente stesso; questo pu essere un problema di sicurezza se non sapete cosa fa un particolare programma). UNIX riconosce tre tipi di persone: prima il proprietario del file (e la persona autorizzata ad usare chmod su quel file). Secondo, il gruppo. Il gruppo di molti dei vostri file potrebbe essere ``users'', che indica gli utenti normali del sistema (per vedere il gruppo di un particolare file, usare ls -l file). Poi c' chiunque altro non sia il proprietario e non sia membro del gruppo, appropriatamente chiamato ``others'' (``altri''). Cos un file potrebbe avere i permessi di lettura e scrittura per il proprietario, di lettura per il gruppo e nessun permesso per gli altri. Oppure, per altre ragioni, un file potrebbe essere leggibile/scrivibile per il gruppo e gli altri, ma non per il proprietario! Proviamo ad usare chmod per cambiare un po' di permessi. Prima, create un nuovo file usando cat, emacs o qualsiasi altro programma. Normalmente dovreste riuscire a leggere e scrivere questo file (i permessi dati agli altri utenti variano a seconda di come impostato il sistema e il vostro account). Assicuratevi di poter leggere il file usando cat. Adesso proviamo a togliere il vostro permesso di lettura usando chmod u-r nomefile (il parametro u-r si legge ``user meno read'', cio toglie all'utente user - il permesso di lettura - read); se adesso tentate di leggere il file, otterrete l'errore di Permission denied (accesso negato)! Aggiungete il permesso di lettura con chmod u+r nomefile. I permessi delle directory usano la stessa struttura: lettura, scrittura ed esecuzione, ma agiscono un po' diversamente. Il permesso di lettura consente all'utente (o gruppo o altri) di leggere la directory--cio di elencare i nomi dei file. Il permesso di scrittura consente all'utente (o gruppo o altri) di aggiungere o rimuovere file. Il permesso di esecuzione consente all'utente di accedere ai file della directory o di qualsiasi sottodirectory (se un utente non ha il permesso di esecuzione in una directory, non pu farci neanche cd!). Per usare chmod, sostituite modalit con quello che volete modificare, user (proprietario), group (gruppo), other (altri) o all (tutti) e cosa farci (cio usate il simbolo + per aggiungere il permesso, il simbolo - per toglierlo oppure il simbolo = per specificare esattamente i permessi da assegnare). I possibili permessi da aggiungere sono read (lettura), write (scrittura) ed execute (esecuzione). L'opzione R di chmod cambia i permessi di una directory e di tutti i
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node84.html (2 di 3) [02/07/2001 15.11.39]

Operazioni sui file

file e sottodirectory di quella directory (`R' sta per ricorsiva). L'opzione f forza chmod a provare a cambiare i permessi, anche se l'utente non il proprietario del file (se chmod ha l'opzione f, non stamper messaggi di errore quando fallisce nel tentativo di modificare i permessi di un file). L'opzione v rende chmod prolisso--spiegher tutto quello che sta facendo.
Next: Statistiche del sistema Up: Piccoli programmi potenti Previous: La potenza di Unix Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node84.html (3 di 3) [02/07/2001 15.11.39]

Statistiche del sistema

Cerca nel sito:

Statistiche del sistema


du [-abs] [percorso1 percorso2 ...percorsoN] df uptime who w [-f] [nome-utente]

Next: Cosa c' nel file? Up: Piccoli programmi potenti Previous: Operazioni sui file

I comandi di questa sezione mostreranno statistiche sul sistema operativo o su una sua parte. du sta per disk usage (utilizzo del disco), e controlla la quantit di spazio disco che una data directory e tutte le sue sottodirectory occupano nel disco. du da solo rende una lista di quanto spazio usano le sottodirectory della directory corrente, e riporta alla fine quanto spazio sta usando la directory corrente (pi tutte le sue sottodirectory gi considerate). Se gli date alcuni parametri, conter lo spazio usato da questi file o directory al posto della directory corrente. L'opzione a mostra il conteggio per i file insieme alle directory. L'opzione b mostra i totali in byte invece che in kilobyte (1024 caratteri). Un byte equivalente ad una lettera in un documento di testo. L'opzione s mostra solo le directory elencate nella riga di comando e non le loro sottodirectory. df sta per ``disk filling'' (``riempimento del disco''): riassume la quantit di spazio disco usato. Per ogni filesystem (ricordatevi, si hanno diversi filesystem sia su diverse unit disco sia su diverse partizioni) mostra lo spazio
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node85.html (1 di 2) [02/07/2001 15.11.43]

Statistiche del sistema

disco totale, lo spazio usato, lo spazio disponibile e la capacit del filesystem usato. Una strana cosa che si pu incontrare che possibile che la capacit superi il 100%, oppure che lo spazio usato pi quello disponibile non sia uguale allo spazio totale. Questo perch UNIX riserva dello spazio su ogni filesystem per root. In questo modo, se un utente accidentalmente riempie il disco, il sistema avr ancora una zona per continuare a funzionare. Per la maggior parte delle persone, df non ha nessuna opzione utile. Il programma uptime fa esattamente quello che si potrebbe pensare: stampa il tempo trascorso da quando il sistema in funzione--il tempo dall'ultimo avvio di Unix. uptime d anche l'ora corrente e il carico medio, che il numero medio di job eseguiti in un certo periodo di tempo. uptime mostra il carico medio dell'ultimo minuto, di cinque minuti e di dieci minuti. Un carico medio vicino allo zero indica che il sistema relativamente scarico, uno vicino all'unit indica che il sistema utilizzato pienamente ma non ancora sovraccarico. Alti carichi medi sono il risultato di parecchi programmi in esecuzione simultaneamente. Sorprendentemente, uptime uno dei pochi programmi UNIX che sono senza opzioni! who mostra gli utenti collegati al sistema e quando si sono loggati. Con i parametri am i (come in: who am i, ``chi sono io?''), mostra l'utente corrente. Il programma w mostra gli utenti collegati al sistema e quello che stanno facendo (semplicemente combina le funzionalit di uptime e who. L'intestazione di w esattamente la stessa di uptime, e ogni linea mostra un utente, quando si loggato (e per quanto tempo disoccupato - idle). JCPU il totale del tempo di CPU usato da quell'utente, mentre PCPU il tempo totale di CPU usato da quello che sta facendo in quel momento. Con l'opzione f, w mostra il sistema remoto da cui sono collegati gli utenti, se c'. I parametri opzionali restringono la visualizzazione di w al solo utente nominato.
Next: Cosa c' nel file? Up: Piccoli programmi potenti Previous: Operazioni sui file Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node85.html (2 di 2) [02/07/2001 15.11.43]

Cosa c' nel file?

Cerca nel sito:

Cosa c' nel file?


cat [-nA] [file1 file2 ...fileN] more [-l] [+numero-linea] [file1 file2 ...fileN]
107#107 Mostra la prossima schermata di testo. 108#108 Fa scorrere lo schermo di 11 linee, o circa met di uno schermo normale (25 linee). 109#109 Cerca un'espressione regolare. Siccome un'espressione regolare pu essere abbastanza complicata, potete digitare una stringa di testo da ricercare. Per esempio, /rana 4#4 ricerca la prossima parola ``rana'' nel file corrente. Una barra seguita da 4#4 ripete la ricerca dell'ultima espressione. 110#110 Anche questo ricerca la successiva posizione dell'espressione. 111#111 110#110 Se specificate pi di un file nella linea di comando, vi sposter nel prossimo file. 111#111 112#112 Vi sposter nel file precedente. 41#41 Esce da more.

head [-linee] [file1 file2 ...fileN] tail [-linee] [file1 file2 ...fileN] file [file1 file2 ...fileN]

Next: Comandi di elaborazione Up: Piccoli programmi potenti Previous: Statistiche del sistema

Ci sono due comandi importanti di UNIX che servono ad elencare file: cat e more. Ho parlato di entrambi nel capitolo . cat non un comando amichevole--non aspetta che voi leggiate il file, ed spesso usato in congiunzione con le pipe; ha per alcune utili opzioni da linea di comando: per esempio, n numera tutte le linee nel file, e A mostra i caratteri di controllo come caratteri normali invece di mostrare (forse) strane combinazioni sullo schermo (ricordatevi, per vedere queste strane e forse ``poco utili'' opzioni, usate il comando man: man cat). cat accetta
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node86.html (1 di 2) [02/07/2001 15.11.46]

Cosa c' nel file?

input dallo stdin se non viene specificato nessun file nella linea di comando. more molto pi utile, ed il comando che preferirete usare quando dovrete leggere un file di testo ASCII. L'unica opzione interessante l, che dice a more che non siete interessati a trattare il carattere 106#106 come carattere di ``nuova pagina''. more partir da uno specifico numero di linea. Siccome more un comando interattivo, ho riassunto i principali comandi da dargli: head mostra le prime dieci linee dei file elencati, o le prime dieci linee dello stdin se non specificato nessun file nella linea di comando. Ogni opzione numerica viene interpretata come il numero di linee da stampare, cos head -15 pippo stampa le prime quindici linee del file pippo. Come head, tail mostra solo una frazione del file. Naturalmente, tail mostra la fine del file, o le ultime dieci linee che arrivano dallo stdin. Anche tail accetta opzioni che specificano il numero di linee. Il comando file prova ad identificare in quale formato scritto un particolare file. Dato che non tutti i file hanno estensioni o altri marcatori che li identificano, il comando file esegue dei controlli rudimentali per cercare di indovinare cosa contengono. Fare attenzione, comunque, perch possibile che file faccia un'identificazione sbagliata.
Next: Comandi di elaborazione Up: Piccoli programmi potenti Previous: Statistiche del sistema Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node86.html (2 di 2) [02/07/2001 15.11.46]

Comandi di elaborazione

Cerca nel sito:

Comandi di elaborazione
grep [-nvwx] [-numero] espressione [file1 file2 ...fileN] wc [-clw] [file1 file2 ...fileN] spell [file1 file2 ...fileN] cmp file1 [file2] diff file1 file2

Next: Modificare file con Emacs Up: Piccoli programmi potenti Previous: Cosa c' nel file?

Questa sezione discute i comandi che alterano un file, ci eseguono una determinata operazione o mostrano statistiche su di esso. Uno dei comandi pi utili di UNIX grep, il generalized regular expression parser (analizzatore generalizzato di espressioni regolari). un nome buffo per uno strumento che ricerca del testo in un file solamente. Il modo pi semplice per usare grep questo: 113#113 Uno svantaggio di questo comando che, sebbene mostri tutte le linee contenenti una parola, non dice dove cercarla nel file--non d nessun numero di riga: pu essere utile secondo quello che state facendo. Per esempio, se state cercando gli errori nell'output di un programma, potete provare a.out | grep error, dove a.out il nome del vostro programma. Se siete interessati alla posizione delle corrispondenze, usate l'opzione n con grep per dirgli di stampare i numeri di riga. Usate l'opzione v se volete vedere tutte le linee che non contengono l'espressione specificata. Un'altra caratteristica di grep che verifica solo parti di una parola, come nel mio esempio precendente igre verifica tigre. Per comunicare a grep di verificare solo parole intere, usate l'opzione w; l'opzione x comunica a grep di controllare le corrispondenze di linee intere. Se non specificate nessun file, grep esamina lo stdin. wc sta per word count (conta parole). Conta semplicemente il numero di parole, linee e caratteri nel/nei file. Se non viene specificato nessun file nella linea di comando, opera sullo stdin. I tre parametri, clw, stanno rispettivamente per caratteri, linee e word (parole), e comunicano a wc quali dei tre conteggiare. Cos, wc -cw conta il numero di caratteri e di parole, ma non il numero di linee. Per default, wc conta tutto--parole, linee e caratteri. Un uso semplice di wc trovare quanti file sono presenti in

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node87.html (1 di 3) [02/07/2001 15.11.47]

Comandi di elaborazione

una directory: ls | wc -w. Se volete vedere quanti file finiscono .c, provate ls *.c | wc -w. spell un comando UNIX di controllo ortografico molto semplice, generalmente per l'inglese americano.7.3 spell un filtro, come molti dei programmi di cui abbiamo parlato, che legge un file di testo ASCII e scrive tutte le parole che considera errate. spell opera sui file elencati nella linea di comando, o, se non ne vengono dati, sullo stdin. Probabilmente nella vostra macchina disponibile anche un programma di ortografia pi sofisticato, ispell . ispell offre la possibilit di correggere l'ortografia ed ha una simpatica interfaccia a men se viene specificato un file nella linea di comando, oppure funziona come filtro se non viene specificato nessun file. Anche se operare con ispell dovrebbe essere abbastanza banale, consultate la pagina man se avete bisogno di maggiori informazioni. cmp ``compares'' (confronta) due file. Il primo deve essere specificato nella linea di comando, mentre il secondo pu essere specificato nella linea di comando o letto dallo standard input. cmp molto semplice, e dice solamente dove i due file cominciano a non essere identici. Uno dei comandi standard di UNIX pi complicati chiamato diff. La versione GNU di diff ha pi di venti opzioni possibili da linea di comando! una versione di cmp molto pi potente e mostra quali sono le differenze invece di comunicare semplicemente dove si trova la prima. Dato che parlare in modo approfondito di diff esula dallo scopo di questo libro, ne mostrer soltanto le operazioni di base. In breve, diff accetta due parametri (i file da confrontare) e mostra le differenze tra questi linea per linea. Per esempio: 114#114 Come potete vedere, diff non stampa niente quando i due file sono identici; quando confronto due file diversi, ho un'intestazione di sezione, 1c1,2, che indica che stava confrontando la linea 1 del file di sinistra, animali, con le linee 1-2 di cani e quali differenze ha notato; quindi confronta la linea 3 di animali con la linea 4 di cani. Mentre pu sembrare strano a prima vista confrontare diversi numeri di riga, molto pi efficiente di elencare ogni singola linea se c' soltanto un ritorno a capo in pi all'inizio di un file. gzip [-v#] [file1 file2 ... fileN] gunzip [-v] [file1 file2 ... fileN] zcat [file1 file2 ...fileN] Questi tre programmi vengono usati per comprimerecompressione e decomprimeredecompressione dati. gzip, o GNU zip, il programma che legge i file originali e rende file pi piccoli. gzip cancella i file specificati dalla linea di comando e li sostituisce con file che hanno nome identico ma con un ``.gz'' finale. tr stringa1 stringa2 Il comando di ``traduzione di caratteri'' opera sullo standard input--non accetta un nome di file come parametro; invece, i suoi due parametri sono stringhe arbitrarie. Sostituisce tutte le stringhe uguali a stringa1 nell'input con stringa2. In aggiunta a dei comandi semplici come tr pippo pluto, tr accetta anche comandi pi complicati. Ad esempio, ecco un modo veloce di convertire i caratteri minuscoli in caratteri maiuscoli: 115#115 tr abbastanza complesso e di solito viene usato in piccoli programmi di shell.
Next: Modificare file con Emacs Up: Piccoli programmi potenti Previous: Cosa c' nel file? Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node87.html (2 di 3) [02/07/2001 15.11.47]

Comandi di elaborazione

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node87.html (3 di 3) [02/07/2001 15.11.47]

Cos' Emacs?

Cerca nel sito:

Cos' Emacs?
Per poter fare qualsiasi cosa con un computer, avete bisogno di un modo per inserire del testo in un file, e un modo per modificare il testo gi inserito nei file; si fa con dei programmi detti editor . Emacs uno degli editor pi popolari--anche perch molto semplice per un principiante poter lavorarci bene (l'editor classico di Unix, vi, spiegato nell'appendice ). Per imparare emacs, avete bisogno di un file di testo semplice (lettere, numeri e simili); copiatelo nella vostra home directory8.1 (non vogliamo modificare il file originale, se esso contiene informazioni importanti), e richiamate Emacs sul file: 116#116 (Naturalmente, se volete copiare /etc/inittab o un qualsiasi altro file, sostituite quel nome di file a README. Per esempio cp /etc/inittab ~/inittab e poi emacs inittab.) -to ``Richiamare'' Emacs pu avere effetti diversi a seconda di quale ambiente state usando. Da una semplice console di testo, Emacs user l'intera console. Se lo richiamate da X, Emacs creer una sua propria finestra. Presumer che lo facciate dalla console testo, ma valido tutto anche nella versione X Window--basta sostituire la parola ``schermo'' con la parola ``finestra''. Ricordatevi anche che dovete muovere il puntatore del mouse nella finestra di Emacs per scriverci!
1#1

Lo schermo (o finestra, se state usando X) dovrebbe ora assomigliare alla figura


http://www.ziobudda.net/ILDP/guide/GuidaUtente/node89.html (1 di 4) [02/07/2001 15.11.49]

Cos' Emacs?

. Gran parte dello schermo contiene il vostro documento, ma quello che vi interessa particolarmente, se volete imparare ad usare Emacs, sono le ultime due righe. La penultima linea (quella con una serie di trattini) si chiama riga di stato.

Next: Iniziare velocemente con X Up: Modificare file con Emacs Previous: Modificare file con Emacs Figure: Emacs appena avviato con emacs README 117#117

Nella riga di stato vedrete ``Top''. Potrebbe essere anche ``All'', ed avere altre leggere differenze (molti hanno l'ora corrente visualizzata nella linea di stato). La riga immediatamente sotto alla riga di stato chiamata minibuffer, o a volte area eco. Emacs usa quest'area per mandarvi dei messaggi e qualche volta, quando serve, per leggere il vostro input. Per adesso Emacs vi sta chiedendo ``For information about the GNU Project and its goals, type C-h C-p''. Ignoratelo per adesso, non parleremo dell'uso del minibuffer per un po'. Prima di effettuare qualsiasi modifica del testo nel file, dovete imparare come spostarvi nel testo. Il cursore dovrebbe trovarsi all'inizio del file, nell'angolo in alto a sinistra dello schermo. Per spostarvi in avanti, premete C-f (cio, tenete premuto il tasto 118#118 e premete 119#119, per ``forward''). Il cursore si sposter di un carattere alla volta, e se mantenete premuti i tasti il sistema ripeter automaticamente lo spostamento circa ogni mezzo secondo. Notate che quando arrivate alla fine della riga il cursore passa automaticamente nella riga sottostante. C-b (per ``backward'') ha il significato opposto. E, visto che siamo in argomento, C-n e C-p spostano il cursore rispettivamente nella riga successiva e precedente.8.2 Usare i tasti di controllo generalmente il modo pi veloce di spostarsi mentre state scrivendo. Lo scopo di Emacs di mantenere le vostre mani sui tasti alfanumerici della tastiera, dove viene fatta la maggior parte del lavoro.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node89.html (2 di 4) [02/07/2001 15.11.49]

Cos' Emacs?

Comunque, se volete, i tasti freccia dovrebbero funzionare comunque. -to In effetti, quando state usando X, dovreste riuscire a posizionare il puntatore del mouse e cliccare con il pulsante sinistro per spostare il cursore dove volete; questa operazione per molto lenta--dovete portare la vostra mano sul mouse ogni volta! La maggior parte delle persone che usano Emacs usano principalmente la tastiera per spostarsi.
1#1

Usate C-p e C-b per tornare fino all'angolo superiore sinistro. Adesso mantenete premuto C-b per un po'; dovreste sentire il suono del cicalino e vedere il messaggio ``Beginning of buffer'' (inizio del buffer) apparire nel minibuffer. A questo punto potreste essere sorpresi: ``Ma cos' un buffer?'' Quando Emacs lavora su un file, non lavora proprio sul file, ma ne copia il contenuto in una speciale area di lavoro chiamata buffer, dove potete modificarlo. Quando avete finito di lavorare, comunicate ad Emacs di salvare il buffer--in altre parole, di scrivere il contenuto del buffer nel file corrispondente. Finch non lo fate, il file rimane invariato, e il contenuto del buffer esiste solamente dentro Emacs. Con questo in mente, preparatevi ad inserire i vostri primi caratteri nel buffer. Fino ad ora, tutto quello che abbiamo fatto stato ``non-distruttivo'', cos questo un grande momento. Potete scegliere qualsiasi carattere preferite, ma se volete farlo con stile, suggerisco di usare un bell'``X'' maiuscolo. Mentre lo digitate, guardate l'inizio della riga di stato in fondo allo schermo. Quando modificate il buffer in modo che il suo contenuto non sia pi uguale al file su disco, Emacs mostra due asterischi all'inizio della riga di stato, per farvi sapere che il buffer stato modificato: 120#120 Questi due asterischi vengono visualizzati non appena modificate il buffer, e rimangono visibili finch non lo salvate. Potete salvare pi volte il buffer durante una stessa sessione di scrittura--il comando per farlo C-x C-s (tener premuto il tasto 118#118 e premere ``x'' e ``s''...ok, probabilmente avrete gi capito come funziona!). volutamente semplice da digitare, perch salvare il buffer una
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node89.html (3 di 4) [02/07/2001 15.11.49]

Cos' Emacs?

cosa che meglio fare presto e spesso. Elencher ora alcuni comandi, insieme a quelli che avete gi imparato, e che potete provare: suggerisco di familiarizzare con questi prima di andare avanti:
C-f C-b C-n C-p C-a C-e C-v C-l C-d C-k 121#121 Muove avanti di un carattere. Muove indietro di un carattere. Va alla riga successiva. Va alla riga precedente. Va all'inizio della riga. Va alla fine della riga. Va alla pagina/schermata di testo successiva. Ridisegna lo schermo, con la riga corrente al centro. Elimina il carattere sotto il cursore (provate ad usarlo). Elimina il testo dal cursore alla fine della riga. Elimina il carattere precedente (quello appena digitato).

C-x C-s Salva il buffer nel file corrispondente.

Next: Iniziare velocemente con X Up: Modificare file con Emacs Previous: Modificare file con Emacs Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node89.html (4 di 4) [02/07/2001 15.11.49]

Iniziare velocemente con X

Cerca nel sito:

Iniziare velocemente con X


-to Se volete solo modificare velocemente dei file ed usate X, potete farlo usando solo i men in cima alla finestra:
1#1

= 122#122 Questi men non sono disponibili in modalit testo. Quando avviate Emacs per la prima volta avrete quattro men in cima alla finestra: Buffers, File, Edit e Help. Per usare un men, semplicemente spostate il puntatore del mouse sopra il nome (ad esempio File), premete e tenete premuto il pulsante sinistro del mouse, poi spostate il puntatore sul comando che volete usare e rilasciate il pulsante. Se cambiate idea, spostate il puntatore lontano dai men e rilasciate il pulsante. Il men Buffers elenca i diversi file che state modificando in questa sessione di Emacs: il men File comprende una serie di comandi per caricare e salvare file--molti di questi saranno descritti pi avanti. Il men Edit contiene alcuni comandi per modificare i buffer, e il men Help dovrebbe dare la documentazione in linea. Potete notare che i corrispondenti da tastiera sono elencati a destra delle voci nei men. Dovreste cercare di impararli se contate di diventare pi veloci; inoltre molte delle funzionalit di Emacs sono disponibili solamente attraverso la tastiera--quindi vi sar utile leggere il resto di questo capitolo.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node90.html (1 di 2) [02/07/2001 15.11.57]

Iniziare velocemente con X

Next: Modificare pi file contemporaneamente Up: Modificare file con Emacs Previous: Cos' Emacs? Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Modificare pi file contemporaneamente Up: Modificare file con Emacs Previous: Cos' Emacs? Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node90.html (2 di 2) [02/07/2001 15.11.57]

Modificare pi file contemporaneamente

Cerca nel sito:

Modificare pi file contemporaneamente


Emacs pu lavorare su pi di un file alla volta. In effetti, il solo limite alla quantit di buffer che Emacs pu contenere dipende dalla memoria disponibile nella macchina. Il comando per aprire un nuovo file nel buffer di Emacs C-x C-f. Quando lo digitate, vi verr chiesto il nome di un file nel minibuffer: 123#123 La sintassi usata qui la stessa usata per specificare i file dal prompt della shell; la barra rappresenta le subdirectory, ~ indica la vostra home directory. Potete ottenere anche il completamento automatico, nel senso che se quello che avete scritto al prompt sufficiente per identificare univocamente un file, potete semplicemente premere 77#77 per completarlo (o per vedere i possibili completamenti, se ce ne sono pi di uno). Anche 40#40 ha un ruolo nel completamento dei nomi dei file, simile a 77#77, ma vi lascio provare per vedere le differenze. Una volta che avete completato il nome del file nel minibuffer, premete 4#4, ed Emacs vi presenter un buffer contenente quel file. In Emacs, questo processo noto come finding (ricerca) di un file. Andiamo avanti, troviamo qualche altro file di testo e carichiamolo in Emacs (fatelo dal buffer originale file.txt). Adesso avete un nuovo buffer; poniamo che si chiami altro_file.txt, dato che non posso vedere la vostra linea di stato. Il vostro buffer originale sembra scomparso--vi starete probabilmente chiedendo dove sia finito. ancora dentro Emacs, e potete attivarlo nuovamente con C-x b. Quando lo digitate, vedrete nel minibuffer una richiesta per sapere quale buffer attivare, e propone un nome di default. Il buffer di default quello a cui passate se premete solamente 4#4, senza scrivere un nome. Il buffer di default
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node91.html (1 di 3) [02/07/2001 15.11.59]

Modificare pi file contemporaneamente

sempre quello che avete lasciato per ultimo, cos quando state lavorando molto tra due buffer, C-x b permette di passare per default all'altro buffer (facendovi risparmiare di scriverne il nome). Anche se il buffer di default quello che volete, potete comunque tentare di scrivere il suo nome. Notate che avete la possibilit di sfruttare il completamento automatico come quando cercate un file: premendo 77#77 viene completato quanto possibile. Ogni volta che viene chiesto qualcosa nel minibuffer, una buona idea vedere se Emacs riesce a fare il completamento: sfruttare la possibilit del completamento quando viene offerta permette di risparmiare parecchie digitazioni. Emacs generalmente esegue il completamento quando state scegliendo una voce da una lista predefinita. Tutto quello che avete imparato su come spostarvi e modificare il testo nel primo buffer si applica anche agli altri. Andate avanti e cambiate un po' di testo nel nuovo buffer, ma non salvatelo (cio non premete C-x C-s). Assumiamo che voi vogliate annullare le vostre modifiche senza salvarle nel file; il comando per farlo C-x k, che ``uccide'' (kill) il buffer. Digitatelo ora: per prima cosa vi viene chiesto quale buffer eliminare, ma quello di default il buffer corrente, e di solito si elimina quello, quindi premete semplicemente 4#4; poi vi viene chiesto se volete realmente eliminare il buffer--Emacs controlla sempre prima di eliminare un buffer che contiene modifiche non salvate. Digitate semplicemente ``yes'' e premete 4#4, se volete eliminarlo. Andate avanti e fate pratica caricando file, modificandoli, salvandoli e eliminando i loro buffer. Assicuratevi di non modificare nessun file importante di sistema, in modo da non provocare disastri,8.3 ma cercate comunque di aprire almeno cinque buffer contemporaneamente, in modo da capire come commutare tra un buffer e un altro.

Next: Terminare una sessione di Up: Modificare file con Emacs Previous: Iniziare velocemente con X Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node91.html (2 di 3) [02/07/2001 15.11.59]

Modificare pi file contemporaneamente

Next: Terminare una sessione di Up: Modificare file con Emacs Previous: Iniziare velocemente con X Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node91.html (3 di 3) [02/07/2001 15.11.59]

Terminare una sessione di Scrittura

Cerca nel sito:

Terminare una sessione di Scrittura


Quando avete finito di lavorare con Emacs, assicuratevi che le modifiche in tutti i buffer siano state salvate, e uscite con C-x C-c. A volte C-x C-c vi pone un paio di domande nel minibuffer prima di lasciarvi--non allarmatevi, semplicemente rispondete in modo ovvio. Se pensate di dover ritornare in Emacs pi tardi, non usate C-x C-c; usate C-z, che lo sospender. Potete tornarvi nuovamente con il comando della shell ``fg'': pi efficiente di chiudere e far ripartire Emacs diverse volte, specialmente se dovete modificare di nuovo lo stesso file pi tardi. -to Sotto X, premere C-z iconizza semplicemente la finestra. Guardate la sezione sull'iconizzazione nel capitolo . Questo vi d due modi per iconizzare Emacs, il modo solito offerto dal vostro gestore di finestre, e C-z. Ricordatevi, quando iconizzate, un semplice fg non fa riapparire la finestra--dovete ricorrere al gestore di finestre.
1#1

Next: Il Tasto Meta Up: Modificare file con Emacs Previous: Modificare pi file contemporaneamente Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Il Tasto Meta Up: Modificare file con Emacs Previous: Modificare pi file contemporaneamente

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node92.html (1 di 2) [02/07/2001 15.12.22]

Terminare una sessione di Scrittura

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node92.html (2 di 2) [02/07/2001 15.12.22]

Il Tasto Meta

Cerca nel sito:

Il Tasto Meta
Avete gi imparato un tasto ``modificatore'' in Emacs, il tasto 118#118: ne esiste un secondo, il tasto Meta, che usato altrettanto frequentemente. Comunque, non tutte le tastiere hanno il tasto Meta nello stesso posto, e alcune non ce l'hanno proprio; la prima cosa che dovete fare trovare dove si trova sulla vostra tastiera. possibile che i tasti 65#65 della tastiera siano anche tasti Meta, se state usando un PC IBM o altre tastiere che hanno un tasto 65#65. Il modo per provarlo tenere premuto un tasto che pensate possa essere un tasto Meta e premere ``x''. Se vedete apparire un piccolo prompt nel minibuffer (tipo: M-x) allora l'avete trovato. Per togliere il prompt e tornare al buffer di Emacs, premete C-g. Se non riuscite a ottenere un prompt, allora c' un'altra soluzione: potete usare come tasto Meta il tasto 124#124, ma invece di tenerlo premuto mentre scrivete la lettera successiva, dovete premerlo e rilasciarlo rapidamente, e successivamente digitare la lettera. Questo metodo funziona sia che abbiate un vero tasto Meta sia che non lo abbiate, dunque il metodo pi semplice. Provate adesso a premere 124#124 e poi a premere ``x''. Dovreste ottenere nuovamente il piccolo prompt. Usate semplicemente C-g per annullarlo. C-g il modo pi generale in Emacs per uscire da qualcosa che non volevate fare: generalmente fa un beep per avvisare che avete interrotto qualcosa, ma va bene, dato che quello che volevate fare premendo C-g!8.4 La notazione M-x analoga a C-x (dove ``x'' un carattere qualsiasi). Se avete trovato un tasto Meta, usate quello, altrimenti usate il tasto 124#124. Scriver semplicemente M-x e saprete che dovrete usare il vostro tasto Meta.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node93.html (1 di 2) [02/07/2001 15.12.24]

Il Tasto Meta

Next: Tagliare, Incollare, Eliminare Up: Modificare file con Emacs Previous: Terminare una sessione di Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Tagliare, Incollare, Eliminare Up: Modificare file con Emacs Previous: Terminare una sessione di Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node93.html (2 di 2) [02/07/2001 15.12.24]

Tagliare, Incollare, Eliminare

Cerca nel sito:

Tagliare, Incollare, Eliminare


Emacs, come tutti i buoni editor, permette di tagliare e incollare blocchi di testo. Per farlo avete bisogno di un modo per definire l'inizio e la fine del blocco: in Emacs si fa impostando due punti nel buffer, chiamati mark e point . Per impostare il mark (inizio), andate alla posizione in cui volete che inizi il blocco e premete C-SPC (``SPC'' indica il tasto 40#40). Dovreste vedere il messaggio ``Mark set'' (Mark impostato) nel minibuffer.8.5 Il mark stato impostato in quel punto; non ci sono particolari evidenziazioni che lo indicano, ma voi sapete dove lo avete messo, ed questo che importa. Che dire di point? Beh, viene impostato ogni volta che muovete il cursore, in quanto ``point'' si riferisce semplicemente alla posizione corrente nel buffer. In termini pi formali, point il punto dove verrebbe inserito il testo quando digitate qualcosa. Impostando il mark e spostandovi alla fine del testo avete definito un blocco di testo, detto anche regione . La regione indica sempre l'area tra mark e point. La semplice definizione di una regione non la rende disponibile per incollarla, ma dovete comunicare ad Emacs di copiarla. Per copiare la regione, assicuratevi che mark e point siano correttamente impostati e premete M-w. La regione stata copiata in Emacs. Per incollarla altrove, andate in quella posizione e premete C-y (per ``yanking''). Se volete spostare il testo della regione altrove, usate C-w al posto di M-w. Questo eliminer la regione--tutto il testo sparir. In effetti stato salvato allo stesso modo di M-w. Potete riportarlo indietro con C-y, incollandolo come al solito. Il posto in cui Emacs salva tutto questo testo si chiama kill-ring. Alcuni editor lo chiamano ``clipboard'' (appunti) o ``buffer di incolla''. C' un altro modo per tagliare e incollare: ogni volta che usate C-k per eliminare fino alla fine della linea, il testo eliminato finisce nel kill-ring. Se eliminate pi di una riga, queste vengono salvate tutte insieme nel kill-ring, in modo che la prossima volta che incollate, incollerete tutte le linee insieme. Grazie a questa caratteristica, spesso pi veloce usare ripetutamente C-k per eliminare del testo che impostare esplicitamente mark e point e usare C-w; comunque, entrambi i sistemi funzionano, ed una preferenza personale quale dei due usare.

Next: Cercare e Sostituire Up: Modificare file con Emacs Previous: Il Tasto Meta Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node94.html (1 di 2) [02/07/2001 15.12.28]

Tagliare, Incollare, Eliminare

Trovato qualche cosa che non va? Segnalamelo :)

Next: Cercare e Sostituire Up: Modificare file con Emacs Previous: Il Tasto Meta Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node94.html (2 di 2) [02/07/2001 15.12.28]

Cercare e Sostituire

Cerca nel sito:

Cercare e Sostituire
Ci sono parecchi modi per cercare del testo in un file con Emacs; molti sono abbastanza complessi e non li vedremo qui. Il modo pi semplice e divertente usare isearch : ``isearch'' sta per ``ricerca incrementale''. Supponiamo che vogliate cercare la stringa ``leone'' nel seguente testo: Gli animali sono creature molto interessanti. Il mio animale preferito la tigre, un terrificante animale con grandi denti. Mi piace anche il leone--non di certo un erbivoro! Dovete spostarvi all'inizio del buffer, o almeno in un punto che sapete precedere la prima ricorrenza della parola da cercare, ``leone'', e premere C-s: questo vi pone in modalit ricerca. Adesso iniziate a scrivere la parola che volete trovare, ``leone''. Appena scrivete ``l'', vedrete che Emacs salta alla prima ricorrenza di ``l'' nel testo; se il testo precedente tutto il contenuto del buffer, allora questa la lettera ``l'' della parola ``Gli''. Premete ora ``e'' di ``leone'', e Emacs arriver ad ``animale'', che la prima ricorrenza di ``le''. La ``o'' far arrivare Emacs a ``leone'', senza farvi scrivere l'intera parola. Quello che si fa durante una ricerca incrementale definire una stringa da cercare. Ogni volta che aggiungete un carattere alla fine della stringa il numero di corrispondenze si riduce, finch non avrete inserito abbastanza caratteri da definire la stringa in modo univoco. Una volta trovata la corrispondenza che cercavate, potete uscire dalla modalit ricerca con il tasto 4#4 o qualsiasi dei tasti di movimento. Se pensate che la stringa da cercare sia indietro nel buffer, allora dovreste usare C-r, che esegue la ricerca nella direzione inversa. Se incontrate una corrispondenza, ma non quella che cercavate, premete C-s
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node95.html (1 di 3) [02/07/2001 15.12.30]

Cercare e Sostituire

nuovamente mentre siete ancora in modalit ricerca: ogni volta che premerete questo tasto vi sposterete nella successiva corrispondenza completa. Se non ci sono pi corrispondenze, Emacs dir che la ricerca fallita, ma se premete nuovamente C-s, la ricerca ripartir dall'inizio del buffer. Vale anche per C-r--ripartir dalla fine del buffer. Provate a prendere un buffer di testo semplice ed eseguite la ricerca per la stringa ``gli''. Digitate innanzitutto quello che cercate, quindi usate ripetutamente C-s per andare a tutte le ripetizioni di ``gli''. Notate che questo corrisponde anche a parole che contengono la stringa ``gli''. Per cercare unicamente ``gli'', dovete aggiungere uno spazio alla fine della stringa da cercare. Potete aggiungere caratteri nuovi alla stringa in qualsiasi punto della ricerca, anche dopo aver premuto ripetutamente C-s per trovare le corrispondenze successive. Potete usare anche 121#121 o 125#125 ( 126#126) per rimuovere caratteri dalla stringa di ricerca in qualsiasi momento; premendo 4#4si esce dalla modalit ricerca, lasciandovi all'ultima corrispondenza trovata. Emacs vi permette anche di sostituire tutte le ripetizioni di una stringa con qualche altra stringa--si chiama cerca-sostituisci. Per richiamarlo, digitate M-x query-replace e premete 4#4. Il completamento viene fatto anche sul nome del comando, quindi una volta che avete inserito ``query-re'', potete premere 77#77 per completarlo. Diciamo che volete sostituire tutte le ricorrenze di ``leone'' con ``tigre''. Al prompt ``Query replace'' digitate ``leone'' e premete 4#4; vi viene richiesto nuovamente dell'input, e dovete inserire ``tigre''. Emacs quindi scorrer il testo, si fermer ad ogni ricorrenza della parola ``leone'', e vi chieder se volete sostituirla. Premete semplicemente ``y'' o ``n'' ogni volta, per ``Yes'' o ``No'', finch non finisce. Se non avete capito leggendolo, provateci.

Next: Ma che succede veramente? Up: Modificare file con Emacs Previous: Tagliare, Incollare, Eliminare Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Ma che succede veramente? Up: Modificare file con Emacs Previous: Tagliare, Incollare, Eliminare
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node95.html (2 di 3) [02/07/2001 15.12.30]

Cercare e Sostituire

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node95.html (3 di 3) [02/07/2001 15.12.30]

Ma che succede veramente?

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Ma che succede veramente?


In realt, le combinazioni di tasti che avete imparato sono scorciatoie per delle funzioni di Emacs. Per esempio, C-p un modo breve per dire a Emacs di eseguire la funzione interna previous-line (linea precedente). Tutte queste funzioni interne possono essere richiamate anche per nome, usando M-x; se vi dimenticate che previous-line associata a C-p, potete semplicemente digitare M-x previous-line 4#4, e vi muoverete verso l'alto di una linea. Provatelo adesso, per capire come M-x previous-line e C-p sono realmente la stessa cosa. Chi ha progettato Emacs partito dalla base, definendo prima un intero set di funzioni interne, e poi associando delle combinazioni di tasti a quelle pi utilizzate. A volte pi semplice richiamare esplicitamente una funzione con M-x invece di ricordarsi a quale tasto associata. La funzione query-replace, per esempio, associata in alcune versioni di Emacs a M-%. Ma come si fa a ricordarsi una combinazione cos strana? A meno che non usiate molto spesso cerca-sostituisci, pi semplice richiamarla con M-x. La maggior parte dei tasti che digitate sono lettere, che devono essere nel testo del buffer; quindi ognuno di questi tasti associato alla funzione self-insert-command, che non fa nient'altro che inserire quella lettera nel buffer. Le combinazioni che usano il tasto 118#118 con una lettera generalmente sono associate a funzioni che fanno altre cose, come lo spostamento. Per esempio, C-v associato alla funzione chiamata scroll-up, che fa scorrere il buffer in alto di una schermata (in modo che la vostra posizione nel buffer si sposta in basso, naturalmente). Se volete inserire un carattere Control nel buffer, come potete fare? Dopo tutto, i caratteri Control sono caratteri ASCII, anche se vengono usati raramente, e potreste doverli inserire in un file. C' un modo per evitare che Emacs interpreti i caratteri Control come comandi: il tasto C-q8.6 associato ad una funzione speciale chiamata quote-insert. Tutto quello che fa quote-insert leggere il tasto seguente ed inserirlo letteralmente nel buffer, senza tentare di interpretarlo come comando. Questo il modo per inserire caratteri Control nei file con Emacs. Naturalmente per inserire un C-q bisogna premere C-q due volte! Emacs ha anche molte funzioni che non sono associate a nessun tasto. Per esempio, se state scrivendo un messaggio lungo, non dovete premere 4#4alla fine di ogni linea; potete farlo fare ad Emacs (gli si pu far fare qualsiasi cosa)--il comando per farlo auto-fill-mode, ma non normalmente associato a nessun tasto. Per richiamare questo comando sufficiente digitare ``M-x auto-fill-mode''. ``M-x'' il tasto usato per richiamare le funzioni per nome. Potete

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node96.html (1 di 2) [02/07/2001 15.12.34]

Ma che succede veramente?

usarlo anche per richiamare funzioni come next-line e previous-line, ma sarebbe molto poco efficiente, dato che gi sono associate a C-n e C-p! Ad ogni modo, se guardate la riga di stato dopo aver richiamato auto-fill-mode, noterete che stata aggiunta la parola ``Fill'' sul lato destro. Fintanto che rimane l, Emacs suddivider automaticamente il testo in linee. Potete sospendere questa funzione premendo nuovamente ``M-x auto-fill-mode''-- un comando di commutazione. Il lato negativo di digitare lunghi nomi di funzioni nel minibuffer minimo, dato che Emacs completa i nomi delle funzioni nello stesso modo che i nomi dei file, quindi raramente vi capiter di dover scrivere per intero il nome della funzione. Se non siete sicuri se potete usare il completamento automatico, premete 77#77. Non preoccupatevi, nel peggiore dei casi vi mostrer l'elenco dei comandi possibili, altrimenti, se siete fortunati, completer il comando voluto.

Next: Chiedere aiuto ad Emacs Up: Modificare file con Emacs Previous: Cercare e Sostituire Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Chiedere aiuto ad Emacs Up: Modificare file con Emacs Previous: Cercare e Sostituire Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node96.html (2 di 2) [02/07/2001 15.12.34]

Chiedere aiuto ad Emacs

Cerca nel sito:

Chiedere aiuto ad Emacs


Emacs ha una guida molto esauriente--tanto esauriente, in effetti, che ne possiamo appena accennare il contenuto. Le caratteristiche basilari della guida sono accessibili premendo C-h e poi una singola lettera. Per esempio, C-h k fornisce la guida su un tasto (vi chiede di premere un tasto e vi dice cosa fa). C-h t vi porta in un breve manuale di Emacs. C-h C-h apre la guida della guida, per dirvi cosa disponibile una volta premuto il tasto C-h la prima volta. Se sapete il nome di una funzione di Emacs (save-buffer, per esempio), ma non vi ricordate a quale sequenza di tasti associata, allora usate C-h w, per ``where-is'' (dov'), e digitate il nome della funzione. Oppure, se volete sapere cosa fa una funzione in dettaglio, usate C-h f, che vi chiede il nome di una funzione. Ricordatevi, dato che Emacs esegue il completamento del nome delle funzioni, non dovete essere sicuri del nome di una funzione per richiedere la relativa pagina della guida: se pensate di poter indovinare come inizia il nome, digitatelo e premete 77#77 per vedere se il completamento fa qualcosa, altrimenti tornate indietro e riprovate con qualcos'altro. Lo stesso vale per i nomi dei file: anche se non vi ricordate tutto il nome che avete dato ad un file che non toccate da tre mesi, potete provare ad usare il completamento per trovare il nome giusto. Imparate ad usare il completamento anche per chiedere informazioni, non solo come un modo per risparmiare digitazioni. Ci sono altri caratteri che potete digitare dopo C-h, e ognuno vi d una guida di tipo diverso. Quelli che userete pi spesso sono C-h k, C-h w e C-h f. Quando avrete pi familiarit con Emacs, un altro da provare C-h a, che chiede una stringa e vi comunica tutte le funzioni il cui nome contiene quella

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node97.html (1 di 2) [02/07/2001 15.12.35]

Chiedere aiuto ad Emacs

stringa (``a'' sta per ``apropos'', a proposito di...). Un'altra sorgente di informazioni il lettore di documentazione Info. Info un argomento troppo complesso da approfondire qui, ma se vi interessa esplorarlo da soli, digitate C-h i e leggete il paragrafo in cima allo schermo, che vi dir come ottenere maggiore aiuto.

Next: I buffer specializzanti: le Up: Modificare file con Emacs Previous: Ma che succede veramente? Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: I buffer specializzanti: le Up: Modificare file con Emacs Previous: Ma che succede veramente? Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node97.html (2 di 2) [02/07/2001 15.12.35]

I buffer specializzanti: le modalit

Cerca nel sito:

I buffer specializzanti: le modalit


Fundamental Mode: Major mode not specialized for anything in particular. Other major modes are defined by comparison with this one.

Cio:
(Modalita' fondamentale: Principale modalita', non specializzata per niente in particolare. Le altre modalita' maggiori vengono definite in confronto ad essa.)

Next: Modlit di programmazione Up: Modificare file con Emacs Previous: Chiedere aiuto ad Emacs Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Modlit di programmazione Up: Modificare file con Emacs Previous: Chiedere aiuto ad Emacs

I buffer di Emacs hanno delle modalit associate ad essi8.7; la ragione che avete bisogno di cose diverse se state scrivendo una mail o, ad esempio, se state scrivendo un programma. Invece di cercare di fare un editor che venisse sempre incontro ai bisogni di tutti (che sarebbe impossibile), il progettista di Emacs8.8 ha
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node98.html (1 di 2) [02/07/2001 15.12.37]

I buffer specializzanti: le modalit

scelto di far comportare Emacs in modo diverso a seconda di cosa state facendo in ciascun buffer. Quindi, i buffer hanno delle modalit, ciascuna progettata per un'attivit specifica. La caratteristica principale che distingue una modalit dall'altra sono i corrispondenti da tastiera, ma ci possono essere anche altre differenze. La modalit pi semplice la fondamentale, che non ha nessun comando speciale. In effetti, ecco cosa dice Emacs della Modalit Fondamentale: Per avere queste informazioni ho fatto cos: ho digitato C-x b, che corrisponde a switch-to-buffer (passa al buffer), ed ho digitato ``pippo'' quando mi ha chiesto il nome del buffer a cui passare. Dato che non esisteva un buffer che si chiamava ``pippo'', Emacs lo ha creato e ci passato. Per default era in modalit fondamentale, ma se non lo fosse stato avrei potuto digtare ``M-x fundamental-mode'' per portarcelo. Tutti i nomi delle modalit hanno un comando ``<nome-modalit>-mode che porta il buffer corrente in quella modalit. Poi, per avere le informazioni sulla modalit maggiore del buffer, ho digitato C-h m, che d la guida sulla modalit maggiore corrente del buffer in cui vi trovate. C' una modalit leggermente pi utile che si chiama text-mode, che ha i comandi speciali M-S, per center-paragraph, (centra-paragrafo), e M-s, che richiama center-line (centra-linea). M-S, in ogni caso, significa proprio quello che pensate: tenete premuti il tasto 127#127 ed il tasto 128#128, e premete ``S''. Non vi fidate di me--create un buffer nuovo, portatelo in modalit testo (text-mode), e digitate C-h m. Forse non capirete tutto quello che Emacs vi dir, ma dovreste ricavarne delle informazioni utili. Ecco un'introduzione ad alcune delle modalit usate pi comunemente. Se le usate, assicuratevi di digitare C-h m in tutte, per avere altre informazioni su tutte le modalit.
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node98.html (2 di 2) [02/07/2001 15.12.37]

Modlit di programmazione

Cerca nel sito:

Modlit di programmazione
q q q

Modalit C Modalit Scheme Modalit posta

Next: Modalit C Up: Modificare file con Emacs Previous: I buffer specializzanti: le

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node99.html [02/07/2001 15.12.39]

Modalit C

Cerca nel sito:

Modalit C
Next: Modalit Scheme Up: Modlit di programmazione Previous: Modlit di programmazione

Se usate Emacs per programmare in linguaggio C , gli potete far rientrare le linee automaticamente. I file con nomi che finiscono per ``.c '' o ``.h'' vengono aperti automaticamente in modalit c-mode, in cui sono disponibili alcuni comandi speciali, utili per scrivere programmi in C. In modalit C, 77#77 corrisponde al comando c-indent-command, cio, premendo il tato 77#77 non si inserisce un carattere di tabulazione vero e proprio, ma la linea viene rientrata a seconda della sua posizione nel programma. Questo implica che Emacs conosce qualcosa della sintassi del C, ed vero, anche se non sa niente della semantica--non pu fare in modo che il vostro programma non contenga errori! Per calcolare il rientro della linea emacs assume che le linee precedenti siano rientrate correttamente. Se nella linea precedente manca una parentesi tonda o graffa, un punto e virgola, o qualcos'altro del genere, Emacs rientrer la linea in maniera sbagliata. Quando vedrete che fa cos, saprete che dovete controllare la punteggiatura della linea precedente. Potete usare questa caratteristica per controllare la punteggiatura dei programmi--invece di leggere il programma intero cercando gli errori, fate rientrare le linee dall'inizio del programma usando 77#77, e quando vedete che i rientri sono strani, controllate le linee precedenti. In altre parole, fate lavorare Emacs!
Next: Modalit Scheme Up: Modlit di programmazione Previous: Modlit di programmazione Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node100.html (1 di 2) [02/07/2001 15.12.40]

Modalit C

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node100.html (2 di 2) [02/07/2001 15.12.40]

Modalit Scheme

Cerca nel sito:

Modalit Scheme
una modalit maggiore che non vi servir a niente se non avete un compilatore o un interprete per il linguaggio di programmazione Scheme. Averlo non cos frequente come, ad esempio, avere un compilatore C, ma sta diventando molto comune, quindi ne parleremo lo stesso. Molto di ci che vale per la modalit Scheme vale anche per la modalit Lisp, se preferite scrivere in Lisp . Beh, per farla complicata, Emacs ha due modalit Scheme diverse, perch ci sono due diverse correnti di pensiero. Quella che descriver si chiama cmuscheme , e poi, nella sezione sulla personalizzazione di Emacs, parler di come ci possano essere due modalit Scheme diverse, e come usarle. Per adesso non vi preoccupate se quello che succede sul vostro Emacs non corriponde perfettamente a quello che dico qui. Un editor personalizzabile per forza imprevedibile, e non c' niente da fare! In Emacs potete far girare un processo Scheme interattivo, con il comando M-x run-scheme. Questo comando crea un buffer con nome ``*scheme*'', che contiene il normale prompt di Scheme. Al prompt potete inserire espressioni Scheme, premere 4#4, e Scheme le valuter e mostrer la risposta. Poi, per poter interagire con il processo Scheme, potete inserire tutte le definizioni di funzioni e le applicazioni che volete. Probabilmente avete gi scritto del codice sorgente Scheme in qualche file, e sarebbe pi facile lavorare su quel file e mandare le definizioni al buffer del processo di Scheme, se necessario. Se i file sorgente finisce per ``.ss'' o ``.scm'', verr aperto automaticamente in modalit Scheme quando lo trovate con C-x C-f. Se per qualche ragione non viene aperto in modalit Scheme, si pu fare a mano con il comando M-x scheme-mode. Questa modalit scheme-mode non la stessa cosa del buffer in cui gira il processo Scheme; piuttosto, il codice sorgente che si trova in scheme-mode ha dei comandi speciali per comunicare con il buffer del processo.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node101.html (1 di 2) [02/07/2001 15.12.43]

Modalit Scheme

Se vi mettete all'interno di una definizione di funzione nel buffer del codice sorgente Scheme e digitate C-c C-e, quella definizione verr ``inviata'' al buffer del processo -- esattamente come se ce l'aveste digitata dentro. C-c M-e invia la definizione e poi vi porta nel buffer del processo per fare il lavoro interattivo. C-c C-l carica un file di codice Scheme (funziona sia per il buffer del processo che per il buffer del codice sorgente). Inoltre, come per le altre modalit di programmazione, digitare 77#77 in qualsiasi punto di una linea di codice fa rientrare correttamente la linea. Se siete al prompt del buffer del processo, potete usare M-p e M-n per spostarvi tra i comandi che avete dato in precedenza (storia di input). Cos, se state facendo il debug della funzione `rotate', e l'avete gi applicata a degli argomenti del buffer del processo, cos: 129#129 potete richiamare questo comando digitando M-p al prompt. Non ci dovrebbe essere bisogno di ridigitare espressioni lunghe al prompt di Scheme -- abituatevi ad usare la storia di input e risparmierete un sacco di tempo. Emacs conosce un bel po' di linguaggi di programmazione: C, C++, Lisp e Scheme sono solo alcuni. In genere, sa come fare i rientri delle linee in modo intuitivo.
Next: Modalit posta Up: Modlit di programmazione Previous: Modalit C Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Modalit posta Up: Modlit di programmazione Previous: Modalit C Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node101.html (2 di 2) [02/07/2001 15.12.43]

Modalit posta

Cerca nel sito:

Modalit posta
Sotto la linea separatrice potete scrivere quello che volete. Quando siete pronti a spedire, digitate C-c C-c, ed Emacs spedir il messaggio e canceller il buffer della posta.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Come essere ancora pi Up: Modlit di programmazione Previous: Modalit Scheme

Con Emacs si possono anche creare e mandare messaggi di posta elettronica . Per entrare in un buffer di posta, digitate C-x m. Dovete riempire i campi To: e Subject:, ed usare C-n per scendere sotto la linea separatrice e scrivere il corpo del messaggio (che inizialmente vuoto). Non modificate o cancellate la linea separatrice, o Emacs non potr spedire il messaggio--usa quella linea per distinguere l'intestazione del messaggio, che gli dice dove spedirlo, dal vero contenuto del messaggio stesso.
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node102.html [02/07/2001 15.12.44]

Come essere ancora pi efficienti

Cerca nel sito:

Come essere ancora pi efficienti


Quando vi spostate nel testo, usate il modo pi veloce. Sapete che C-f sta per forward-char (avanti di un carattere)--riuscite ad indovinare che M-f sta per forward-word (avanti di una parola)? C-b sposta indietro di un carattere. Cosa far M-b? E non tutto: vi potete spostare in avanti di una frase alla volta con M-e, se alla fine di una frase mettete almeno due spazi dopo il punto finale (altrimenti Emacs non si accorge di dove finisce la frase e ne inizia un'altra). M-a sposta indietro di una frase. Se vi ritrovate ad usare C-f multipli per arrivare alla fine della linea, vergognatevi e la prossima volta usate C-e, e C-a per andare all'inizio della linea. Se usate molti C-n per spostarsi in gi schermata per schermata, vergognatevi e d'ora in poi usate C-v. Se usate ripetutamente C-p per scorrere in alto di parecchie pagine, vergognatevi di farvi vedere in pubblico ed usate M-v. Se siete quasi alla fine di una linea e vi accorgete che avete sbagliato qualcosa all'inizio della linea, non usate 121#121 o 126#126 per tornare indietro...dovreste cancellare delle intere parole scritte bene! Invece, usate delle combinazioni di M-b, C-b, e C-f per spostarsi sull'errore, correggetelo, e poi usate C-e per spostarvi di nuovo alla fine della linea. Quando dovete digitare il nome di un file, non inseritelo mai tutto. Digitate abbastanza caratteri per identificarlo univocamente, e fate fare il resto al completamento di Emacs premendo 77#77 o 40#40. Perch sprecare digitazioni se invece potete sprecare cicli di CPU? Se state digitando del testo semplice, e il testo non vi va a capo, usate M-q, che corrisponde a fill-paragraph nelle normali modalit di testo. Vi ``aggiuster'' il paragrafo come se foste andati a capo linea per linea a mano. M-q funziona solo da dentro il paragrafo, o dal suo inizio o dalla fine. Qualche volta aiuta usare C-x u, (undo), che cercher di annullare gli ultimi cambiamenti fatti. Emacs tira ad indovinare quanti passaggi annullare; di solito molto intelligente. Richiamare il comando pi volte annuller sempre pi comandi, finch Emacs non si ricorder pi quali cambiamenti sono stati fatti.
Next: Personalizzare Emacs Up: Modificare file con Emacs Previous: Modalit posta Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node103.html (1 di 2) [02/07/2001 15.12.49]

Come essere ancora pi efficienti

Next: Personalizzare Emacs Up: Modificare file con Emacs Previous: Modalit posta

Gli utenti esperti di Emacs sono fanatici dell'efficienza. In effetti, perderanno spesso un sacco di tempo per cercare dei modi per essere pi efficienti! Anche se non voglio che succeda anche a voi, ecco alcuni facili suggerimenti per diventare un utente di Emacs pi bravo. Talvolta gli utenti esperti fanno sentire i novellini degli scemi perch non conoscono questi trucchi--per qualche strana ragione, la gente diventa quasi ``religiosa'' per usare Emacs ``correttamente''; condannerei questo tipo di elitarismo, se non ne fossi colpevole anche io. Ecco qui:
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node103.html (2 di 2) [02/07/2001 15.12.49]

Personalizzare Emacs

Cerca nel sito:

Personalizzare Emacs
Emacs cos grande e complesso, che ha addirittura il suo proprio linguaggio di programmazione! Non sto scherzando: per poter personalizzare veramente Emacs, dovrete scrivere dei programmi in questo linguaggio; si chiama Emacs Lisp, ed un dialetto del Lisp; se avete precedenti esperienze in Lisp lo troverete abbastanza facile. Altrimenti, non vi preoccupate: non entrer molto nei particolari, perch meglio imparare facendo. Per imparare veramente ad usare Emacs, dovreste consultare la documentazione Info su Emacs Lisp, e leggere molto codice sorgente Emacs Lisp. La maggior parte delle funzionalit di Emacs vengono definite nei file di Emacs Lisp8.9 La maggior parte di questi file vengono distribuiti con Emacs, e sono noti in generale come ``libreria Emacs Lisp''. Dove si trova questa libreria dipende da come Emacs stato installato sul vostro sistema -- posti comuni sono /usr/lib/emacs/lisp, /usr/lib/emacs/19.19/lisp/, eccetera. ``19.19'' il numero di versione di Emacs, e sul vostro sistema pu essere diverso. Non avete bisogno di ricercare la libreria di Lisp nel vostro filesystem, perch Emacs ha questa informazione registrata al suo interno, nella variabile load-path. Per trovare il valore di questa variabile, bisogna valutarla, cio bisogna far interpretare il suo valore dall'interprete Lisp di Emacs. In Emacs esiste una modalit speciale per valutare le espressioni Lisp, che si chiama lisp-interaction-mode. Di solito c' un buffer che si chiama ``*scratch*'' che gi in questa modalit. Se non lo trovate, create un nuovo buffer qualsiasi, e digitateci dentro M-x lisp-interaction-mode. Ora avete un'area di lavoro dove interagire con l'interprete Emacs Lisp. Digitate: 130#130 e quando avete finito premete C-j. Nella modalit di interazione Lisp, C-j collegato a eval-print-last-sexp. Una ``sexp'' un'``espressione-s'', cio un gruppo bilanciato di parentesi, che non ne include nessuna. Beh, cos un po' troppo semplificato, ma capirete di cosa si tratta lavorando con Emacs Lisp. Comunque, la valutazione di load-path dovrebbe essere una cosa del genere:

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node104.html (1 di 5) [02/07/2001 15.12.52]

Personalizzare Emacs

131#131 Non sar la stessa su tutti i sistemi, naturalmente, dato che dipende da come stato installato Emacs. L'esempio qui sopra viene da un sistema PC 386 con Linux. Come indica il testo qui sopra, load-path un elenco di stringhe; il nome di ogni stringa indica una directory che pu contenere file di Emacs Lisp. Quando Emacs deve caricare un file di codice Lisp, lo cerca in tutte queste directory, in ordine; se nell'elenco c' una directory che non esiste nel filesystem, Emacs la ignora. Quando lo avviate, Emacs cerca automaticamente di caricare il file .emacs dalla vostra home directory, quindi, se volete personalizzare Emacs, dovreste mettere i comandi di personalizzazione in .emacs. Le personalizzazioni pi comuni sono quelle dei corrispondenti da tastiera, quindi ecco come si fanno: 132#132 global-set-key una funzione di due argomenti: il tasto da collegare e la funzione a cui collegarlo. La parola ``global'' significa che il collegamento valido in tutte le modalit maggiori (esiste un'altra funzione, local-set-key, che collega un tasto ad una funzione in un singolo buffer). Qui sopra, ho collegato C-c l alla funzione goto-line. Il tasto viene descritto usando una stringa. La sintassi speciale ``\C-<char>'' sta a significare che il tasto 118#118 deve essere tenuto premuto mentre si preme il tasto <char>. Nello stesso modo, ``\M-<char>'' indica il tasto 127#127. Va tutto bene, ma come facevo a sapere che il nome della funzione era ``goto-line''? Potevo sapere solo di voler far corrispondere il tasto C-c l ad una funzione che richiede il numero di linea e sposta il cursore su quella linea, ma come facevo a sapere come si chiamava la funzione? qui che ci aiuta la guida in linea di Emacs: una volta che avete deciso che tipo di funzione state cercando, potete usare Emacs per ritrovare il suo nome esatto. Ecco un modo veloce e un po' sporco per farlo: dato che Emacs usa il completamento dei nomi delle funzioni, digitate semplicemente C-h f (che sta per describe-function, e quindi d la descrizione di una funzione), e poi digitate 77#77 senza scrivere niente. In questo modo chiedete ad Emacs di completare una stringa vuota, e quindi Emacs elenca tutte le funzioni! Ci vorr un po' per fare la lista completa, dato che Emacs ha molte funzioni interne, ma quando pronto ne mostrer tante quante ne entrano nello schermo. A questo punto, premete C-g per uscire dalla funzione di descrizione. Sar stato creato un buffer *Completions*'', che conterr tutta la lista che avete generato. Passate a quel buffer. Ora potete usare C-s e isearch per cercare la funzione che vi interessa. Ad esempio, probabile che una funzione che chiede il numero di una linea e passa a quella linea conterr la stringa ``line''. Quindi cercate la stringa ``line'', e alla fine troverete quello che cercate. Se volete usare un altro metodo, provate con C-h a, command-apropos, che mostra tutte le funzioni il cui nome contiene la stringa data. L'output di command-apropos un po' pi
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node104.html (2 di 5) [02/07/2001 15.12.52]

Personalizzare Emacs

complicato da leggere di una lista semplice, a mio parere, ma forse la penserete in modo diverso. Provate entrambi i metodi e vedete quale vi piace di pi. C' sempre la possibilit che Emacs non abbia nessuna funzione predefinita che faccia quello che volete. In questo caso, dovrete scrivervi la funzione da soli. Non vi parler di come farlo in questo libro--dovreste dare un'occhiata alla libreria Emacs Lisp e cercare degli esempi di definizioni di funzioni, e leggere le pagine Info su Emacs Lisp. Se per caso conoscete qualcuno che conosce bene Emacs, chiedetegli come fare; definire le proprie funzioni di Emacs non molto difficile--per darvi un'idea, ne ho scritte 131 nell'ultimo anno. Richiede un po' di pratica, ma non difficile da imparare. Un'altra cosa che si fa spesso nel file .emacs impostare alcune variabili a valori predefiniti. Per esempio, mettete questa linea nel vostro file .emacs, ed avviate una nuova copia di Emacs: 133#133 Emacs controlla il valore della variabile inhibit-startup-message per decidere se mostrare o no all'avvio determinate informazioni sulla versione e sulla mancanza di garanzia. L'espressione Lisp qui sopra usa il comando setq per impostare questa variabile al valore `t', uno speciale valore Lisp che significa vero (true). L'opposto di `t' e `nil', che il valore predefinito per `falso' nell'Emacs Lisp. Ed ecco due cosette che ho nel mio .emacs e che possono essere utili: 134#134 La prima espressione non fa considerare le maiuscole nell ricerche (compreso isearch); cio, la ricerca dar entrambe le versioni, con lettere maiuscole o minuscole, di un carattere, anche se la stringa di ricerca contiene solo le lettere minuscole. La seconda espressione imposta i rientri per le frasi del linguaggio C un po' pi piccoli del normale-- solo un gusto personale; trovo che renda il codice C pi leggibile. Il carattere di commento nel Lisp ``;''. Emacs ignora qualsiasi cosa che segua un punto e virgola, cos: 135#135 una buona idea commentare i vostri cambiamenti ai file Lisp, in modo che anche dopo sei mesi vi ricorderete di cosa stavate pensando mentre li modificavate. Se il commento appare da solo su una linea, anteponetevi due punti e virgola; aiuta Emacs a far rientrare correttamente i file Lisp. Potete trovare del materiale sulle variabili interne di Emacs nello stesso modo che avete usato per le funzioni. Usate C-h v e describe-variable per creare una lista dei completamenti, oppure usate C-h C-a apropos. Apropos si distingue da C-h a, command-apropos nel fatto che mostra le funzioni e le variabili invece che solo le funzioni. L'estensione di default per i file Emacs Lisp ``.el'', come in ``c-mode.el''. Comunque, per rendere pi veloce il codice Lisp, Emacs permette di compilarlo byte per byte; questi file di codice Lisp compilato hanno estensione ``.elc'' invece di ``.sl''. L'eccezione a questa regola il file ``.emacs'', che non ha bisogno dell'estensione .el perch Emacs sa dove cercarlo all'avvio. Per compilare un file di codice Lisp interattivamente, usate il comando M-x load-file. Vi

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node104.html (3 di 5) [02/07/2001 15.12.52]

Personalizzare Emacs

chieder il nome del file. Per caricare i file 136#136 Emacs aggiunger per prima cosa l'estensione .elc al nome del file e prover a cercarlo in qualche directory del load-path. Se non ci riesce, prover con l'estensione .sl, oppure user la stringa letterale che viene passata a load. Potete compilare byte per byte un file con il comando M-x byte-compile-file, ma se modificate il file spesso, probabilmente non vi conviene. Non dovreste mai compilare cos il file .emacs, n dargli l'estensione .el. Dopo che sar stato caricato .emacs, Emacs cercher di caricare un file con nome default.el. Di solito si trova in una directory, nel load-path, che si chiama site-lisp o local-elisp o qualcosa del genere (vedere l'esempio di load-path che ho dato qualche pagina indietro). Chi mantiene Emacs su sistemi multiutente usa il default.el per apportare cambiamenti alle versioni di Emacs di tutti, dato che l'Emacs di ciascuno si carica dal proprio file .emacs personale. Nemmeno default.el dovrebbe essere compilato, dato che normalmente viene modificato abbastanza spesso. Se il .emacs di qualcuno contiene degli errori, Emacs non cerca di caricare defaul.el, ma si ferma, mandando un messaggio che dice ``Error in init file'' (``Errore nel file di inizializzazione''). Se vedete un messaggio del genere, probabilmente c' qualcosa di sbagliato nel file .emacs. C' ancora un tipo di espressione che si ritrova spesso nei file .emacs. La libreria di Emacs Lisp spesso offre dei pacchetti multipli per fare la stessa cosa in modi diversi; bisogner cos specificare quale volete usare (o dovrete usare il pacchetto di default, che non sempre il migliore per tutti gli scopi). Un'area in cui si ha questo problema sono le caratteristiche di interazione di Emacs con Scheme: con Emacs vengono distribuite due diverse interfacce Scheme (almeno nella versione 19): xscheme e cmuscheme. 137#137 A me l'interfaccia di cmuscheme piace molto di pi di quella di default, che xscheme. Come posso far usare ad Emacs quella che piace di pi a me? Mettendo queste linee in .emacs: 138#138 La funzione autoload prende come argomento il nome di una funzione (tra apici ``''', per ragioni che hanno a che fare con il Lisp) e dice ad Emacs che tale funzione definita in un determinato file. Il file il secondo argomento, una stringa (senza l'estensione ``.el'' o ``.elc'') che indica il nome del file da cercare nel load-path. I restanti argomenti sono in genere opzionali, ma in questo caso necessari: il terzo una stringa di documentazione per la funzione, in modo che se chiamate describe-function sulla funzione avete delle informazioni che vi possono servire. Il quarto dice ad Emacs che questa funzione autoavviabile pu essere richiamata interattivamente (cio usando M-x). In questo caso quest'ultimo argomento molto importante, dato che bisogna poter digitare M-x run-scheme per avviare un processo di scheme sotto Emacs. Adesso che run-scheme stata definita come funzione autoavviabile, cosa succede quando digito M-x run-scheme? Emacs cerca la funzione run-scheme, vede che impostata per venire autoavviata, e carica il file indicato dall'autoavviamento (in questo caso, ``cmuscheme''). Il file compilato byte per byte cmuscheme.elc esiste, quindi Emacs lo caricher. Questo file
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node104.html (4 di 5) [02/07/2001 15.12.52]

Personalizzare Emacs

deve definire la funzione run-scheme, o ci sar un errore nell'autocaricamento. Per fortuna lo fa, quindi tutto va liscio, ed io ottengo la mia interfaccia Scheme preferita8.10. Un ``autocaricamento'' come una promessa fatta ad Emacs che, quando sar il momento, potr trovare la funzione specificata nel file in cui gli si dice di guardare; e voi potete controllare quello che viene caricato. Inoltre, l'autocaricamento vi aiuta a diminuire la memoria usata da Emacs, evitando di caricare determinate caratteristiche finch non vengono richieste. La maggior parte dei comandi non sono definiti come funzioni quando Emacs parte; piuttosto, sono semplicemente impostati come autocaricamento da determinati file. Se non invocate il comando, non viene mai caricato. Questo modo di salvare spazio vitale per il funzionamento di Emacs: se caricasse tutti i file disponibili nella libreria Lisp, ci vorrebbero venti minuti per avviarlo, ed occuperebbe la maggior parte della memoria disponibile sul sistema. Non vi preoccupate, non dovete impostare tutti questi autocaricamenti nel file .emacs: sono stati preimpostati all'interno di Emacs stesso.
Next: Scoprirne di pi Up: Modificare file con Emacs Previous: Come essere ancora pi Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Scoprirne di pi Up: Modificare file con Emacs Previous: Come essere ancora pi Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node104.html (5 di 5) [02/07/2001 15.12.52]

Scoprirne di pi

Cerca nel sito:

Scoprirne di pi
Non potr mai sottolineare abbastanza l'importanza di saper usare la guida in linea di Emacs. Ad esempio, supponiamo che vogliate inserire il contenuto di un file in un buffer gi aperto su un file diverso, in modo che il buffer li contenga entrambi. Beh, se tiraste ad indovinare che c' un comando che si chiama insert-file, ci indovinereste. Per controllare, digitate C-h f. Al prompt del minibuffer, digitate il nome della funzione su cui volete la guida. Dato che sapete che esiste il completamento dei nomi delle funzioni, e potete indovinare che il comando che state cercando inizia per ``insert'', digitate insert e premete 77#77; vi verranno mostrati tutti i nomi delle funzioni che cominciano per ``insert'', tra cui anche ``insert-file''. Completate quindi il nome della funzione e leggete come funziona, e poi usate M-x insert-file. Se vi state chiedendo se collegata ad un tasto, digitate C-h w insert-file 4#4, e scopritelo. Pi cose sapete della guida di Emacs, pi facilmente gli potete porre domande. La capacit di farlo, unita ad uno spirito di esplorazione ed alla volont di imparare nuovi modi di fare le cose vi porteranno a risparmiare un sacco di tempo. Per ordinare una copia del manuale per l'utente di Emacs e/o del manuale della programmazione Lisp per Emacs, scrivete a: Free Software Foundation 675 Mass Ave Cambridge, MA 02139 USA

Next: Voglio essere me stesso! Up: Modificare file con Emacs Previous: Personalizzare Emacs

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node105.html (1 di 2) [02/07/2001 15.12.54]

Scoprirne di pi

Non vi ho detto tutto quello che c' da sapere su Emacs. In effetti, non credo di avervene detto nemmeno l'1%. Anche se ne sapete abbastanza per andare avanti, ci sono ancora moltissimi trucchetti per salvare tempo e cose comode che dovreste trovare. Il miglior modo di farlo aspettare finch non vi serve qualcosa, e poi cercare una funzione che la faccia. Entrambi questi manuali sono distribuiti elettronicamente con Emacs, in forma leggibile usando il lettore di documentazione Info (C-h i), ma pu essere pi facile usare la versione ad albero che quella in linea. Inoltre, il prezzo ragionevole, e i soldi vanno per una giusta causa--software libero di qualit! Una volta o l'altra dovreste leggere le condizioni di copyright di Emacs con C-h C-c. pi interessante di quanto pensiate, e vi aiuter a chiarirvi il concetto di software libero. Se pensate che il termine ``software libero'' (``free software'') vuol dire semplicemente che il programma gratis, per favore leggete il copyright appena ne avete il tempo!
Next: Voglio essere me stesso! Up: Modificare file con Emacs Previous: Personalizzare Emacs Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node105.html (2 di 2) [02/07/2001 15.12.54]

Personalizzare bash

Cerca nel sito:

Personalizzare bash
Una delle caratteristiche della filosofia di Unix che l'impostazione del sistema non vuole prevedere tutte le necessit dell'utente, ma tenta di rendere semplice per ciascuno modificarsi l'ambiente a seconda delle proprie necessit. Per questo vengono usati principalmente dei file di configurazione , noti anche come ``file init'' , ``file rc'' (per ``run control'', controllo dell'esecuzione) o anche ``file punto'', perch il loro nome di solito inizia con ``.''. Se vi ricordate, i file che hanno il nome che inizia con ``.'' non vengono normalmente visualizzati da ls. I file di configurazione pi importanti sono quelli utilizzati dalla shell. La shell di default di Linux bash , ed di questa che parleremo in questo capitolo. Prima di vedere come personalizzare bash, bisogna sapere quali file utilizza.

q q q q

Avvio della shell File di avvio Aliasing Variabili d'ambiente

Next: Avvio della shell Up: Voglio essere me stesso! Previous: Voglio essere me stesso!

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node107.html (1 di 2) [02/07/2001 15.12.56]

Personalizzare bash

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node107.html (2 di 2) [02/07/2001 15.12.56]

Avvio della shell

Cerca nel sito:

Avvio della shell


Ci sono diversi modi in cui pu essere eseguita bash, ad esempio come shell di login , che come viene eseguita al login. La shell di login dovrebbe essere la prima che vedete. Un'altra modalit in cui si esegue bash come shell interattiva : una shell qualsiasi che presenti un prompt all'utente ed aspetti dei comandi. Una shell di login anche interattiva. Un modo per ottenere una shell interattiva non di login per esempio una shell all'interno di un xterm . Qualsiasi shell che viene creata in modo diverso dal login una shell non di login. Infine ci sono le shell non interattive , che sono usate per eseguire dei file di comandi, pi o meno come i file batch di MS-DOS --quelli che finiscono in .BAT. Questi script di shell funzionano come dei mini-programmi; anche se sono generalmente molto pi lenti di un normale programma compilato, spesso vero che sono molto pi semplici da scrivere. A seconda del tipo di shell, al suo avvio vengono usati diversi file:
Next: File di avvio Up: Personalizzare bash Previous: Personalizzare bash Tipo di shell Azione

Login interattivo Viene letto ed eseguito il file .bash_profile Interattivo Non interattivo Viene letto ed eseguito il file .bashrc Viene letto ed eseguito lo script di shell

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node108.html (1 di 2) [02/07/2001 15.13.01]

Avvio della shell

Next: File di avvio Up: Personalizzare bash Previous: Personalizzare bash Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node108.html (2 di 2) [02/07/2001 15.13.01]

File di avvio

Cerca nel sito:

File di avvio
Dato che la maggior parte degli utenti vogliono avere lo stesso ambiente in qualsiasi shell, interattiva, di login o no, iniziamo con un comando molto semplice da mettere nel file .bash_profile: ``source ~/.bashrc''. Il comando source dice alla shell di interpretare l'argomento come uno script di shell. Per noi questo significa che ogni volta che viene eseguito .bash_profile, viene eseguito anche .bashrc. Ora aggiungeremo semplicemente dei comandi al file .bashrc. Se volete che un comando sia valido solo per una shell di login, aggiungetelo a .bash_profile.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Aliasing Up: Personalizzare bash Previous: Avvio della shell Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node109.html [02/07/2001 15.13.08]

Aliasing

Cerca nel sito:

Aliasing
Quali sono le cose che volete personalizzare? Ecco qualcosa che credo si trovi nel .bashrc del 90% degli utenti di bash: 139#139 Questo comando ha definito un alias di shell con nome ll, che, quando viene richiamato dall'utente, si ``espande'' nel normale comando di shell ``ls -l''. Quindi, assumendo che bash abbia letto quel comando dal file .bashrc, potete digitare semplicemente ll per avere l'effetto di ``ls -l'' nella met delle digitazioni. Quello che accade che quando digitate ll e premete 4#4, bash lo intercetta, dato che si aspetta degli alias, e lo sostituisce con ``ls -l''. In realt non c' nessun programma che si chiama ll sul sistema, ma la shell traduce automaticamente l'alias in un programma valido. Alcuni alias di esempio sono riportati in Figura . Li potete aggiungere al vostro .bashrc. Un alias particolarmente interessante il primo; con quell'alias, quando qualcuno digita ls, automaticamente viene aggiunta l'opzione -F (l'alias non prova ad espandersi di nuovo). un modo abbastanza comune per aggiungere delle opzioni che usate ogni volta che richiamate un programma. Notate i commenti con il carattere # nella Figura ignora il resto della linea. . Quando appare un #, la shell

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node110.html (1 di 3) [02/07/2001 15.13.10]

Aliasing

Next: Variabili d'ambiente Up: Personalizzare bash Previous: File di avvio Figure: Degli esempi di alias per bash. 140#140

Potreste aver notato alcune strane cose su questi alias: ad esempio, in alcuni ho tralasciato le virgolette--come in pu. Rigorosamente parlando, le virgolette non sono necessarie quando avete solo una parola a destra del segno di uguale. Non che mettere le virgolette faccia male, quindi non prendete cattive abitudini: dovreste usarle di sicuro se state per fare un alias di un comando con delle opzioni e/o argomenti: 141#141 Inoltre, l'alias finale ha dei caratteri strani: 142#142 Come potete aver indovinato, volevo passare le virgolette nelle opzioni stesse, quindi le ho dovute far precedere da una barra rovesciata in modo da evitare che bash pensasse che volevo segnalare la fine dell'alias. Infine, ho messo come alias due comuni errori di battitura, ``mroe'' e ``moer'', per il comando esatto, more. Gli alias non interferiscono con gli argomenti passati ad un programma. Funziona lo stesso se scrivete: 143#143 In effetti, sapere come creare gli alias probabilmente almeno met della personalizzazione della shell che farete mai. Sperimentate, scoprite quali comandi lunghi date spesso, e createne degli alias. Scoprirete che rende molto pi piacevole lavorare al prompt della shell.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node110.html (2 di 3) [02/07/2001 15.13.10]

Aliasing

Next: Variabili d'ambiente Up: Personalizzare bash Previous: File di avvio Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node110.html (3 di 3) [02/07/2001 15.13.10]

Variabili d'ambiente

Cerca nel sito:

Variabili d'ambiente
Un'altra cosa importante che si pu fare nel file .bashrc impostare le variabili d'ambiente . E che cosa sono? Prendiamola da un'altra direzione: supponiamo che stiate leggendo della documentazione per il programma pippo, ed incontrate queste frasi: pippo normalmente cerca il suo file di configurazione, .pipporc, nella home directory dell'utente. Comunque, se la variabile d'ambiente PIPPOPATH impostata ad un nome di file diverso, cercher l. Ogni programma viene eseguito in un ambiente definito dalla shell che ha chiamato il programma9.1. Si pu dire che l'ambiente esiste ``all'interno'' della shell. I programmatori hanno una routine speciale per porre delle domande all'ambiente, e il programma ``pippo'' usa questa routine: controlla il valore della variabile d'ambiente PIPPOPATH; se la variabile non definita, user semplicemente il file .pipporc nella home directory. Se definita, comunque, pippo user il valore della variabile (che dovrebbe essere il nome di un file che pippo pu usare) al posto del default .frugglerc. Ecco come si pu cambiare l'ambiente in bash : 144#144 Si pu pensare al comando export come ad un invito: ``Per favore, esporta questa variabile all'ambiente, dove richiamer i programmi, in modo che il suo valore sia a loro visibile''. Ci sono delle buone ragioni per chiamarlo export,
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (1 di 7) [02/07/2001 15.13.12]

Variabili d'ambiente

come vedremo poi. Questa particolare variabile viene usata dal famoso programma di criptazione a chiave pubblica di Phil Zimmerman pgp . Normalmente pgp cerca determinati file di cui ha bisogno (che contengono le chiavi di criptazione) nella home directory, e la usa anche per registrare i file temporanei che crea mentre in funzione. Impostando la variabile PGPPATH a questo valore, gli ho detto di usare la directory /home/larry/secrets/pgp. Ho dovuto leggere il manuale di pgp per trovare il nome esatto della variabile e che cosa fa, ma abbastanza standard l'uso del nome del programma in lettere maiuscole, seguito dal suffisso ``PATH''. anche utile saper chiedere informazioni sull'ambiente: 145#145 Notate il ``$'': si premette un segno di dollaro al nome di una variabile d'ambiente per estrarre il valore della variabile. Se aveste scritto il comando senza il segno di dollaro, echo avrebbe semplicemente stampato i suoi argomenti: 146#146 Il ``$'' viene usato per valutare le variabili d'ambiente, ma lo fa solo nel contesto della shell--cio, quando la shell che interpreta i comandi. Quando che lo fa? Beh, quando state digitando dei comandi al prompt, o quando bash sta leggendo dei comandi da un file come .bashrc si pu dire che la shell che ``interpreta'' i comandi. C' un altro comando molto utile per rivolgere domande all'ambiente: env . env elencher semplicemente tutte le variabili d'ambiente. possibile, specialmente se state usando X, che l'elenco scorra fuori dallo schermo; se succede, mandate l'output di env, con una pipe, a more: env | more. Alcune di queste variabili sono piuttosto utili, quindi le descriveremo pi dettagliatamente. Guardate la Figura . Queste quattro variabili sono definite automaticamente quando fate login: non c' bisogno di impostarle nei file .bashrc o .bash_login.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (2 di 7) [02/07/2001 15.13.12]

Variabili d'ambiente

Next: I file di inizializzazione Up: Personalizzare bash Previous: Aliasing Figure: Alcune importanti variabili d'ambiente. 147#147

Diamo un'occhiata pi da vicino alla variabile TERM . Per capirla, torniamo un attimo alla storia di Unix: il sistema operativo ha bisogno di conoscere alcune cose sulla vostra console, per poter attivare delle funzioni di base come scrivere un carattere sullo schermo, spostare il cursore sulla linea seguente, eccetera. Nei primi anni dell'informatica, i produttori di computer aggiungevano continuamente nuove caratteristiche ai terminali: per prima l'inversione, poi forse i caratteri europei, e alla fine magari anche delle primitive funzioni grafiche (ricordatevi, ancora non esistevano i sistemi a finestre ed i mouse!). Comunque, tutte queste nuove funzioni rappresentavano un problema per i programmatori: come potevano sapere quali funzioni aveva un terminale, e quali no? E come potevano supportare le nuove caratteristiche senza far diventare inutili i vecchi terminali? In Unix, la risposta a queste domande stata /etc/termcap . /etc/termcap un elenco di tutti i terminali che il vostro sistema conosce, e come controllano il cursore. Se un amministratore di sistema comprava un nuovo tipo di terminale, tutto quello che doveva fare era aggiungere una voce per quel terminale in /etc/termcap invece di ricompilare tutto Unix. Talvolta ancora pi facile: lungo la strada, il vt100 della Digital Equipment Corporation diventato quasi uno standard, e molti terminali nuovi sono stati costruiti in modo da poterlo emulare, o da potersi comportare come un vt100. Sotto , il valore di TERM talvolta console, che un terminale di tipo vt100 con delle caratteristiche aggiunte. Anche un'altra variabile, PATH, cruciale per il funzionamento corretto della shell. Ecco la mia:

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (3 di 7) [02/07/2001 15.13.12]

Variabili d'ambiente

148#148 Il vostro PATH un elenco, con le voci separate da due punti, delle directory in cui la shell deve cercare i programmi, quando digitate il nome di un programma da eseguire. Quando digito ls e premo 4#4, per esempio, bash guarda per prima cosa in /home/larry/bin, una directory che ho creato per i programmi scritti da me; ma io non ho creato ls (in effetti, credo che sia stato scritto prima che io nascessi!). Non trovandolo in /home/larry/bin, bash cerca in /bin--e l lo trova. /bin/ls esiste ed eseguibile, quindi bash interrompe la ricerca e avvia il programma. Ci poteva essere un altro programma con nome ls nella directory /usr/bin, ma bash non l'avrebbe mai avviato a meno che io non avessi specificato esplicitamente il percorso: 149#149 Lo scopo della variabile PATH di non farci digitare i percorsi completi ogni volta che dobbiamo dare un comando. Quando digitate un comando, bash lo cerca nelle directory elencate in PATH, in ordine, e se lo trova lo avvia. Se non lo trova, vi d un errore: 150#150 Notate che nel mio PATH non c' la directory corrente, ``.''. Se ci fosse stata, sarebbe stato cos: 151#151 Questo un problema su cui si dibatte nei circoli Unix (di cui siete membri adesso, che vi piaccia o no). Il problema che avere la directory corrente nel percorso pu essere un buco di sicurezza. Supponiamo che facciate cd in una directory in cui qualcuno abbia lasciato un programma ``Trojan Horse'' con nome ls, voi fate un ls, come sarebbe naturale entrando un una nuova directory. Dato che la directory corrente, ``.'', la prima del vostro PATH, la shell troverebbe questa versione di ls e la eseguirebbe. Qualsiasi cattiveria ci fosse in quel
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (4 di 7) [02/07/2001 15.13.12]

Variabili d'ambiente

programma, l'avreste appena eseguita (e pu essere molto cattiva!). Non ci sarebbe bisogno di privilegi di root per farlo; basterebbe un permesso di scrittura sulla directory in cui si trova il ``falso'' ls. Potrebbe essere anche la loro home directory, se avessero saputo che ci sareste capitati dentro. Sul vostro sistema molto poco probabile che la gente si lasci delle trappole l'un l'altro. Tutti gli utenti sono probabilmente vostri amici o colleghi. Comunque, su grandi sistemi multi-utente (come molti computer delle universit), ci possono essere programmatori poco amichevoli che non avete mai incontrato. Se volete o no che nel vostro percorso ci sia ``.'' dipende dalla situazione; non sar dogmatico sull'una o sull'altra scelta, ma vorrei che aveste presenti i rischi9.2. I sistemi multi-utente sono come delle comunit, dove c' gente che si pu comportare in modo imprevedibile. Il mio PATH in realt impostato in un modo che riassume la maggior parte delle cose che avete imparato finora sulle variabili d'ambiente. Ecco cosa c' nel mio .bashrc: 152#152 Qui mi avvantaggio del fatto che la variabile HOME viene impostata prima che bash legga il file .bashrc, ed uso il suo valore nell'impostazione del PATH. Le parentesi graffe (``{...}'') sono un ulteriore livello di quoting: delimitano l'estensione di quello che il ``$'' deve valutare, in modo che la shell non si confonda con il testo seguente (nel nostro caso ``/bin''). Ecco un altro esempio del loro effetto: 153#153 Senza le parentesi, non avrei niente, dato che non esiste una variabile d'ambiente che si chiama HOMEfoo. 154#154 Fatemi chiarire un'altra cosa sulla mia impostazione della variabile: il significato di ``$PATH'': quello che fa includere il valore di qualsiasi variable PATH
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (5 di 7) [02/07/2001 15.13.12]

Variabili d'ambiente

impostata precedentemente. Dove sarebbe impostata una variabile del genere? Il file /etc/profile fa da .bash_profile globale, comune a tutti gli utenti; avere un file centralizzato del genere aiuta il sistemista ad aggiungere nuove directory al PATH di tutti gli utenti, senza dover farlo uno per uno. Se includete il vecchio path nel vostro, non perderete nessuna directory utile. Potete anche controllare l'aspetto del prompt: si fa impostando il valore della variabile d'ambiente PS1. Personalmente preferisco un prompt che mi faccia vedere il percorso della directory corrente--ecco come faccio: 155#155 Come potete vedere, qui vengono usate due variabili. Quella che viene impostata la variabile PS1, e viene impostata al valore della variabile PWD, che pu significare sia ``Print Working Directory'' sia ``Path to Working Directory''. La valutazione di PWD avviene all'interno degli apici. Gli apici servono per valutare l'espressione tra essi contenuta, che in questo caso viene valutata come la variabile PWD. Se aveste fatto solo export PS1=$PWD, il prompt avrebbe contenuto sempre il percorso alla directory corrente al momento in cui avevate impostato PS1, invece di aggiornarlo continuamente quando si cambia directory. Beh, un po' confuso, e non poi cos importante. Tenete solo a mente che se volete che nel prompt sia mostrata la directory corrente vi servono gli apici. Potreste preferire export PS1='$PWD>', o anche il nome del sistema: export PS1=`hostname`'>'; fatemi sezionare quest'ultimo esempio un po' meglio. Nell'ultimo esempio ho usato un nuovo tipo di quoting, quello con gli apici rovesciati: non protegge niente--in effetti, noterete che ``hostname'' non appare da nessuna parte nel prompt. Quello che accade che il comando all'interno degli apici rovesciati viene valutato, e il suo output viene mostrato al posto degli apici e del nome del comando. Provate a fare echo `ls` o wc `ls`. A mano a mano che acquistate esperienza nell'uso della shell, questa tecnica diventa sempre pi potente.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (6 di 7) [02/07/2001 15.13.12]

Variabili d'ambiente

Ci sono parecchie altre cose che si possono configurare nel .bashrc, e qui non c' spazio per spiegarle tutte. Potete leggervi la pagina di manuale di bash, o chiedere a chi ne sa di pi. Ecco un file .bashrc completo da studiare: piuttosto standard, anche se il PATH un po' lungo. 156#156

Next: I file di inizializzazione Up: Personalizzare bash Previous: Aliasing Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node111.html (7 di 7) [02/07/2001 15.13.12]

I file di inizializzazione di X Windows

Cerca nel sito:

I file di inizializzazione di X Windows


-to La maggior parte delle persone lavorano all'interno di un ambiente grafico, e, per le macchine Unix, questo di solito significa usare X. Se siete abituati al Macintosh , o a Microsoft Windows , pu essere un po' lungo abituarcisi, specialmente per quanto riguarda la personalizzazione.
1#1

In Macintosh o in Microsoft Windows l'ambiente si personalizza dall'interno dell'ambiente stesso: se volete cambiare lo sfondo, ad esempio, si clicca su un nuovo colore in qualche programma speciale per le impostazioni grafiche. In X, i default di sistema vengono controllati da file di testo, che si modificano direttamente--in altre parole, per cambiare il colore di sfondo si scrive il nome del colore in un file. Non si pu dire che questo metodo sia pi elegante di qualche sistema a finestre commerciale. Credo che questa tendenza a rimanere legati al testo, anche in un ambiente grafico, sia legata al fatto che X stata creata da dei programmatori che non cercavano di scrivere del software che potesse essere usato dai loro nonni. Questa tendenza dovrebbe cambiare nelle prossime versioni di X (almeno lo spero), ma per adesso dovete imparare a combattere con altri file di testo; in ogni caso questo vi d un controllo molto flessibile e preciso sulla configurazione del sistema. Ecco i file pi importanti per configurare X:
Next: Configurazione di Twm Up: Voglio essere me stesso! Previous: Variabili d'ambiente

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node112.html (1 di 3) [02/07/2001 15.13.14]

I file di inizializzazione di X Windows

.xinitrc Uno script usato da X all'avvio. .twmrc .fvwmrc Letto da un manager di finestre, twm . Letto da un manager di finestre, fvwm .

Tutti questi file, se esistono, dovrebbero essere nella vostra home directory. Il file .xinitrc un semplice script di shell che viene avviato quando richiamate X. Pu fare tutto quello che fa un normale script di shell, ma naturalmente ha senso se si usa per avviare dei programmi di X e per impostare dei parametri del sistema a finestre. L'ultimo comando del file .xinitrc di solito il nome di un manager di finestre, ad esempio /usr/bin/X11/twm. Che tipo di cose si mettono in un file .xinitrc? Forse delle chiamate al programma xsetroot, per impostare l'aspetto della finestra di root (lo sfondo) e del cursore del mouse, una chiamata a xmodmap, che dice al server9.3 come interpretare i segnali da tastiera, e tutti gli altri programmi che volete avviare ogni volta che avviate X (ad esempio, xclock). Ecco una parte del mio .xinitrc; il vostro sar quasi sicuramente diverso, quindi questo solo un esempio: 157#157 Notate che alcuni comandi vengono avviati in background (cio sono seguiti da una ``&'') e altri no. La distinzione che alcuni programmi vengono avviati quando avviate X e continuano a funzionare finch non uscite--mettete questi in background. Altri programmi vengono eseguiti una sola volta e se ne esce immediatamente. xsetroot uno di questi; imposta semplicemente la finestra di root o il cursore o qualcos'altro, e poi esce. Una volta partito, il manager delle finestre legger il suo file di inizializzazione, che controlla cose come l'impostazione dei men, o in quale posizione vengono aperte le finestre, il controllo delle icone e altre cose estremamente importanti. Se usate twm, il file .twmrc, nella vostra home directory. Se usate fvwm sar .fvwmrc e cos via. Qui tratter solo questi due, dato che sono quelli che incontrerete pi facilmente con Linux.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node112.html (2 di 3) [02/07/2001 15.13.14]

I file di inizializzazione di X Windows

q q

Configurazione di Twm Configurazione di Fvwm

Next: Configurazione di Twm Up: Voglio essere me stesso! Previous: Variabili d'ambiente Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node112.html (3 di 3) [02/07/2001 15.13.14]

Configurazione di Twm

Cerca nel sito:

Configurazione di Twm
Il file .twmrc non uno script di shell--credetelo o no, scritto in un linguaggio fatto proprio per twm!9.4 La cosa con cui la gente ama giocherellare nel file .twmrc lo stile delle finestre (i colori e cose di questo genere), e i men, quindi ecco un file .twmrc di esempio che configura queste caratteristiche: 158#158 Phew! Credetemi, non nemmeno il file .twmrc pi complicato che abbia mai visto. Probabilmente avrete un esempio decente di .twmrc con la vostra versione di X. Guardate nella directory /usr/lib/X11/twm/ o in /usr/X11/lib/X11/twm e vedete com'. Un bug a cui bisogna fare attenzione in .twmrc scordarsi di mettere l'& dopo un comando da men. Se notate che X si congela quando gli date determinati comandi, probabile che sia questa la causa. Uscite da X con 118#118- 65#65121#121, modificate .twmrc e riprovate.

Next: Configurazione di Fvwm Up: I file di inizializzazione Previous: I file di inizializzazione Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node113.html (1 di 2) [02/07/2001 15.13.15]

Configurazione di Twm

Next: Configurazione di Fvwm Up: I file di inizializzazione Previous: I file di inizializzazione Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node113.html (2 di 2) [02/07/2001 15.13.15]

Configurazione di Fvwm

Cerca nel sito:

Configurazione di Fvwm
Se state usando fvwm ci sono dei buoni file di esempio nella directory /usr/lib/X11/fvwm/ (o /usr/X11/lib/X11/fvwm/). [Gente: non so niente di fvwm, anche se credo di poter capire qualcosa dai file di configurazione di esempio. Comunque, lo stesso pu fare il lettore :-). Inoltre, dato che esiste il file system.twmrc nella directory menzionata, mi chiedo se vale la pena di dare il lungo esempio di .twmrc qui sopra. Per ora ce lo lascio, ma non so se va bene o no. -Karl]
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Altri file di inizializzazione Up: I file di inizializzazione Previous: Configurazione di Twm

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node114.html [02/07/2001 15.13.17]

Altri file di inizializzazione

Cerca nel sito:

Altri file di inizializzazione


Altri file di inizializzazione notevoli sono:
Next: Il file di inizializzazione Up: Voglio essere me stesso! Previous: Configurazione di Fvwm .emacs .netrc .rhosts Letto dall'editor di testi Emacs al suo avvio. D i nomi di login e le password di default per ftp. Rende l'account accessibile da remoto.

.forward Per inoltrare automaticamente la posta.

q q q q

Il file di inizializzazione di Emacs Impostazioni dell'FTP Come permettere l'accesso remoto al vostro account Forwardare la posta

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node115.html [02/07/2001 15.13.18]

Il file di inizializzazione di Emacs

Cerca nel sito:

Il file di inizializzazione di Emacs


Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Impostazioni dell'FTP Up: Altri file di inizializzazione Previous: Altri file di inizializzazione

Se usate emacs come editor primario, il file .emacs piuttosto importante. Se ne tratta largamente nel Capitolo .
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node116.html [02/07/2001 15.13.19]

Impostazioni dell'FTP

Cerca nel sito:

Impostazioni dell'FTP
159#159 Ogni linea dei file .netrc specifica il nome della macchina, il nome di login da usare per default su quella macchina, e una password. molto comodo se fate molto spesso ftp e siete stanchi di digitare continuamente lo username e la password su diversi siti. Se fate ftp su una delle macchine elencate nel file, il programma prover a collegarsi automaticamente usando le informazioni presenti nel file .netrc. Si pu dire ad ftp di ignorare il file .netrc e di non tentare di fare login automaticamente richiamandolo con l'opzione -n: ``ftp -n''. Bisogna assicurarsi che il file .netrc sia leggibile solo da voi. Usate il comando chmod per impostare i permessi di lettura del file. Se altri possono leggerlo, potranno scoprire le vostre password sugli altri siti che vi sono nominati. Questo una delle falle di sicurezza pi gravi che si possono avere; per incoraggiarvi ad essere prudenti, ftp ed altri programmi che usano il file .netrc si rifiuteranno di funzionare se i permessi di lettura del file sono impostati male. C' di pi sul file .netrc di quanto abbia detto: quando vi capita, fate ``man .netrc'' o ``man ftp''.

Next: Come permettere l'accesso remoto Up: Altri file di inizializzazione Previous: Il file di inizializzazione Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node117.html (1 di 2) [02/07/2001 15.13.20]

Impostazioni dell'FTP

Trovato qualche cosa che non va? Segnalamelo :)

Next: Come permettere l'accesso remoto Up: Altri file di inizializzazione Previous: Il file di inizializzazione

Il file .netrc vi permette di impostare dei default per l'ftp prima di avviare ftp stesso. Ecco un piccolo esempio:
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node117.html (2 di 2) [02/07/2001 15.13.20]

Come permettere l'accesso remoto al vostro account

Cerca nel sito:

Come permettere l'accesso remoto al vostro account


Se avete un file .rhosts nella home directory, vi permetter di far girare remotamente programmi su questa macchina; potrete cio essere collegati alla macchina cs.oberlin.edu, e con un file .rhosts ben configurato su floss.life.uiuc.edu far girare un programma su floss.life.uiuc.edu e far arrivare l'output su cs.oberlin.edu, senza nemmeno dovervi collegare o digitare la password. Un file .rhosts fatto cos: 160#160 Il formato abbastanza chiaro: il nome di una macchina, seguito dal nome dell'utente. Supponiamo che questo esempio sia il mio file .rhosts su floss.life.uiuc.edu: ci significherebbe che potrei far girare dei programmi su floss, con l'output visualizzato su una qualsiasi delle macchine elencate, fintanto che io fossi collegato con il nome di utente corrispondente. Il meccanismo esatto con cui si fa girare un programma remoto di solito il programma rsh, che sta per ``remote shell'', e quello che fa inizializzare una shell su una macchina remota ed eseguire un comando specificato. Ad esempio: 161#161 L'utente trixie su floss.life.uiuc.edu, che ha il file .rhosts di esempio riportato qui sopra, permette esplicitamente a trixie su frobbo.hoola.com di far girare
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node118.html (1 di 3) [02/07/2001 15.13.24]

Come permettere l'accesso remoto al vostro account

programmi come trixie da floss. Non c' bisogno di avere lo stesso nome di utente su tutte le macchine per far funzionare bene un file .rhosts. Usate l'opzione ``-l'' con rsh, per dire alla macchina remota quale nome di utente usare per fare login. Se quel nome di utente esiste sulla macchina remota, ed ha un file .rhosts con la macchina ed il nome di utente su cui siete collegati, rsh funzioner. 162#162 Tutto questo funzioner se l'utente larry su floss.life.uiuc.edu ha un file .rhosts che permette all'utente trixie da frobbo.hoopla.com di far girare dei programmi sul suo account. Se sono o meno la stessa persona irrilevante: le uniche cose importanti sono i nomi degli utenti, i nomi delle macchine e le voci nel file .rhosts di larry su floss. Notate che il file .rhosts di trixie su frobbo non c'entra niente, importa solo quello sulla macchina remota. Ci sono altre combinazioni che possono entrare in un file .rhosts--ad esempio, si pu lasciare vuoto il nome dell'utente dopo il nome di una macchina remota, per permettere a tutti gli utenti di quella macchina di far girare programmi sulla macchina locale! Questo , naturalmente, un rischio per la sicurezza: qualcuno potrebbe far girare un programma che rimuove i vostri file, solo avendo un account su una determinata macchina. Se fate cose come lasciare bianco il nome dell'utente, vi dovreste accertare che il file .rhosts leggibile solo da voi.

Next: Forwardare la posta Up: Altri file di inizializzazione Previous: Impostazioni dell'FTP Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Forwardare la posta Up: Altri file di inizializzazione Previous: Impostazioni dell'FTP

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node118.html (2 di 3) [02/07/2001 15.13.24]

Come permettere l'accesso remoto al vostro account

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node118.html (3 di 3) [02/07/2001 15.13.24]

Forwardare la posta

Cerca nel sito:

Forwardare la posta
C' un mare di altri possibili file di inizializzazione. Il numero esatto varier da sistema a sistema, e dipende da quali software sono installati. Un modo di impararne di pi guardare i file nella vostra home directory il cui nome inizia per ``.'': non sono sempre file di inizializzazione, ma c' una buona possibilit.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Alcuni esempi Up: Altri file di inizializzazione Previous: Come permettere l'accesso remoto

Potete anche avere un file .forward, che non strettamente parlando un file di inizializzazione. Se contiene un indirizzo di posta elettronica, tutta la posta che vi arriva sar forwardata a quell'indirizzo. utile quando avete account su diversi sistemi, ma volete leggere la posta solo su uno di essi.
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node119.html [02/07/2001 15.13.27]

Alcuni esempi

Cerca nel sito:

Alcuni esempi
L'esempio pi calzante che vi posso fare un sistema Linux che funziona. Quindi, se avete accesso ad Internet, potete tranquillamente fare telnet su floss.life.uiuc.edu. Fate login come ``guest'', con password ``explorer'', e date un'occhiata in giro. La maggior parte dei file di esempio che ho messo in questo libro si possono trovare in /home/kfogel, ma ci sono anche altre directory utente. Sentitevi liberi di copiare tutto quello che riuscite a leggere. Per favore siate prudenti: floss non estremamente sicuro, e potete di certo riuscire ad avere accesso come root, se ci provate abbastanza. Preferisco avere fiducia, invece che vigilare costantemente, per mantenere la sicurezza del sistema.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Comunicare con gli altri Up: Voglio essere me stesso! Previous: Forwardare la posta Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node120.html [02/07/2001 15.13.28]

Comunicare con gli altri

Cerca nel sito:

Comunicare con gli altri


q

Posta elettronica
r r

Spedire la posta Leggere la posta

q q

Troppe notizie Cercare persone


r r

Il comando finger Plan e progetti

q q q

Usare i sistemi da remoto Scambiarsi file Navigare in rete

Next: Posta elettronica Up: Linux Guida dell'Utente Previous: Alcuni esempi

I sistemi operativi UNIX moderni sono molto bravi nel comunicare con altri computer, o nel formare delle reti. Due computer UNIX distinti possono scambiarsi informazioni in moltissimi modi diversi; questo capitolo parler di come trarre utilit da questa grande abilit. Cercheremo di coprire la posta elettronica, le news di Usenet e svariati programmi di utilit di UNIX per le comunicazioni.
Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node121.html (1 di 2) [02/07/2001 15.13.31]

Comunicare con gli altri

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node121.html (2 di 2) [02/07/2001 15.13.31]

Posta elettronica

Cerca nel sito:

Posta elettronica
q q

Spedire la posta Leggere la posta

Next: Spedire la posta Up: Comunicare con gli altri Previous: Comunicare con gli altri

Una delle caratteristiche pi popolari di UNIX la posta elettronica. Con essa si pu evitare di litigare con la busta, la carta, la penna, il francobollo e la buca delle lettere, e al loro posto litigare con il computer.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node122.html [02/07/2001 15.13.32]

Spedire la posta

Cerca nel sito:

Spedire la posta
Next: Leggere la posta Up: Posta elettronica Previous: Posta elettronica

Tutto ci che si deve fare digitare mail nome utente e scrivere il messaggio. Ad esempio, supponiamo che io voglia scrivere un messaggio ad un utente con nome sam: 163#163 Il programma mail molto semplice. Come cat, accetta input dall'input standard, una linea alla volta, finch riceve il carattere di fine testo da solo su una linea: 38#38. Cos, per inviare il mio messaggio dovrei digitare 4#4 e poi 38#38. mail il modo pi semplice per spedire la posta, ed piuttosto utile quando viene usato con le pipe e con la redirezione. Ad esempio, se volessi inviare il file report1 a ``Sam'', potrei fare ``mail sam < report1'', oppure addirittura ``sort report1 | mail sam''. Comunque, il lato negativo dell'uso di mail per spedire la posta che comporta l'uso di un editor veramente scarno: non si pu modificare una linea una volta che si premuto invio! Quindi, vi suggerisco di inviare la posta (quando non dovete usare le pipe o la redirezione) con la modalit mail di Emacs , che viene spiegata nella Sezione .
Next: Leggere la posta Up: Posta elettronica Previous: Posta elettronica Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node123.html [02/07/2001 15.13.33]

Leggere la posta

Cerca nel sito:

Leggere la posta
t lista di messaggi Mostra (o type) i messaggi sullo schermo. d lista di messaggi Cancella i messaggi. s lista di messaggi file Salva i messaggi in file. r lista di messaggi Risponde ai messaggi--cio, comincia a comporre un nuovo messaggio a chiunque abbia spedito i messaggi nella lista. q Esci salvando tutti i messaggi non cancellati in un file con nome mbox nella home directory.

Next: Troppe notizie Up: Posta elettronica Previous: Spedire la posta

mail [user] Il programma mail offre un modo abbastanza goffo di leggere la posta. Se scrivete mail senza parametri, vedrete: 164#164 Ora mi mander della posta, in modo da poter giocherellare con il lettore: 165#165 Il prompt all'interno del programma di mail una ``e commerciale'' (``&''); permette di dare un paio di semplici comandi, e visualizzer una breve schermata di aiuto se digitate ? e 4#4. I comandi base di mail sono: Cos' una lista di messaggi? una lista di numeri interi separati da spazi, o un intervallo, come 2-4 (che la stessa cosa di ``2 3 4''). Si pu anche immettere il nome di utente del mittente, in modo che il comando t sam stamperebbe a video tutta la posta arrivata da Sam. Se viene omessa la lista di messaggi, il comando viene applicato all'ultimo messaggio mostrato. Ci sono diversi problemi con la lettura dei messaggi con il programma mail. Per prima cosa, se un messaggio pi lungo dello schermo, il programma non si ferma, ma lo fa scrollare fuori dallo schermo. Dovete salvarlo ed usare more. Secondo, non ha una buona interfaccia per la posta vecchia--cio se volete salvare la posta e leggerla in un secondo tempo. Emacs ha anche un programma accessorio per leggere la posta, rmail, che per non viene spiegato in questo libro. In aggiunta a ci, la maggior parte dei sistemi Linux ha diversi altri programmi di lettura della posta disponibili, come elm o pine .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node124.html (1 di 2) [02/07/2001 15.13.44]

Leggere la posta

Next: Troppe notizie Up: Posta elettronica Previous: Spedire la posta Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node124.html (2 di 2) [02/07/2001 15.13.44]

Troppe notizie

Cerca nel sito:

Troppe notizie
Next: Cercare persone Up: Comunicare con gli altri Previous: Leggere la posta

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node125.html [02/07/2001 15.13.48]

Cercare persone

Cerca nel sito:

Cercare persone
q q

Il comando finger Plan e progetti

Next: Il comando finger Up: Comunicare con gli altri Previous: Troppe notizie

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node126.html [02/07/2001 15.13.51]

Il comando finger

Cerca nel sito:

Il comando finger
Next: Plan e progetti Up: Cercare persone Previous: Cercare persone

Il comando finger permette di acquisire informazioni sugli altri utenti del vostro sistema e di altri sistemi di tutto il mondo. Senza dubbio il comando finger stato chiamato cos grazie alla pubblicit della AT&T che esortava le persone ad ``allungarsi e toccare qualcuno''. Dato che UNIX ha le sue radici nella AT&T, probabilmente questo ha divertito l'autore. finger [-slpm] [utente][@macchina] I parametri opzionali per finger possono confondere leggermente; in realt non cos male: si possono chiedere informazioni su un utente locale (``sam''), su un'altra macchina (``@lionsden''), su un utente remoto (``sam@lionsden''), e informazioni sulla macchina locale (niente). Un'altra caratteristica simpatica che, se chiedete informazioni su un utente e non esiste un nome di account che sia precisamente quello che avete richiesto, prover a far corrispondere il nome reale con quello che voi gli date. Ad esempio, se io digito finger Greenfield, mi verr detto che per Sam Greenfield esiste un account sam. 166#166 L'opzione -s dice a finger di mostrare sempre la forma breve (quello che ricevete normalmente quando fate finger su una macchina), e l'opzione -l invece rende sempre la forma estesa, anche quando fate finger su una macchina. L'opzione -p dice a finger che non volete vedere i file .forward, .plan, o .project, e -m gli dice che, se chiedete informazioni su un utente, volete le informazioni solo se c' un nome di utente corrispondente--e non prover a fare corrispondere la stringa che gli date con il nome reale.
Next: Plan e progetti Up: Cercare persone Previous: Cercare persone Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node127.html [02/07/2001 15.13.52]

Plan e progetti

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Plan e progetti
Next: Usare i sistemi da Up: Cercare persone Previous: Il comando finger

Ora, cosa sono un .plan e un .project ? Sono file immagazzinati nella home directory di un utente che vengono mostrati quando viene fatto finger sull'utente stesso. Potete creare i vostri file .plan e .project--l'unica restrizione che viene mostrata solo la prima linea di un file .project. Inoltre, chiunque deve avere privilegi di esecuzione nella vostra home directory (chmod a+x ~/) e di lettura sui file .plan e .project (chmod a+r ~/.plan ~/.project).
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node128.html [02/07/2001 15.13.53]

Usare i sistemi da remoto

Cerca nel sito:

Usare i sistemi da remoto


Next: Scambiarsi file Up: Comunicare con gli altri Previous: Plan e progetti

telnet sistema remoto Il modo principale di usare un sistema UNIX remoto attraverso telnet. telnet di solito un programma piuttosto semplice da usare: 167#167 Come potete vedere, dopo che si manda un comando di telnet, ci si presenta un prompt di login per il sistema remoto. Posso digitare qualsiasi nome di utente (sempre che io sappia la password!) ed usare il sistema remoto quasi come se ci fossi seduto davanti. Il modo normale di uscire da telnet fare logout dal sistema remoto, ma si pu anche digitare il carattere di Escape, che (come nell'esempio qui sopra) di solito 168#168. In questo modo mi si presenta un nuovo prompt: telnet>. Posso ora digitare quit e 4#4e la connessione all'altro sistema verr chiusa e si uscir da telnet (se cambiate idea, premete semplicemente invio e tornerete al sistema remoto). -to 1#1 Se state usando X, create un nuovo xterm per l'altro sistema in cui state lavorando. Usate il comando ``xterm -title "lionsden" -e telnet lionsden &'' : creer una nuova finestra di xterm che automaticamente aprir una connessione telnet (se fate spesso qualcosa del genere, vi conviene creare un alias o uno script di shell per farlo).
Next: Scambiarsi file Up: Comunicare con gli altri Previous: Plan e progetti Eugenia Franzoni 1998-09-29

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node129.html (1 di 2) [02/07/2001 15.13.55]

Usare i sistemi da remoto

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node129.html (2 di 2) [02/07/2001 15.13.55]

Scambiarsi file

Cerca nel sito:

Scambiarsi file
Next: Navigare in rete Up: Comunicare con gli altri Previous: Usare i sistemi da

ftp sistema remoto Il modo normale di spedire file tra sistemi UNIX usare ftp, che sta per file transfer protocol (protocollo di trasmissione file). Dopo aver avviato il comando ftp, vi verr chiesto di fare il login nel sistema remoto, pi o meno come per telnet. Fatto questo, avrete un prompt speciale: un prompt ftp. Il comando cd funziona normalmente, ma sul sistema remoto: cambia la directory corrente sull'altro sistema. Nello stesso modo, il comando ls elencher i file sul sistema remoto. I due comandi principali sono get e put. get trasferir un file dal sistema remoto a quello locale, e put prender un file dal sistema locale e lo metter in quello remoto. Entrambi i comandi agiscono sulla directory locale da cui si avviato ftp e nella directory corrente nel sistema remoto (che si pu cambiare usando cd). Un problema comune con ftp la distinzione tra file di testo e file binari. ftp un protocollo piuttosto vecchio, e c'erano dei vantaggi ad assumere che i file trasferiti fossero file di testo. Alcune versione di ftp impostano il trasferimento di file di testo per default, il che significa che qualsiasi programma venga trasferito arriva corrotto. Per sicurezza, usate il comando binary prima di usare get o put. Per uscire da ftp usate il comando bye.
Next: Navigare in rete Up: Comunicare con gli altri Previous: Usare i sistemi da Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node130.html (1 di 2) [02/07/2001 15.13.57]

Scambiarsi file

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node130.html (2 di 2) [02/07/2001 15.13.57]

Navigare in rete

Cerca nel sito:

Navigare in rete
Next: Comandi buffi Up: Comunicare con gli altri Previous: Scambiarsi file

La World Wide Web, o WWW, il servizio pi comunemente usato di Internet. Consiste di pagine, ognuna associata ad un URL--uniform resource locator ( un tipo di indirizzo). Gli URL sono la strana sequenza nella forma http://www.rutgers.edu/. Le pagine vengono in genere scritte in HTML (hypertext markup language). URLuniform resource locator HTMLhypertext markup language L'HTML permette a chi scrive un documento di collegare determinate parole o frasi (o immagini) ad altri documenti in punti qualsiasi del Web. Quando un utente legge un documento, pu passare rapidamente ad un altro cliccando su una parola chiave, o su un pulsante, e caricarne un altro--forse lontano migliaia di chilometri. netscape [url] -to 1#1 Il pi popolare software di navigazione (browser) per Linux netscape , che un browser commerciale venduto (o distribuito) dalla Netscape Communications Corporation. netscape gira solo sotto X. netscape cerca di essere il pi semplice possibile ed usa l'insieme di widget Motif per avere un'apparenza molto simile a Microsoft Windows. La strategia di base per usare netscape che le parole sottolineate in blu sono collegamenti, come anche molte figure (si pu determinare quali figure sono collegamenti cliccandoci sopra). Cliccando su queste parole con il pulsante sinistro del mouse, vi si presenter una nuova pagina. Linux supporta molti altri browser, incluso il browser web originale, lynx. lynx un browser testuale--non mostrer nessuna delle immagini a cui di solito associato il Web--ma funzioner senza X. lynx [url] un po' pi difficile imparare ad usare lynx, ma in genere giocherellare con i tasti freccia vi aiuter. Le frecce in alto e in basso vi fanno spostare tra i collegamenti in una data pagina, e la freccia a destra segue il collegamento corrente (che evidenziato). La freccia a sinistra ricaricher la pagina precedente. Per uscire da lynx, premete 41#41. lynx ha molti altri comandi--consultate la man page per saperne di pi.
Next: Comandi buffi Up: Comunicare con gli altri Previous: Scambiarsi file Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node131.html (1 di 2) [02/07/2001 15.14.00]

Navigare in rete

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node131.html (2 di 2) [02/07/2001 15.14.00]

find, per cercare i file

Cerca nel sito:

find, per cercare i file


q q q q q q q q

Generalit Espressioni Opzioni Test Azioni Operatori Esempi Un'ultima parola

Next: Generalit Up: Comandi buffi Previous: Comandi buffi

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node133.html [02/07/2001 15.14.02]

Generalit

Cerca nel sito:

Generalit
Tra i vari comandi visti finora, ce ne sono alcuni che permettono all'utente di scendere ricorsivamente nell'albero delle directory per fare qualche azione: gli esempi canonici sono ls -R e rm -R. Bene. find il comando ricorsivo. Ogni volta che pensate ``Beh, devo fare questo e quest'altro su tutti questi tipi di file nella mia partizione'', dovreste pensare di usare find. In un certo senso il fatto che find trovi file un effetto secondario: il suo vero compito valutare. La struttura di base del comando la seguente: find percorso [...] espressione [...] Questo almeno vale per la versione GNU; altre versioni non permettono di specificare pi di un percorso, ed inoltre molto raro che serva una cosa del genere. La spiegazione della sintassi del comando piuttosto semplice: dite da dove volete che cominci la ricerca (la parte percorso; con GNU si pu omettere e per default verr presa in considerazione la directory corrente .), e che tipo di ricerca volete fare (la parte espressione). Il comportamento standard del comando piuttosto complicato, quindi vale la pena notarlo. Supponiamo che nella vostra home directory ci sia una directory butta, che contiene il file pippo. Digitate find . -name pippo (che come potete indovinare ricerca un file di nome pippo), e ottenete ...niente altro che il prompt. Il problema sta nel fatto che find per default silenzioso: rende 0 se la ricerca stata completata (trovando qualcosa o meno) o un valore non-zero se ci sono stati dei problemi. Questo non accade con la versione che trovate su Linux, ma comunque utile da ricordare.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node134.html (1 di 2) [02/07/2001 15.14.08]

Generalit

Next: Espressioni Up: find, per cercare i Previous: find, per cercare i Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Espressioni Up: find, per cercare i Previous: find, per cercare i Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node134.html (2 di 2) [02/07/2001 15.14.08]

Espressioni

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Espressioni
La parte delle espressioni pu essere divisa in quattro gruppi di parole chiave diversi: opzioni, test, azioni ed operatori; ognuno di questi pu restituire un valore vero o falso, insieme ad un effetto secondario. Le differenze tra i gruppi vengono mostrate pi avanti.
opzioni influiscono sulle operazioni generali di find, piuttosto che sul processo di un singolo file. Un esempio -follow, che dice a find di seguire i link simbolici invece di dire semplicemente l'inode. Restituisce sempre il valore vero. test sono veri e propri controlli (ad esempio, -empty controlla se il file vuoto), e possono restituire i valori vero o falso. azioni hanno anche un effetto secondario, il nome del file considerato. Possono restituire vero o falso anch'esse. operatori non restituiscono un valore (possono essere considerati veri per convenzione), e vengono usati per costruire espressioni compresse. Un esempio -or, che prende l'O logico delle due sottoespressioni ai suoi lati. Notate che quando si mettono due espressioni una dopo l'altra, sottinteso -and.

Notate che find si basa sulla shell per leggere la linea di comando, ci significa che le parole chiave devono essere messe tra spazi, e soprattutto che molti caratteri devono essere trattati in modo da non essere corrotti dalla shell. Si pu fare sia con la barra rovesciata che con le virgolette, singole e doppie; negli esempi le parole chiave a carattere singolo verranno quotate con la barra rovesciata, perch (almeno secondo me, ma sono io che scrivo queste note!) il modo pi semplice.

Next: Opzioni Up: find, per cercare i Previous: Generalit Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Opzioni Up: find, per cercare i Previous: Generalit Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node135.html [02/07/2001 15.14.12]

Opzioni

Cerca nel sito:

Opzioni
Ecco la lista di tutte le opzioni note alla versione GNU di find. Ricordate che restituiscono sempre il valore vero.
q

q q

-daystart misura il tempo trascorso non da 24 ore fa ma dalla scorsa mezzanotte. Un vero hacker probabilmente non capir l'utilit di questa opzione, ma un programmatore che lavora dalle otto alle cinque l'apprezzer di sicuro. -depth processa il contenuto di ciascuna directory prima della directory stessa. Per dire la verit, non conosco molti usi di questa opzione, tranne che per un'emulazione del comando rm -F (naturalmente non potete cancellare una directory prima di aver cancellato tutti i file in essa contenuti ...). -follow dereferenzia (cio, segue) i link simbolici. Implica l'opzione -noleaf; vedi sotto). -noleaf toglie un'ottimizzazione che dice ``Una directory contiene due sottodirectory di meno del loro conteggio degli hard link''. Se il mondo fosse perfetto, tutte le directory sarebbero referenziate da ognuna delle loro sottodirectory (grazie all'opzione ..), come . dentro se stessa, e dal suo nome ``reale'' dalla sua directory madre. Ci significa che ciascuna directory deve essere referenziata almeno due volte (una da se stessa, una dalla sua madre) e ogni referenza aggiuntiva proviene da una sottodirectory. In pratica, comunque, i link simbolici ed i filesystem distribuiti11.1 possono rompere questa regola. Questa opzione fa girare find leggermente pi lento, ma pu dare i risultati attesi. -maxdepth livelli, -mindepth livelli, dove livelli un intero non negativo, che indica rispettivamente il numero massimo e minimo di livelli di directory in cui cercare. Sono obbligatori un paio di esempi: -maxdepth 0 indica che il comando deve essere applicato solo agli argomenti nella linea di comando, cio senza entrare ricorsivamente nell'albero delle directory; -mindepth 1 inibisce l'applicazione del comando agli argomenti nella linea di comando, mentre vengono processati tutti gli altri file pi in basso nell'albero. -version stampa semplicemente il numero di versione corrente del programma. -xdev, che un nome che trae in inganno, dice a find di non incrociare i dispositivi, cio di non cambiare filesystem. molto utile quando si sta cercando qualcosa nel filesystem di root; in molte macchine una partizione piuttosto piccola, ma un find normale cercherebbe in tutta la struttura!

q q

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node136.html (1 di 2) [02/07/2001 15.14.13]

Opzioni

Next: Test Up: find, per cercare i Previous: Espressioni Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Test Up: find, per cercare i Previous: Espressioni Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node136.html (2 di 2) [02/07/2001 15.14.13]

Test

Cerca nel sito:

Test
I primi due test sono molto semplici da capire: -false restituisce solo il valore falso, mentre -true restituisce solo il valore vero. Altri test che non hanno bisogno della specifica di un valore sono -empty, che restituisce il valore vero se il file vuoto, e la coppia -nouser / -nogroup, che restituiscono il valore vero se nessuna voce di /etc/passwd o /etc/group corrisponde all'id di utente/gruppo del proprietario del file; una cosa comune che accade nei sistemi multiutente: viene cancellato un utente, ma nei posti pi strani del filesystem restano suoi file, e per la legge di Murphy occupano un sacco di posto. Naturalmente, possibile ricercare un utente o un gruppo specifico. I test sono -uid nn e -gid nn. Sfortunatamente non possibile dare direttamente il nome dell'utente, ma bisogna usare l'id numerico, nn. possibile usare le forme +nn, che sta per ``un valore strettamente maggiore di nn'' e -nn, che sta per ``un valore strettamente minore di nn''; piuttosto stupido nel caso degli UID, ma sar comodo con altri test. Un'altra opzione utile -type c, che restituisce il valore vero se il file di tipo c. Le corrispondenze mnemoniche per le scelte possibile sono le stesse che in ls; quindi si ha b per i file block special, c per quelli character special, d per le directory, p per le pipe con nome, l per i link simbolici, e s per le socket. I file regolari sono indicati con una f. Un test correlato -xtype, che simile a -type tranne nel caso dei link simbolici. Se non stato dato -follow, il file a cui si punta viene controllato al posto del link stesso. Completamente scorrelato il test -fstype tipo; in questo caso viene controllato il filesystem. Credo di aver preso questa informazione dal file /etc/mtab, quello che indica i filesystem che vengono montati; sono sicuro che i tipi nfs, tmp, msdos ed ext2 vengono
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node137.html (1 di 3) [02/07/2001 15.14.15]

Test

riconosciuti. I test -inum nn e -links nn controllano se il file ha numero di inode nn o nn link, mentre -size nn rende vero se il file ha allocato nn blocchi da 512 byte (beh, non precisamente: per i file sparsi i blocchi non allocati vengono contati lo stesso). Dato che al giorno d'oggi i risultati di ls -s non vengono sempre misurati in parti da 512 byte (Linux per esempio usa unit di 1K), possibile appendere a nn il carattere bper contare in byte, o k per contare in kilobyte. I bit di permesso vengono controllati con il test -perm modalit. Se modalit non ha segno, i bit di permesso dei file devono combaciare perfettamente. Un - che precede i bit significa che tutti i bit di permesso devono essere impostati, ma non fa assunzioni sugli altri; un + soddisfatto se uno qualsiasi dei bit impostato. Ops! Mi dimenticavo di dire che la modalit scritta in ottale o simbolicamente, come si fa in chmod. Il prossimo gruppo di test correlato all'ora di ultimo utilizzo del file; comodo quando un utente ha riempito il suo spazio, e come al solito ci sono moltissimi file inutilizzati da anni, e di cui si dimenticato il significato. Il problema trovarli, e find l'unica speranza. -atime nn rende vero se il file stato utilizzato nn giorni fa - ad esempio, con un comando chmod - e -mtime nn se il file stato modificato per l'ultima volta nn giorni fa. Talvolta si ha bisogno di un tempo pi preciso; il test newer file soddisfatto se il file considerato stato modificato dopo file. Quindi, dovete semplicemente usare touch con la data desiderata, ed avete fatto. Il find della GNU aggiunge i test -anewer e -cnewer che si comportano in maniera simile, ed i test -amin, -cmin e -mmin, che contano il tempo in minuti invece che in periodi di 24 ore. Per ultimo, il test che uso pi spesso: -name pattern rende vero se il nome del file corrisponde esattamente a pattern, che pi o meno quello che si usa in un ls standard. Perch `pi o meno'? Perch naturalmente dovete ricordare che tutti i parametri sono processati dalla shell, e quei bei metacaratteri vengono espansi. Quindi, un test come -name foo* non render quello che volete, e dovreste scrivere o -name foo o -name "foo*". Questo probabilmente uno degli errori pi comuni fatti dagli utenti disattenti, quindi scrivetelo a lettere GRANDI sul vostro schermo. Un altro problema che, come con ls, i punti all'inizio non vengono riconosciuti; per questo potete usare il test -path pattern, che non si

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node137.html (2 di 3) [02/07/2001 15.14.15]

Test

preoccupa dei punti e delle barre quando paragona il percorso del file considerato con pattern.

Next: Azioni Up: find, per cercare i Previous: Opzioni Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Azioni Up: find, per cercare i Previous: Opzioni Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node137.html (3 di 3) [02/07/2001 15.14.15]

Azioni

Cerca nel sito:

Azioni
Ho detto che le azioni fanno, appunto, un'azione. Beh, -prune invece non fa qualcosa, cio non discende all'interno dell'albero delle directory (a meno che non si dia -depth). Di solito si trova insieme a -fstype, per scegliere tra i vari filesystem da controllare. Le altre azioni possono essere divise in due grandi categorie:
q

Azioni che stampano qualcosa. La pi banale - e certo, l'azione di default di find - -print che stampa semplicemente il nome del/dei file che corrispondono alle altre condizioni nella linea di comando, e rende il valore vero. Una semplice variante di -print -fprint file, che usa file invece dell'output standard, -ls elenca il file corrente nello stesso formato di ls -dils, -printf formato si comporta pi o meno come la funzione del C printf(), in modo che potete specificare come formattare l'output, e -fprintf file formato fa la stessa cosa, ma scrivendo su file. Anche queste azioni rendono il valore vero. Azioni che eseguono qualcosa. La loro sintassi un po' strana e sono largamente usate, quindi per favore dategli un'occhiata. -exec comando \; il comando eseguito, e l'azione restituisce il valore vero se il suo stato finale 0, cio se l'esecuzione regolare. La ragione per il \; piuttosto logica: find non sa dove finisce il comando, e il trucco di mettere l'azione exec alla fine del comando non applicabile. Beh, il modo migliore per segnalare la fine del comando di usare il carattere che la shell stessa usa, cio `;', ma naturalmente un punto e virgola da solo sarebbe mangiato dalla shell e non arriverebbe a find, quindi deve essere usato con un comando di escape. La seconda cosa da ricordare come specificare il nome del fie corrente all'interno di comando, dato che probabilmente vi siete adoperati perch l'espressione faccia qualcosa, e non solo stampare date; si fa per mezzo della stringa {}. Alcune versioni vecchie di find richiedono che debba essere messa tra spazi bianchi non molto comodo se ad esempio vi serve il percorso intero e non solo il nome del file - ma con il find della GNU pu essere ovunque nella stringa che compone comando. E, chiederete di sicuro, non deve essere usato con un comando di escape o quotato? Meraviglioso: non l'ho mai dovuto fare n sotto tcsh n sotto bash (sh non considera { e } come caratteri speciali, quindi non un problema). La mia idea che la shell ``sa'' che {} non un'opzione che ha senso, quindi non prova ad espanderla, fortunatamente per find, che la ottiene integra.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node138.html (1 di 2) [02/07/2001 15.14.17]

Azioni

-ok comando \; si comporta come -exec, con la differenza che per ogni file scelto viene chiesto all'utente di confermare il comando; se la risposta inizia per y o Y viene eseguito, altrimenti no, e l'azione restituisce il valore falso.

Next: Operatori Up: find, per cercare i Previous: Test Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Operatori Up: find, per cercare i Previous: Test Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node138.html (2 di 2) [02/07/2001 15.14.17]

Operatori

Cerca nel sito:

Operatori
Esistono numerosi operatori: eccone una lista, in ordine di precedenza decrescente.
169#169( espr 169#169)

forza l'ordine precedente. Le parentesi devono naturalmente essere quotate, dato che hanno un significato anche per la shell. ! espr

-not espr

cambia il valore vero/falso dell'espressione, cio se espr vero diventa falso. Il punto esclamativo non ha bisogno di un carattere di escape, dato che seguito da uno spazio. espr1 espr2

espr1 -a espr2

espr1 -and espr2

corrispondono tutti all'operazione logica E, che implicita nel primo e nel secondo caso. espr2 non

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node139.html (1 di 2) [02/07/2001 15.14.18]

Operatori

viene valutata, se espr1 falsa. espr1 -o espr2

espr1 -or espr2

corrisponde all'operazione logica O. espr2 non viene valutata, se espr1 vera. espr1 , espr2

l'indicazione dell'elenco; vengono valutate sia espr1 che espr2, (e naturalmente anche tutti gli effetti secondari!) ed il valore finale dell'espressione quello di espr2.

Next: Esempi Up: find, per cercare i Previous: Azioni Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Esempi Up: find, per cercare i Previous: Azioni Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node139.html (2 di 2) [02/07/2001 15.14.18]

Esempi

Cerca nel sito:

Esempi
Beh s, find ha proprio troppe opzioni, lo so, ma ci sono un sacco di modi predefiniti di usarlo che vale la pena ricordare, dato che vengono usati molto spesso. Vediamone alcuni.
% find . -name foo\* -print % find /usr/include -xtype f -exec grep foobar \ /dev/null {} \; % find / -atime +1 -fstype ext2 -name core \ -exec rm {} \;

% find /home -xdev -size +500k -ls > piggies

Next: Un'ultima parola Up: find, per cercare i Previous: Operatori Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Un'ultima parola Up: find, per cercare i Previous: Operatori

trova tutti i nomi di file che cominciano per foo. Se la stringa pu trovarsi all'interno del nome, probabilmente pi indicato scrivere "*foo*" invece di foo. un grep eseguito ricorsivamente a partire dalla directory /usr/include. In questo caso ci interessano sia il file regolare che i link simbolici che puntano a file regolari, da cui il test -xtype. Molte volte pi semplice evitare di
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node140.html (1 di 2) [02/07/2001 15.14.20]

Esempi

specificarlo, specialmente se siamo piuttosto sicuri che non esistono file binary che contengono la stringa desiderata. E perch il /dev/null nel comando? un trucco per forzare grep a scrivere il nome del file dove trova una corrispondenza. Il comando grep viene applicato a ciascun file in un'invocazione diversa, e quindi non pensa che sia necessario di dare come output il nome del file; ma ora ci sono due file, cio il file corrente e /dev/null! Un'altra possibilit fare una pipe del comando verso xargs e fargli fare il grep. L'ho appena provato ed ho distrutto del tutto il mio filesystem (anche queste note che sto cercando di recuperare a mano :-( ). un tipico lavoro da crontab: cancella tutti i file core nei filesystem di tipo ext2 che non hanno avuto accessi nelle ultime 24 ore. possibile che qualcuno voglia usare il file core per fare un dump post mortem, ma nessuno si pu ricordare quello che stava facendo 24 ore prima... utile sapere chi ha questi file che intasano il filesystem. Notate l'uso di -xdev: dato che ci interessa un solo filesystem, non necesario scendere negli altri montati sotto /home.
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node140.html (2 di 2) [02/07/2001 15.14.20]

Un'ultima parola

Cerca nel sito:

Un'ultima parola
Tenete a mente che find un comando che prende moltissimo tempo, dato che deve accedere a tutti gli inode del sistema per operare. quindi saggio combinare tutte le operazioni che vi servono in un'unica invocazione di find, specialmente nei lavori di `pulizia' fatti da crontab. Un esempio illuminante questo: supponiamo di voler cancellare i file che finiscono con .BAK e cambiare le protezioni di tutte le directory a 771 e quelle dei file che finiscono con .sh a 755. E magari stiamo montando dei filesystem via NFS su un collegamento via modem, e non vogliamo controllare quei file. Perch scrivere tre comandi separati? Il modo pi efficace di portare a termine il compito questo:
% find . \( \( \( \( -fstype nfs -prune \) -o \ -type d -a -exec chmod 771 {} \; \) -o \ -name "*.BAK" -a -exec /bin/rm {} \; \) -o \ -name "*.sh" -a -exec chmod 755 {} \; \)

Sembra brutto (e che spreco di barre rovesciate!), ma guardando attentamente rivela che la logica che c' sotto molto lineare. Ricordate che quello che fa in realt una valutazione vero/falso; il comando compreso solo un effetto secondario. Ma ci significa che viene fatto solo se find deve valutare la parte exec dell'espressione, cio solo se il lato sinistro della sottoespressione rende vero. Quindi, se per esempio il file considerato al momento una directory viene valutato il primo exec ed i permessi dell'inode vengono cambiati a 771; altrimenti se ne dimentica e passa alla seconda sottoespressione. Probabilmente pi semplice vederlo in pratica che scriverlo, ma dopo un po' diventer una cosa naturale.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node141.html (1 di 2) [02/07/2001 15.14.23]

Un'ultima parola

Next: tar, l'archiviatore a nastro Up: find, per cercare i Previous: Esempi Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: tar, l'archiviatore a nastro Up: find, per cercare i Previous: Esempi Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node141.html (2 di 2) [02/07/2001 15.14.23]

tar, l'archiviatore a nastro

Cerca nel sito:

tar, l'archiviatore a nastro


q q q q

Introduzione Le opzioni principali Modificatori Esempi

Next: Introduzione Up: Comandi buffi Previous: Un'ultima parola

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node142.html [02/07/2001 15.14.24]

Introduzione

Cerca nel sito:

Introduzione
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Le opzioni principali Up: tar, l'archiviatore a nastro Previous: tar, l'archiviatore a nastro Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node143.html [02/07/2001 15.14.26]

Le opzioni principali

Cerca nel sito:

Le opzioni principali
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Modificatori Up: tar, l'archiviatore a nastro Previous: Introduzione Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node144.html [02/07/2001 15.14.27]

Modificatori

Cerca nel sito:

Modificatori
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Esempi Up: tar, l'archiviatore a nastro Previous: Le opzioni principali Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node145.html [02/07/2001 15.14.30]

Esempi

Cerca nel sito:

Esempi
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: dd, il duplicatore di Up: tar, l'archiviatore a nastro Previous: Modificatori Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node146.html [02/07/2001 15.14.31]

dd, il duplicatore di dati

Cerca nel sito:

dd, il duplicatore di dati


La leggenda narra che all'inizio dei tempi, quando fu creato il primo UNIX, i suoi sviluppatori avevano bisogno di un comando a basso livello per copiare i dati tra dispositivi. Dato che avevano molta fretta, decisero di prendere in prestito la sintassi usata dalle macchine IBM-360, e di sviluppare in seguito un'interfaccia consistente con quella degli altri comandi. Il tempo pass, e tutti si erano talmente abituati allo strano modo di usare il comando dd che rimase com'era. Non so se vero, ma una bella storia.

q q

Opzioni Esempi

Next: Opzioni Up: Comandi buffi Previous: Esempi

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node147.html [02/07/2001 15.14.33]

Opzioni

Cerca nel sito:

Opzioni
A dire la verit, dd non proprio diverso dagli altri comandi Unix: un filtro, che legge per default dall'input standard e scrive sull'output standard. Cos, se digitate semplicemente dd al terminale, resta in silenzio aspettando dell'input, e ctrl-C l'unica cosa sensata da digitare. La sintassi del comando la seguente:

dd [if=file] [of=file] [ibs= byte] [obs=byte] [bs=byte] [cbs=byte] [skip=blocchi] [seek=blocchi] [count=blocchi] [conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror, notrunc, sync}] Tutte le opzioni hanno la forma opzione=valore. Non sono permessi spazi n prima n dopo il segno di uguale; disturbava, dato che la shell in una situazione del genere non espandeva un nome di file, quindi non ve ne dovete preoccupare. anche importante riordare che tutti i valori sotto forma di numeri (byte e blocchi qui sopra) possono essere seguiti da un moltiplicatore. Le possibili scelte sono b per blocchi, che moltiplica per 512, k per kilobyte (1024), w per parole (2) e xm moltiplica per m. La spiegazione delle opzioni data qui sotto.
q

if=filein e of=fileout dicono a dd rispettivamente di leggere da filein e scrivere su fileout. Nell'ultimo caso, il file di output viene troncato al valore dato a seek, o, se la parola chiave non presente, a 0 (cio viene cancellato), prima di fare l'operazione. Ma date un'occhiata all'opzione notrunc. ibs=nn e obs=nn specificano quanti byte devono essere letti o scritti alla volta. Credo che il default sia 1 blocco, cio 512 byte, ma non ne sono molto sicuro: quello che sicuro che funziona in quel modo con i file semplici. Questi parametri sono molto importanti quando si usano device

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node148.html (1 di 2) [02/07/2001 15.14.35]

Opzioni

q q

speciali come input o output; ad esempio, leggere dalla rete dovrebbe impostare ibs a 10k, mentre un floppy da 3.5'' ad alta densit ha la sua naturale grandezza di blocchi a 18k. Non impostare questi valori pu non solo aumentare il tempo di compimento del comando, ma anche portare ad errori di timeout, quindi state attenti. bs=nn legge e scrive nn byte alla volta. Supera le parole chiave ibs e obs. cbs=nn imposta i buffer di conversione a nn byte. Questi buffer vengono usati quando si traduce da ASCII a EBCDIC o da un dispositivo senza blocchi ad uno che li ha. Ad esempio, i file creati sotto VMS hanno spesso blocchi di 512 byte, cosicch bisogna impostare cbs a 1b quando si legge un nastro VMS. Spero che non dobbiate mai lottare con questo tipo di cose! skip=nbl e seek=nbl dicono al programma di saltare nbl blocchi rispettivamente all'inizio dell'input ed all'inizio dell'output. Naturalmente il secondo caso ha senso se si d la conversione notrunc (vedere sotto). Le dimensioni di ogni blocco sono il valore di ibs (obs). Attenzione: se non avete impostato ibs e scrivete skip=1b state in realt saltando 512170#170512 byte, cio 256KB. Non precisamente quello che volevate, no? count=nbl copia solo nbl blocchi dall'input, ognuno delle dimensioni date da ibs. Questa opzione, insieme alla precedente, rimane utile se per esempio avete un file corrotto e volete recuperarne il pi possibile: saltate le parti illeggibili e prendete quello che resta. conv=conversione,[conversione...] converte il file come specificato dall'argomento. Le conversioni possibili sono ascii, che converte da EBCDIC ad ASCII, ebcdic e ibm, che fanno entrambe una conversione inversa (s, non c' un'unica conversione da EBCDIC ad ASCII! La prima quella standard, ma la seconda funziona meglio se dovete stampare i file su una stampante IBM), block, che porta linee che finiscono con un carattere di newline alla lunghezza di cbs, sostituendo la newline con degli spazi, unblock, che fa l'opposto (elimina gli spazi in fondo alla linea, e li sostituisce con un carattere di newline), lcase e ucase, per convertire il testo da maiuscole a minuscole e viceversa, swab, che scambia ogni coppia di byte di input (ad esempio ne avete bisogno per usare un file contenente degli interi corti scritto su una macchina 680x0 con una macchina Intel), noerror, per continuare ad agire su un file anche dopo aver incontrato errori, e sync, che porta i blocchi di input alla dimensione di ibs aggiungendo dei caratteri NUL alla fine.

Next: Esempi Up: dd, il duplicatore di Previous: dd, il duplicatore di Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Esempi Up: dd, il duplicatore di Previous: dd, il duplicatore di Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node148.html (2 di 2) [02/07/2001 15.14.35]

Esempi

Cerca nel sito:

Esempi
L'esempio classico quello in cui siete incappati quando avete provato a creare il primo dischetto Linux: come scrivere su un floppy senza un filesystem MS-DOS. La soluzione semplice:
% dd if=disk.img of=/dev/fd0 obs=18k count=80

Un'altra applicazione utile di dd legata al backup su rete. Supponiamo di essere sulla macchina alfa, e che sulla macchina beta ci sia l'unit a nastro /dev/rst0, con un file tar che ci interessa prendere. Abbiamo gli stessi privilegi su entrambe le macchine, ma non c' spazio su beta per mettere il file tar. In questo caso, possiamo scrivere
% rsh beta 'dd if=/dev/rst0 ibs=8k obs=20k' | tar xvBf -

Dimenticavo: non credo proprio che dd sia un acronimo per ``duplicatore dati'', ma almeno un buon modo per ricordarsi il suo significato...

Next: sort, per ordinare i Up: dd, il duplicatore di Previous: Opzioni Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: sort, per ordinare i Up: dd, il duplicatore di Previous: Opzioni

Ho deciso di non usare ibs perch non so qual' la grandezza di blocchi migliore per un hard disk, ma in questo caso non avrei fatto nessun danno se al posto di
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node149.html (1 di 2) [02/07/2001 15.14.37]

Esempi

obs avessi usato bs - potrebbe anche essere stato leggermente pi veloce. Notate l'esplicitazione del numero di settori da scrivere (18KB vengono occupati da un settore, quindi count viene impostato a 80) e l'uso del nome a basso livello del dispositivo floppy. per fare l'intera operazione in un solo passo. In questo caso, abbiamo usato le possibilit date da rsh di leggere dal nastro. Le dimensioni di input ed output sono impostate al default per questa operazione, cio 8KB per leggere dal nastro e 20KB per scrivere sulla ethernet; dal punto di vista dell'altro estremo del tar, c' lo stesso flusso di byte che si pu prendere dal nastro, eccetto per il fatto che arriva in maniera non costante, ed necessaria l'opzione B.
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node149.html (2 di 2) [02/07/2001 15.14.37]

sort, per ordinare i dati

Cerca nel sito:

sort, per ordinare i dati


q q q

Introduzione Opzioni Esempi

Next: Introduzione Up: Comandi buffi Previous: Esempi

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node150.html [02/07/2001 15.14.39]

Introduzione

Cerca nel sito:

Introduzione
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Opzioni Up: sort, per ordinare i Previous: sort, per ordinare i Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node151.html [02/07/2001 15.14.40]

Opzioni

Cerca nel sito:

Opzioni
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Esempi Up: sort, per ordinare i Previous: Introduzione Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node152.html [02/07/2001 15.14.41]

Esempi

Cerca nel sito:

Esempi
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Errori, bug ed altre Up: sort, per ordinare i Previous: Opzioni Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node153.html [02/07/2001 15.14.42]

Errori, bug ed altre spiacevolezze

Cerca nel sito:

Errori, bug ed altre spiacevolezze


q q q

Evitare gli errori Cosa fare quando qualcosa va storto Non colpa vostra
r r

Quando c' un bug Notificare un bug

Next: Evitare gli errori Up: Linux Guida dell'Utente Previous: Esempi

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node154.html [02/07/2001 15.14.44]

Evitare gli errori

Cerca nel sito:

Evitare gli errori


q

Fate delle copie di riserva! Vale specialmente per i sistemi monoutente--tutti gli amministratori di sistema dovrebbero fare backup regolari del loro sistema! Una volta alla settimana sufficiente per salvare molti file. Vedete The Linux System Administrator's Guide per ulteriori informazioni. Gli utenti individuali dovrebbero tenere i propri backup, se possibile. Se usate regolarmente pi di un sistema, tentate di tenere copie aggiornate di tutti i vostri file su ciascun sistema. Se avete accesso ad un drive per floppy, dovreste fare dei backup su floppy del materiale pi critico. Alla peggio, tenete delle copie aggiuntive del materiale pi importante in giro per il vostro account in una directory separata! Pensate ai comandi, specialmente quelli ``distruttivi'' come mv, rm, e cp prima di agire. Attenzione alla la redirezione (>)--sovrascriver i file se non state attenti. Anche il comando pi innocuo pu diventare sinistro. 171#171 pu facilmente provocare un disastro. 172#172 L'autore raccomanda anche, dalla sua esperienza personale, di non fare manutenzione dei file a tarda notte. La struttura delle vostre directory sembra un po' confusionaria alle 1:32 di notte? Lasciatela com'--un po' di confusione non fa male al computer. Tenete conto della directory in cui siete. Talvolta il prompt che usate non mostra in quale directory state lavorando, ed il pericolo pronto a colpire. triste leggere dei messaggi su comp.unix.admin12.1 di un utente root che era in / invece che in /tmp! Ad esempio: 173#173 La serie di comandi riportata qui sopra renderebbe qualsiasi utente molto infelice, dato che rimuove il file delle password del sistema. Senza questo file, non ci si pu loggare!

Next: Cosa fare quando qualcosa Up: Errori, bug ed altre Previous: Errori, bug ed altre

Molti utenti si sentono in alcune occasioni frustrati con il sistema operativo Unix, spesso a causa del loro proprio comportamento. Una caratteristica del sistema operativo Unix, che molti utenti amano quando stanno lavorando bene, e odiano
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node155.html (1 di 2) [02/07/2001 15.14.46]

Evitare gli errori

dopo una sessione a tarda notte che molto pochi comandi chiedono conferma. Quando l'utente sveglio ed ha la mente fresca, raramente ci pensa, ed una cosa positiva perch il lavoro pi fluido. Ci sono per degli svantaggi. rm e mv non chiedono mai conferma, e spesso questo porta a dei problemi. Vediamo quindi una piccola lista di ci che vi pu essere utile per evitare il disastro totale:
Next: Cosa fare quando qualcosa Up: Errori, bug ed altre Previous: Errori, bug ed altre Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node155.html (2 di 2) [02/07/2001 15.14.46]

Cosa fare quando qualcosa va storto

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Cosa fare quando qualcosa va storto


Next: Non colpa vostra Up: Errori, bug ed altre Previous: Evitare gli errori

Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node156.html [02/07/2001 15.14.49]

Non colpa vostra

Cerca nel sito:

Non colpa vostra


q q

Quando c' un bug Notificare un bug

Next: Quando c' un bug Up: Errori, bug ed altre Previous: Cosa fare quando qualcosa

Sfortunatamente per i programmatori di tutto il mondo, non tutti i problemi sono causati da errori degli utenti. UNIX e Linux sono sistemi complessi, e tutte le versioni note hanno dei bug. Talvolta questi sono difficili da scovare, ed appaiono solo in determinate circostanze. Per prima cosa, cos' un bug? Un esempio di bug se chiedete al computer di calcolare ``5+3'' e lui dice ``7''. Anche se un esempio banale, la maggior parte dei bug nei programmi di computer dipendono in qualche strano modo dalla matematica.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node157.html [02/07/2001 15.14.52]

Quando c' un bug

Cerca nel sito:

Quando c' un bug


Next: Notificare un bug Up: Non colpa vostra Previous: Non colpa vostra

Se il computer d una risposta sbagliata (verificate che sia veramente sbagliata!) o crasha, un bug. Se un qualsiasi programma crasha o d un errore di sistema, un bug. Se un comando non smette di girare pu essere un bug, ma accertatevi che non gli abbiate chiesto di fare quello che deve fare in un tempo lungo. Chiedete aiuto se non sapete cosa doveva fare il programma. Alcuni messaggi vi avviseranno della presenza di bug; altri messaggi non sono bug. Controllate la Sezione e qualsiasi altra documentazione per controllare che non siano normali messaggi di informazione. A esempio, messaggi come ``disk full'' (``disco pieno'') o ``lp0 on fire'' (``la porta lp0 va a fuoco'') non sono problemi software, ma qualcosa che non va con l'hardware--non c' sufficiente spazio su disco, o ci sono problemi con la stampante. Se non riuscite a trovare niente su un programma, un bug nella documentazione, e dovreste contattare l'autore del programma ed offrirvi di scriverla voi stessi. Se qualcosa non corretto nella documentazione esistente12.2, un bug del manuale. Se qualcosa sembra incompleto o non chiaro nel manuale, un bug. Se non riuscite a vincere gnuchess a scacchi, una pecca del vostro algoritmo scacchistico, non necessariamente un bug del vostro cervello.
Next: Notificare un bug Up: Non colpa vostra Previous: Non colpa vostra Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node158.html (1 di 2) [02/07/2001 15.14.54]

Quando c' un bug

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node158.html (2 di 2) [02/07/2001 15.14.54]

Notificare un bug

Cerca nel sito:

Notificare un bug
q

q q

Una descrizione di quello che pensate sia sbagliato. Ad esempio, ``Mi d 5 quando faccio 2+2'', e ``Dice segmentation violation - core dumped.'' importante dire esattamente quello che accade, in modo che venga risolto il vostro bug! Includete qualsiasi variabile d'ambiente rilevante. La versione del kernel (vedere il file /proc/version) e delle librerie di sistema (vedere la directory /lib--se non riuscite a decifrarla, mandate un elenco del contenuto di /lib). Come facevate girare il programma in questione, o, se un bug del kernel, quello che stavate facendo. Tutte le informazioni secondarie. Ad esempio, il comando w pu non mostrare il processo corrente per alcuni utenti. Non dite semplicemente ``w non funziona per un determinato utente''. Il bug pu avvenire perch il nome dell'utente lungo pi di 8 caratteri, o quando si collega attraverso la rete. Dite invece ``w non mostra il processo corrente per l'utente greenfie quando si collega via rete''. E, ricordatevi, siate educati. La maggior parte di chi lavora sul free software lo fa per il gusto di farlo, e perch hanno dei cuori grandi cos. Non gli rovinate tutto--la comunit Linux ha gi distrutto le illusioni di troppi sviluppatori, ed ancora agli inizi!

Next: The GNU General Public Up: Non colpa vostra Previous: Quando c' un bug

Quando siete sicuri di aver trovato un bug, importante accertarsi che questa informazione arrivi a chi di dovere. Cercate di scoprire quale programma sta causando il bug--se non ci riuscite, forse potete chiedere aiuto in comp.os.linux.help o in comp.unix.misc. Trovato il programma, leggete la pagina man per vedere chi l'ha scritto. Il metodo preferito di spedire le notifiche di bug nel mondo Linux via posta elettronica. Se non avete accesso ad una casella di posta elettronica, potete contattare chi vi ha fornito --alla fine
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node159.html (1 di 2) [02/07/2001 15.14.55]

Notificare un bug

dovrete trovare qualcuno che ha la posta elettronica, o che vende Linux commercialmente e quindi vuole rimuovere quanti bug possibili. Ricordatevi per che nessuno costretto ad eliminare bug a meno che non abbiate un contratto! Quando mandate una notifica di bug, includetevi tutte le informazioni che vi vengono in mente, compreso:
Next: The GNU General Public Up: Non colpa vostra Previous: Quando c' un bug Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node159.html (2 di 2) [02/07/2001 15.14.55]

The GNU General Public License

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

The GNU General Public License


GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

q q q q

Preamble Terms and Conditions NO WARRANTY How to Apply These Terms to Your New Programs

Next: Preamble Up: Linux Guida dell'Utente Previous: Notificare un bug

Next: Preamble Up: Linux Guida dell'Utente Previous: Notificare un bug Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node160.html [02/07/2001 15.14.56]

The GNU Library General Public License

Cerca nel sito:

The GNU Library General Public License


GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.]

q q q q

Preamble Terms and Conditions for Copying, Distribution and Modification NO WARRANTY How to Apply These Terms to Your New Libraries

Next: Preamble Up: Linux Guida dell'Utente Previous: How to Apply These

Next: Preamble Up: Linux Guida dell'Utente Previous: How to Apply These Eugenia Franzoni 1998-09-29
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node165.html (1 di 2) [02/07/2001 15.15.12]

The GNU Library General Public License

Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node165.html (2 di 2) [02/07/2001 15.15.12]

Bibliography

Cerca nel sito:

Bibliography
1 Almesberger, Werner. LILO: Generic Boot Loader for Linux. Disponibile in forma elettronica: tsx-11.mit.edu. 3 Luglio 1993. 2 Bach, Maurice J. The Design of the UNIX Operating System. Englewood Cliffs, New Jersey: Prentice-Hall, Inc. 1986. 3 Lamport, Leslie. LATEX: A Document Preparation System. Reading, Massachusetts: Addison-Wesley Publishing Company. 1986. 4 Stallman, Richard M. GNU Emacs Manual, ottava edizione. Cambridge, Massachusetts: Free Software Foundation. 1993.

nn
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Index Up: Linux Guida dell'Utente Previous: How to Apply These Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node170.html [02/07/2001 15.15.17]

Footnotes

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

....1.1 Apologia per gli utenti DOS, OS/2 e VMS. Ho usato tutti e tre, e ognuno ha i suoi lati positivi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... programmi.1.2 Questo fu in realt determinato dall'hardware in cui originariamente funzionava Unix. Per qualche strana ragione, il sistema operativo risultante era molto pratico su altri hardware. Il progetto di base viene ancora usato dopo venticinque anni. . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (1 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . ... assembly.2.1 Il ``linguaggio assembly'' un linguaggio di programmazione a livello molto basso legato ad un determinato tipo di computer. Programmare in assembly spesso considerato una sfida. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (2 di 36) [02/07/2001 15.15.21]

Footnotes

. ... Novell,2.2 stato recentemente venduto alla Novell. Precedentemente, USL era di propriet della AT&T. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... SVR4,2.3 Un modo criptico di dire ``System five, release four''. . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (3 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . ... sorgente2.4 Il codice sorgentecodice sorgente di un programma ci che il programmatore scrive e legge. Viene in seguito trasformato in codice macchina illeggibile che viene interpretato dal computer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 80386,3.1 Quando mi riferisco all'80386, parlo anche dell'80486, dei Pentium e dei Pentium Pro, a meno che non specifichi il contrario. Il nome sar in seguito abbreviato in 386. . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (4 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . ... RAM3.2 La differenza tra la ``RAM'' e un disco fisso come la differenza tra memoria a breve termine e menoria a lungo termine. Spegnere il computer come dargli una botta in testa--si dimenticher tutto quello che nella memoria a breve termine, ma quello che nella memoria a lungo termine verr salvato. Il disco migliaia di volte pi lento della RAM. . . . . . . . . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (5 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . ... usarlo3.3 Per evitare possibili indebolimenti di alcuni componenti hardware, spegnete il computer solamente se avete finito di usarlo per quel giorno. Spegnere e riaccendere il computer una volta al giorno probabilmente il miglior compromesso tra il consumo di energia ed il consumo delle parti hardware del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... interno3.4 ``Compilazione'' il processo con cui un programma scritto da una persona viene tradotto in qualcosa che il computer pu capire. Una caratteristica ``compilata'' in un programma stata inclusa nel programma. . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (6 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . ... diversi4.1 La sensibilit al maiuscolo/minuscolo una cosa particolare. Alcuni sistemi operativi, come OS/2 o Windows NT mantengono i nomi in maiuscolo o minuscolo, ma non fanno distinzioni. In pratica difficile che due comandi UNIX differiscano solo per una lettera maiuscola invece che minuscola. Non normale avere due comandi diversi come cat e Cat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (7 di 36) [02/07/2001 15.15.21]

Footnotes

... qui4.2 Il carattere ` ' indica che l'utente ha inserito uno spazio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...4.3 Tenete premuto il tasto ``Ctrl'' e premete ``d'', poi lasciateli entrambi. . . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (8 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . ... comando4.4 man d informazioni anche su chiamate di sistema, subroutine, formati di file ed altro. Nella versione originale di UNIX dava esattamente le stesse informazioni della versione stampata. Per ora, probabilmente, sarete interessati soltanto alla documentazione sui comandi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... directory.4.5 Pu esserci o non esserci un limite di ``profondit'' in un filesystem (io non l'ho mai raggiunto--si possono facilmente avere directory nidificate 10 volte. . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (9 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . ... corrente4.6 Troverete tutti i termini in questo libro: directory corrente, directory di lavoro. Preferisco ``directory corrente'', sebbene a volte verranno usate le altre forme per motivi stilistici. . . . . . . . . . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (10 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . ... destinazione4.7 cp nel suo modello ha due linee perch il significato del secondo parametro pu essere diverso a seconda del numero di parametri. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ``X''5.1 Ci sono parecchi altri modi per riferirsi al sistema X Window. Un modo comune, anche se non corretto, ``X Windows''. . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (11 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . ... xterm5.2 Potete avere pi di una copia di xterm in esecuzione nello stesso tempo! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... centrale)5.3 Molti PC hanno mouse con solo due pulsanti. In questi casi possibile simulare il tasto centrale usando contemporaneamente il destro e il sinistro. .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (12 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... diversa.5.4 Un programma divertente da provare si chiama xfishtank . Vi mette sullo sfondo un piccolo acquario. . . . . . . . . . . . . . . . . . . . . . . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (13 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . ... adiacenti.6.1 75#75

significa tener premuto il tasto ``Ctrl'', premere il tasto ``t'' e quindi rilasciare il tasto ``Ctrl''.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... /etc/passwd,6.2 cp /etc/passwd un-file-lunghissimo

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (14 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... originale.6.3 Per i lettori impazienti, il comando che state cercando more. Comunque ci sono ancora alcune cose da dire prima di arrivarci. . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (15 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . ....6.4 Si chiama more perch il prompt (messaggio) che stampava originariamente era -more-. In molte versioni di , il comando more identico ad un comando pi avanzato che fa tutto quello che fa more e molto di pi. Come prova che i programmatori non hanno il senso dell'umorismo, l'hanno chiamato less ! . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (16 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . ... vedere.6.5 Ci sono delle buone ragioni per l'esistenza di questo strano comando. Talvolta i comandi chiedono conferma--chiedono di rispondere ``yes'' a delle domande. Il comando yes permette di automatizzare la risposta a queste domande. . . . . . . . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (17 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . ... associato.6.6 Principalmente sono programmi di sistema che non comunicano con l'utente attraverso la tastiera. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... PID.6.7 In genere pi semplice eliminare il processo tramite il numero di job invece che con il PID.
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (18 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... 2).6.8 Assicuratevi di farlo dalle console in modo testo: se state eseguendo X Window o altre applicazioni grafiche, probabilmente non funzioner, sebbene voci dicano che X Window permetta di commutare le console virtuali sotto Linux. . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (19 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . ... insieme.7.1 Notare che il breve sommario dei comandi alla fine di questo capitolo non completo. Consultate le pagine man dei comandi se volete sapere tutte le opzioni. . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (20 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . ... associate:7.2 I vecchi filesystem in Linux memorizzavano soltanto una data, in quanto derivavano da Minix. Se avete uno di questi filesystem, alcune delle informazioni potrebbero non essere disponibili--le operazioni saranno in genere le stesse. . . . . . . . . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (21 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . ... americano.7.3 Anche se ci sono versioni per parecchie altre lingue europee (n.d.t. anche per l'italiano), la copia nella vostra macchina Linux potrebbe essere per l'inglese americano e solamente per questo. Mi dispiace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... directory8.1 Per esempio, cp /usr/src/linux/README ./README
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (22 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... precedente.8.2 Nel caso non l'abbiate gi notato molti dei comandi di spostamento di Emacs consistono nella combinazione del tasto 118#118 con una singola lettera mnemonica. . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (23 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . ... disastri,8.3 Se non siete l'utente ``root'' (il supervisore) nella macchina, non dovreste avere la possibilit di danneggiare il sistema, ma fate lo stesso attenzione. . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (24 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . ... C-g!8.4 Talvolta solo un C-g non sufficiente per convincere Emacs che volete interrompere quello che state facendo. Ripremetelo, e Emacs vi dar ascolto. . . . . . . . . . . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (25 di 36) [02/07/2001 15.15.21]

Footnotes

. . . ... minibuffer.8.5 Su alcuni terminali, C-SPC non funziona, e dovete usare C-@. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... C-q8.6 Chiamiamo C-q ``tasto'', anche se prodotto tenendo premuto 118#118 e premendo ``q'', perch un singolo carattere ASCII. . .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (26 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . ... essi8.7 Per renderla un po' pi complicata, esistono delle ``modalit maggiori'' e delle ``modalit minori'', ma ancora non vi serve saperlo. . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (27 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . ... Emacs8.8 Richard Stallman , noto anche come ``rms'', che il suo nome di login. . . . . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (28 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . ... Lisp8.9 Talvolta chiamate non ufficialmente ``Elisp''. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... preferita8.10


http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (29 di 36) [02/07/2001 15.15.21]

Footnotes

Tra l'altro, cmuscheme era l'interfaccia di cui stavo parlando pi indietro, nella sezione su come lavorare con Scheme, quindi se volete usare il materiale di quel capitolo, dovete assicurarvi di stare usando cmuscheme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... programma9.1 Ecco perch le shell sono cos importanti. Pensate se aveste dovuto passare l'intero ambiente a mano ogni volta che aveste richiamato un programma! . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (30 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . ... rischi9.2 Ricordatevi che potete sempre eseguire i programmi nella directory corrente dandogli il percorso esplicito, come ``./foo''. . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (31 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . ... server9.3 Il ``server'' semplicemente il processo X principale sulla vostra macchina, quello con cui tutti i programmi di X devono comunicare per usare lo schermo. Questi altri programmi si chiamano ``client'', e l'insieme si chiama sistema ``client-server''. . . . . . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (32 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . ... twm!9.4 Questa una delle caratteristiche negative dei file di inizializzazione: hanno generalmente il loro proprio linguaggio caratteristico; ci significa che gli utenti diventano bravissimi ad imparare velocemente i linguaggi. Suppongo che sarebbe bello se i primi programmatori di Unix si fossero messi d'accordo su un formato standard per i file di inizializzazione, in modo che non dovessimo imparare nuove sintassi ogni volta, ma ad essere realisti difficile predire di quali informazioni avranno bisogno i programmi. . . . . . . . . . . . . . . . . . . . . . . . . . . .
http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (33 di 36) [02/07/2001 15.15.21]

Footnotes

. . . ... distribuiti11.1 I filesystem distribuiti permettono ai file di apparire come locali su una macchina mentre sono in realt da qualche altra parte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... comp.unix.admin12.1 Un gruppo di discussione internazionale su Usenet, che tratta dell'amministrazione dei computer Unix. .

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (34 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... esistente12.2 Specialmente questa! . . . . . . . . . . .


http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (35 di 36) [02/07/2001 15.15.21]

Footnotes

. . . . . . . . . . . . . . . . . . . Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)
Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/footnode.html (36 di 36) [02/07/2001 15.15.21]

Barre di scorrimento Athena

Cerca nel sito:

Barre di scorrimento Athena

Next: Barre di scorrimento Motif Up: Barre di scorrimento Previous: Barre di scorrimento

Le barre di scorrimento di tipo Athena operano in maniera diversa da quelle degli altri sistemi operativi a finestre. Per scorrere il testo verso l'alto (cio per mostrare il materiale che sta sopra quello correntemente visibile) si pu cliccare sul pulsante destro in qualsiasi punto della barra di scorrimento. Per scorrere verso il basso, cliccate con il pulsante sinistro in qualsiasi punto della barra. Si pu anche saltare ad un punto particolare del materiale mostrato cliccando con il pulsante centrale del mouse in un qualsiasi punto della barra di scorrimento. In questo modo nella finestra viene visualizzato il materiale che si trova a quel punto del documento.
Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node64.html [02/07/2001 15.15.23]

Barre di scorrimento Motif

Cerca nel sito:

Barre di scorrimento Motif

Next: Lavorare con Unix Up: Barre di scorrimento Previous: Barre di scorrimento Athena

Le barre di scorrimento Motif funzionano pi o meno come quelle del Macintosh o di Microsoft Windows. Un esempio si trova a destra in Figura . Notate che in aggiunta alla barra, ci sono delle frecce sopra e sotto la barra stessa; vengono usate per i piccoli movimenti: cliccando su una di esse con il pulsante destro o centrale del mouse si far scorrere una piccola quantit di testo (come una linea); il pulsante sinistro non ha effetto. Quello che succede cliccando all'interno della barra di scorrimento con le barre Motif molto diverso rispetto alle barre Athena. Il pulsante destro non ha effetti. Cliccando con il sinistro sopra la posizione corrente il testo scorre verso l'alto. In modo simile, cliccando sotto la posizione corrente il testo scorre verso il basso. Cliccando e tenendo il pulsante sinistro sulla posizione corrente permette di spostare a piacere la barra; rilasciando il pulsante sinistro si posiziona la finestra. Cliccare sul pulsante centrale in qualsiasi punto della barra far saltare immediatamente a quella posizione, come per il pulsante centrale delle barre Athena, ma invece di iniziare a mostrare i dati alla posizione cliccata, quella posizione viene presa come punto centrale dei dati da mostrare.
Next: Lavorare con Unix Up: Barre di scorrimento Previous: Barre di scorrimento Athena Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node65.html (1 di 2) [02/07/2001 15.15.29]

Barre di scorrimento Motif

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node65.html (2 di 2) [02/07/2001 15.15.29]

Preamble

Cerca nel sito:

Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2)
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node161.html (1 di 2) [02/07/2001 15.15.33]

Preamble

offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow.

Next: Terms and Conditions Up: The GNU General Public Previous: The GNU General Public Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Terms and Conditions Up: The GNU General Public Previous: The GNU General Public Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node161.html (2 di 2) [02/07/2001 15.15.33]

Terms and Conditions

Cerca nel sito:

Terms and Conditions


1. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The ``Program'', below, refers to any such program or work, and a ``work based on the Program'' means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term ``modification''.) Each licensee is addressed as ``you''. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 2. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 3. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node162.html (1 di 5) [02/07/2001 15.15.35]

Terms and Conditions

You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c. If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 4. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a. Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b. Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c. Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node162.html (2 di 5) [02/07/2001 15.15.35]

Terms and Conditions

with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 5. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 6. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 7. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 8. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance,
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node162.html (3 di 5) [02/07/2001 15.15.35]

Terms and Conditions

the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 9. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 10. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and ``any later version'', you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 11. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

Next: NO WARRANTY Up: The GNU General Public Previous: Preamble Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node162.html (4 di 5) [02/07/2001 15.15.35]

Terms and Conditions

Next: NO WARRANTY Up: The GNU General Public Previous: Preamble Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node162.html (5 di 5) [02/07/2001 15.15.35]

NO WARRANTY

Cerca nel sito:

NO WARRANTY
1. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 2. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Next: How to Apply These Up: The GNU General Public Previous: Terms and Conditions Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: How to Apply These Up: The GNU General Public Previous: Terms and Conditions Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node163.html [02/07/2001 15.15.42]

How to Apply These Terms to Your New Programs

Cerca nel sito:

How to Apply These Terms to Your New Programs


If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the ``copyright'' line and a pointer to where the full notice is found. one line to give the program's name and an idea of what it does. Copyright 19yy name of author This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node164.html (1 di 2) [02/07/2001 15.16.01]

How to Apply These Terms to Your New Programs

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a ``copyright disclaimer'' for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
Next: The GNU Library General Up: The GNU General Public Previous: NO WARRANTY Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: The GNU Library General Up: The GNU General Public Previous: NO WARRANTY Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node164.html (2 di 2) [02/07/2001 15.16.01]

Preamble

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software-to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node166.html (1 di 3) [02/07/2001 15.16.04]

Preamble

danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a ``work based on the library'' and a ``work that uses the library''. The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one.

Next: Terms and Conditions for Up: The GNU Library General Previous: The GNU Library General Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Terms and Conditions for Up: The GNU Library General Previous: The GNU Library General

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node166.html (2 di 3) [02/07/2001 15.16.04]

Preamble

Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node166.html (3 di 3) [02/07/2001 15.16.04]

Terms and Conditions for Copying, Distribution and Modification

Cerca nel sito:

Terms and Conditions for Copying, Distribution and Modification


1. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called ``this License''). Each licensee is addressed as ``you''. A ``library'' means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The ``Library'', below, refers to any such software library or work which has been distributed under these terms. A ``work based on the Library'' means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term ``modification''.) ``Source code'' for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 2. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node167.html (1 di 6) [02/07/2001 15.16.18]

Terms and Conditions for Copying, Distribution and Modification

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 3. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a. The modified work must itself be a software library. b. You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c. You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d. If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 4. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node167.html (2 di 6) [02/07/2001 15.16.18]

Terms and Conditions for Copying, Distribution and Modification

License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 5. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 6. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a ``work that uses the Library''. Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a ``work that uses the Library'' with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a ``work that uses the library''. The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a ``work that uses the Library'' uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 7. As an exception to the Sections above, you may also compile or link a ``work that uses the Library'' with the Library to produce a work containing portions of the Library, and distribute that
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node167.html (3 di 6) [02/07/2001 15.16.18]

Terms and Conditions for Copying, Distribution and Modification

work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a. Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b. Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c. If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d. Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 8. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a. Accompany the combined library with a copy of the same work based on the Library,
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node167.html (4 di 6) [02/07/2001 15.16.18]

Terms and Conditions for Copying, Distribution and Modification

uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b. Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 9. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 11. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 12. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node167.html (5 di 6) [02/07/2001 15.16.18]

Terms and Conditions for Copying, Distribution and Modification

that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 13. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 14. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 15. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

Next: NO WARRANTY Up: The GNU Library General Previous: Preamble Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: NO WARRANTY Up: The GNU Library General Previous: Preamble Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node167.html (6 di 6) [02/07/2001 15.16.18]

NO WARRANTY

Cerca nel sito:

NO WARRANTY
1. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 2. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

Next: How to Apply These Up: The GNU Library General Previous: Terms and Conditions for Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: How to Apply These Up: The GNU Library General Previous: Terms and Conditions for Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node168.html [02/07/2001 15.16.27]

How to Apply These Terms to Your New Libraries

Cerca nel sito:

How to Apply These Terms to Your New Libraries


If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the ``copyright'' line and a pointer to where the full notice is found. one line to give the library's name and a brief idea of what it does. Copyright (C) year name of author This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General
http://www.ziobudda.net/ILDP/guide/GuidaUtente/node169.html (1 di 2) [02/07/2001 15.16.33]

How to Apply These Terms to Your New Libraries

Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a ``copyright disclaimer'' for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. signature of Ty Coon, 1 April 1990 Ty Coon, President of Vice That's all there is to it!
Next: Bibliography Up: The GNU Library General Previous: NO WARRANTY Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Next: Bibliography Up: The GNU Library General Previous: NO WARRANTY Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node169.html (2 di 2) [02/07/2001 15.16.33]

About this document ...

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

About this document ...


This document was generated using the LaTeX2HTML translator Version 98.1p1 release (March 2nd, 1998) Copyright 1993, 1994, 1995, 1996, 1997, Nikos Drakos, Computer Based Learning Unit, University of Leeds. The command line arguments were: latex2html guide.tex. The translation was initiated by Eugenia Franzoni on 1998-09-29 Eugenia Franzoni 1998-09-29 Trovato qualche cosa che non va? Segnalamelo :)

Up: Linux Guida dell'Utente Previous: Index Linux Guida dell'Utente Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/GuidaUtente/node172.html [02/07/2001 15.16.35]

Progetto Culturale

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

Progetto Culturale
Fabio Farnesi
Una guida al Sistema Operativo Linux Spesso e volentieri sento lamentele sulla difficolt e la macchinosit di Linux. Purtroppo in effetti, chi proviene dal mondo dos, si scontra con la complessit e la vastit degli strumenti messi a disposizione da questo sistema operativo. La difficile reperibilit di informazioni spesso provoca una disaffezione e un allontanamento dal mondo *nix. La pretesa di questo programma quella di fornire una serie di nozioni che possano servire all'utente a muoversi agevolmente all'interno del s.o. Questo vuole essere un testo introduttivo che fornisce gli strumenti adatti a muoversi in Linux, ma ci tengo a precisare che una conoscenza approfondita si acquista sia dalla lettura della documentazione tecnica, ma soprattutto attraverso la lettura di riviste, saggi, corsi e la partecipazione alle conferenze del tipo ComeOn Linux, e alla lettura delle numerose newsgroups del gruppo comp.os.Linux.*. Non mi resta che augurarvi una buona lettura e una felice Linuxizzazione. Ciao Fabio

1. Introduzione
q q q q q q q q q

1.1 Breve storia di Linux 1.2 Caratteristiche del sistema 1.3 Caratteristiche del Software 1.4 Il sistema operativo 1.5 Il kernel di Linux 1.6 I dispositivi 1.7 Il file system 1.8 La shell 1.9 Gli script

2. Basi
q q

2.1 I comandi di base 2.2 La procedura di bootstrap

http://www.ziobudda.net/ILDP/guide/PrgCulturale/index.html (1 di 3) [02/07/2001 15.18.58]

Progetto Culturale

3. Primi passi
q q q q q q

3.1 Il login 3.2 Primi passi 3.3 La home dir 3.4 Il contenuto delle directory 3.5 Utilit delle home dir 3.6 Utilit di un sistema multiuser in un sistema non di rete

4. Editor e configurazione
q q q

4.1 L'editor vi 4.2 Carichiamo la tastiera italiana 4.3 I file profile e .profile

5. Lavorare con la shell


q q q q

5.1 Uso delle variabili 5.2 L'operatore accento grave, redirezione dell'I/O 5.3 Il comando alias 5.4 Il comando adduser

6. Dischi
q q q q q q q

6.1 mount ed umount 6.2 Il file /etc/fstab 6.3 Formattare un dischetto 6.4 Creare un file system 6.5 Il comando df 6.6 Il comando du 6.7 Gli mtools

7. File e permessi
q q q q q q q

7.1 I permessi dei file 7.2 I symlink 7.3 Il comando ln 7.4 Creare i gruppi 7.5 Cambiare gruppo e proprietario ad un file 7.6 Cambiare i permessi ad un file 7.7 I permessi delle directory

http://www.ziobudda.net/ILDP/guide/PrgCulturale/index.html (2 di 3) [02/07/2001 15.18.58]

Progetto Culturale

8. I processi
q q q q q q q

8.1 Linux e il multitasking 8.2 I Job 8.3 Eseguire un processo in background 8.4 nohup 8.5 Sospendere un processo 8.6 I comandi fg e bg 8.7 Priorit dei processi

Previous Next Contents v 0.0a, 21 settembre 1997 Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/index.html (3 di 3) [02/07/2001 15.18.58]

Progetto Culturale: Introduzione

Cerca nel sito:

1. Introduzione 1.1 Breve storia di Linux


Ho tradotto queste frasi da Linux.History, la traduzione non letterale ma tende a far capire il significato generale del discorso, chi fosse interessato a leggere l'originale, pu dare un occhiata sul primo cd dell'infomagic (Slakware Novembre) al file /docs/tsx11/Linux-history In un messaggio del 30 Luglio 1992 Duperval Laurent scriveva a Linus Torvalds: DL> Nessuno ha ancora risposto: Quand' il compleanno di Linux? DL> Dobbiamo Fare una Festa!!!!!!!!! LT> LT> LT> LT> LT> LT> Sinceramente non mi ricordo, e non mantengo un diario, quindi Non ti so dire esattamente quando Linux nato. Tuttavia la tua domanda mi ha incuriosito, cos ho fatto un giro per gli archivi di comp.os.minix (Dove ho annunciato tempo fa la nascita di Linux) e questo quanto ne venuto fuori (Pi ovviamente qualche linea di commento):

In un messaggio del 3 Luglio 1991 Linus Benedict Torvalds ha scritto a proposito di Gcc-1.40 and a posix-question: LT> LT> LT> LT> LT> LT> Hello netlanders C' un progetto su cui sto lavorando (in minix), sono interessato alla definizione dello standard Posix. Qualcuno potrebbe gentilmente darmi le coordinate di dove si possono reperire (preferibilmente in formato elettronico) le ultime informazioni riguardanti posix? Siti Ftp sarebbero graditi.

Il progetto era ovviamente Linux, cos probabilmente il 3 Luglio 1991 ho cominciato a pensare di arrivare al livello attuale: qualche driver era pronto e l'hard disk funzionava, non c'era molto altro. [...........] In un messaggio del 25 Agosto 1991 Linus Benedict Torvalds scriveva a

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-1.html (1 di 6) [02/07/2001 15.19.01]

Progetto Culturale: Introduzione

proposito di What would you like to see most in minix? LT> LT> LT> LT> LT> LT> LT> Hello everybody out there using minix Sto costruendo un nuovo (free) sistema operativo, (lo sto facendo per hobby, non deve essere grande e professionale come gnu) per 386(486)AT clones. stato messo in preparazione fin da Aprile, e adesso pronto a comiciare a lavorare. Vorrei avere qualsiasi tipo di feedback su cosa la gente ama/non ama in minix, cos che il mio OS gli assomigli in qualcosa e ne migliori alcuni aspetti

LT> Attualmente ho effettuato il porting della bash (1.08) e del LT> gcc (1.40), e sembra che le cose funzionino... Questi praticamente gli albori di Linux, il resto abbastanza conosciuto, Linux si raffin e continu ad evolversi anche attraverso l'intervento di molti e molti sviluppatori, fino a raggiungere lo standard qualitativo attuale. Eppure la filosofia e lo sviluppo quasi pionieristico di questo OS non mutato, ancora oggi esso free e viene sviluppato solo grazie alla passione, trovando il suo naturale ambiente di sviluppo nei meandri di internet. Un po' come agli albori di UNIX quando un manipolo di progettisti fuori da ogni convenzione diede vita al C e UNIX, che poi dovevano diventare i pilastri dell'attuale mondo informatico.

1.2 Caratteristiche del sistema


(Molte di queste info sono reperibili su ``La grande Guida Unix'' della Jackson) Linux un clone di Unix e quindi esso riflette tutte le caratteristiche di un moderno unix, incluso multitasking, memoria virtuale, librerie condivise, paginazione su domanda, tcp-ip etc. etc., ma non sono attualmente queste caratteristiche interne al sistema che ci devono interessare quanto piuttosto, la filosofia e i concetti generali su cui Linux si basa. Linux stato sviluppato pensando innanzitutto che il tempo del computer pi economico del tempo delle persone, quindi naturalmente tutta le utility e/o i comandi e i programmi riflettono questa intenzione. La filosofia di Linux che meglio spendere 5 minuti per far partire un programma che richiede 3 ore di esecuzione piuttosto che far eseguire il programma in un ora e mezza ma dover interagire con il sistema ogni 15 minuti. Molti dei miei amici spesso rimangono sbigottiti di fronte alla lunghezza o alla complessita di una riga di comando Linux, spesso composta da molti comandi uniti tra loro da pipeline, o eseguiti in successione separati da punto e virgola e che prendono il loro input dall'output del precedente e cosi via, (non spaventatevi se non vi tutto chiaro subito, ne parleremo da qui a breve), senza rendersi conto invece di questa intuizione dei suoi progettisti. La natura non interattiva di molte utility, rende inoltre pi semplici la creazione di programmi grandi e complessi come combinazione di numerose piccole utility. La maggior parte dei programmi possono essere richiamati a linea di comando specificando numerose opzioni di esecuzione, cosi che l'utente non debba poi rispondere a numerose domande (rendendo cos minima l'interazione con il sistema). In alternativa, proprio questa caratteristica vi consentir di creare interfacce semplici ed amichevoli, usando ad esempio la shell di Linux e connettendo i programmi fra di loro tramite semplici pipeline o redirezioni dell'I/O. In altre parole da un lato si cerca la minima interazione dell'uomo in un processo macchina, dall'altro la possibilit
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-1.html (2 di 6) [02/07/2001 15.19.01]

Progetto Culturale: Introduzione

per lo sviluppatore di riprogrammare il proprio sistema secondo la proprie caratteristiche, o le caratteristiche dell'utente. La prima regola da osservare proprio questa: sotto Linux tutto riprogrammabile, riscrivibile, configurabile ed estremamente flessibile. Potete, volendo, riscrivere completamente il vostro OS adattandolo alle vostre necessit pur rimanendo conforme alle caratteristiche del sistema.

1.3 Caratteristiche del Software


I programmi Linux sono silenziosi, finch non incontrano degli errori. Questo consente di non affollare il terminale dell'utente con messaggi di stato e commenti, che sarebbero comunque ignorati. Un dialogo noioso fa perdere tempo e non aiuta a costruire le pipeline. Un buon programma Linux fa il massimo uso delle risorse disponibili. Sin dall'inizio la filosofia dei sistemi *nix fu quella di utilizzare macchine anche poco costose per pi di un utente, e questo vale ancora di pi per Linux che nasce apposta per lavorare anche su home computer.

1.4 Il sistema operativo


Il sistema operativo costituito da un sistema di base (kernel) e di un certo numero di estensioni. Il sistema di base comprende ad esempio il kernel, la shell e le utility di base. Le estensioni sono ad esempio l'estensione grafica, le librerie, il compilatore etc. etc. In realt distinguere fra sistema operativo e le sue estensioni non un compito facile, perch tutto in Linux collabora cos strettamente con il sistema di base che sembra essere messo l apposta per sviluppare l'OS a proprio piacimento, in realt una mia idea che tutto Linux possa essere considerato come un enorme ambiente di sviluppo.

1.5 Il kernel di Linux


Il kernel il cuore del sistema, tanto che la sua ricompilazione fondamentale per il supporto delle periferiche. Anche il kernel come tutto in Linux pu essere personalizzato ed adattato alle esigenze del proprio HardWare. Inoltre essendo Linux un sistema operativo che sfrutta la protezione, tutte le operazioni di programmazione devono passare attraverso il kernel, non che non sia possibile anche fare programmazione di pi basso livello, diciamo solo che non consigliabile e che sfugge alle normali regole dell'OS.

1.6 I dispositivi
Linux rappresenta un dispositivo fisico come un file speciale. Come un qualsiasi altro file, un file speciale rappresentato tramite un elemento di una directory, tipicamente /dev. Allocando un elemento in una directory per rappresentare un file, Linux consente agli utenti di definire il nome che rappresenter il dispositivo; al contrario di alcuni sistemi operativi, non ci sono nomi riservati, definiti nel sistema dedicati ai dispositivi. I dispositivi, (e quindi i file speciali) sono divisi in due categorie principali; carattere e blocco. Come naturale un dispositivo a carattere legge e scrive sequenze di caratteri. I terminali sono ovviamente dispositivi a carattere. Un dispositivo a blocchi legge e scrive dati in blocchi di dimensioni predefinite. Un drive o un disco fisso deve
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-1.html (3 di 6) [02/07/2001 15.19.01]

Progetto Culturale: Introduzione

essere accessibile sia come dispositivo a caratteri che a blocchi. Esistono poi dei dispositivi speciali, come ad esempio /dev/null che funziona praticamente come un enorme buco nero, tutto ci che viene scritto in /dev/null scompare immediatamente. Faremo poi in seguito un elenco dei file speciali.

1.7 Il file system


Il file system di Linux gestito in maniera gerarchica, La directory principale /, / pu contenere delle directory figlio e dei file, a loro volta le directory figlio possono contenere file o directory. Ciascuna directory contiene almeno due elementi ``.'' e ``..'' L'elemento ``.'' si riferisce alla dir corrente e ``..'' invece si riferisce alla directory precedente. Ciascun file identificato univocamente da un path (percorso), il percorso pu essere assoluto o relativo, se comincia con ``/'' un percorso assoluto (fa riferimento alla radice), altrimenti un percorso relativo, (fa riferimento alla directory corrente). Il simbolo ``/'' funziona anche da separatore tra le dir. Ad esempio, per indicare il file fabio.tmp contenuto nella directory spool della directory var che a sua volta contenuta nella radice, si indica con /var/spool/fabio.tmp. I nomi di file e delle directory possono avere una lunghezza fino a 255 caratteri e una o pi estensioni (fanno parte dei 255 caratteri). Ad esempio non c'e' niente di male ad indicare un nome di file come segue: questo.file.contiene.un.esempio si possono usare all'interno del nome praticamente tutti i caratteri escluso il simbolo ``~'' e ``/''. Esistono poi tre file speciali, stdin, stdout, stderr, ovvero standard input, standard output, standard error. Se nessun input o output definito diversamente, per default lo standard input associato alla tastiera, lo standard output e lo standard error al video. Prima che cominci l'esecuzione di qualsiasi programma, la shell apre questi tre file in ordine, prima lo standard input, poi lo standard output e infine lo standard error. Per questo motivo associato a stdin c' lo 0, ad stdout l'1 a stderror il 2. Questi file sono lo standard ma il sistema fornisce la redirezione dell'input e dell'output in modo ad esempio che l'output di un programma corrisponda all'input per un altro.

1.8 La shell
La shell (le shell) possono essere assimilate al command.com del dos ma con funzioni estremamente potenziate e possibilit di programmazione. Una linea di comando prevede il nome del comando richiesto seguito da una serie di opzioni o argomenti. Pi comandi possono essere eseguiti su un unica linea purch separati da un ``;'', i comandi cos separati vengono eseguiti nell'ordine in cui sono scritti. Un secondo modo di usare la riga di comando quello della pipeline, ovvero il simbolo ``|'' che ha la funziona di redirigere l'output del primo comando come input del secondo. Ad esempio ``cat&nbspindice|grep&nbspfabio'' compie le seguenti operazioni: q cat indice ha come output il contenuto del file indice, tale output l'input per il comando

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-1.html (4 di 6) [02/07/2001 15.19.01]

Progetto Culturale: Introduzione


q

grep fabio che ricerca all'interno del suo input la stringa fabio e la stampa su stdout

esistono altri operatori di redirezione di cui ci occuperemo in seguito.

1.9 Gli script


Gli script sono un insieme di comandi riuniti in unico file. ad esempio il file stampa.prova potrebbe contenere le seguenti istruzioni echo "Questa una prova di stampa" ls -l digitando ``sh&nbspstampa.prova'' otterei come risultato Questa una prova di stampa total 454 drwxr-xr-x 2 root bin drwxr-xr-x 2 root root drwxr-xr-x 15 root bin drwxr-xr-x 3 root root drwxr-xr-x 25 root root drwxr-xr-x 12 root root drwxr-xr-x 6 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root root drwxr-xr-x 2 root wheel dr-xr-xr-x 4 root root drwxr-x--x 4 root root drwxr-xr-x 2 root bin drwxr-xr-x 2 root root drwxrwxrwt 2 root root drwxr-xr-x 17 root root drwxr-xr-x 13 root root -r-------1 root root

2048 1024 4096 11264 16384 2048 1024 1024 12288 1024 1024 0 1024 2048 1024 2048 1024 1024 399388

Jan 8 11:32 bin/ Jan 4 21:36 boot/ Nov 20 20:26 cdrom/ Jan 9 12:17 dev/ Jan 1 1970 dosd/ Jan 9 12:18 etc/ Jan 5 22:19 home/ Jan 4 21:47 lib/ Jan 4 21:33 lost+found/ Sep 4 20:32 mnt/ Jan 8 16:40 nls/ Jan 9 12:17 proc/ Jan 8 16:56 root/ Jan 4 21:54 sbin/ Jan 4 21:36 shlib/ Jan 9 15:16 tmp/ Jan 8 16:45 usr/ Jan 8 16:45 var/ Jan 4 21:36 vmlinuz

Un altro modo per eseguire stampa.prova sarebbe renderlo eseguibile cambiando i suoi permessi: chmod 755 stampa.prova Di come funzionano i permessi di un file ne parleremo in seguito. Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-1.html (5 di 6) [02/07/2001 15.19.01]

Progetto Culturale: Introduzione

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-1.html (6 di 6) [02/07/2001 15.19.01]

Progetto Culturale: Basi

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

2. Basi 2.1 I comandi di base


Prima di scrivere questo paragrafo, proprio in questo punto del programma, devo dire di averci pensato un bel po'. Il dubbio mi viene dal fatto che non vorrei che si pensasse che Linux, alla fine, si riducesse ad una serie di comandi che servono per compiere alcune operazioni di base, in realt Linux molto di pi. Pertanto in questo paragrafo si daranno, sotto la forma di un glossario, alcune infomazioni che vi serviranno per muovervi un po' pi agevolmente nel sistema, ma non si far menzione dei comandi avanzati, di cui parleremo solo pi avanti. Considerate questa parte del programma culturale come un punto di partenza e non un punto di arrivo. Infine un consiglio: il modo migliore per apprendere Linux quello di usarlo, per cui non fate l'errore di leggere solo e non lavorare sul sistema, usate queste informazioni per far funzionare il vostro Linux, insomma sperimentate il pi possibile.

cat [options] nomefile elenca il contenuto di un file Il suo output normalmente stdout, ci non toglie che possa anche essere rediretto ad esempio in un altro file. Es: cat&nbsppippo.dat >&nbsppluto.dat copia il contenuto del file pippo.dat nel file pluto.dat Es: cat&nbsppippo.dat > /dev/lp1 copia il contenuto del file pippo.dat nel file speciale /dev/lp1 che indica la porta parallela. (A cui per esempio pu essere connessa una stampante) Es: cat&nbsppippo&nbsppero >&nbspnew.file copia il contenuto del file pippo e del file pero, sequenzialmente nel file new.file cat dotato anche di alcune interessanti opzioni, che gli consentono ad esempio di numerare le linee in output, di numerare tutte le linee non bianche etc etc. per maggiori info sulle opzioni del comando cat, vi consiglio vivamente ``man&nbspcat''.

cp

[options] nomeorg nomedest

copia un file da una locazione ad un altra Es: cp /root/doc/info.for.root /home/jaco/doc/ copia il file info.for.root dalla directory /root/doc/ alla directory /home/jaco/doc/
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-2.html (1 di 6) [02/07/2001 15.19.06]

Progetto Culturale: Basi

Es: cp /root/doc/info.for.root /home/jaco/doc/info.for.jaco copia il file info.for.root dalla directory /root/doc/ alla directory /home/jaco/doc/ rinominandolo info.for.jaco Anche il comando cp, come gli altri dotato di un grande numero di opzioni Es: cp -R /root/ /temp/ copia la directory root e tutte le sue sottodirectory nella directory /tmp/ anche in questo caso per le opzioni di cp, leggere attentamente ``man&nbspcp''

find

[path] [expression]

cerca un file all'interno del file system Es: find / -iname&nbsppippo.pero cerca a partire dalla directory radice tutti i file che corrispondono alla descrizione pippo.pero. L'opzione -iname fa s che la ricerca sia case insensitive, ovvero che non si preoccupi di vedere se il file Pippo.Pero o piPPo.peRo. Ricordiamo invece che Linux case sensitive e che quindi in generale il file pluto diverso dal file PLUTO, ovvero tutti e due possono convivere nella stessa directory, indicando per file diversi. Es: find /usr -iname&nbsppluto come prima solo che questa volta la ricerca sar effettuata nella sola dir /usr e nelle sue sottodirectory. Es: find . -type&nbspf -perm -755 -print cerca a partire dalla directory . (la directory corrente) tutti i file (non le dir) il cui permesso 755 e stampa il pathname del file trovato. Es: find . -type&nbspf -perm -755 -print -exec&nbspchmod&nbsp750 {} ';' cerca a partire dalla directory corrente tutti file aventi permesso 755 e ne cambia il permesso a 750. Come vedete, find ha una marea di opzioni, quindi qui occorre uno studio veramente approfondito di ``man&nbspfind''.

grep

[options] pattern [file]

grep ricerca in un file la stringa specificata in pattern Es: grep -i&nbsplinux&nbspdocumentation ricerca all'interno del file documentation la stringa linux ignorando la distinzione fra maiuscole e minuscole. Es: grep -i&nbsplinux * ricerca all'interno di ogni file la stringa linux Es: mialista=`grep&nbsplinux *` ricerca all'interno di ogni file la stringa linux e crea una variabile di sistema chiamata mialista che contenga l'elenco delle occorrenze trovate da grep

ls [options]

[pathfile]

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-2.html (2 di 6) [02/07/2001 15.19.06]

Progetto Culturale: Basi

elenca il contenuto di una directory total 656 -rw-------rw-r--r--rw-rw-r--rw-r--r--rw-------rw------drwxr-xr-x -rw-r--r--rw----rw-rw-r--r--

1 1 1 1 1 1 2 1 1 1

root root root root root root root root root root

root root root root root root root root root root

21253 168814 185123 7203 64039 56771 1024 140024 15294 1170

Dec Jan Nov Dec Jan Jan Nov Nov Jan Jan

11 11 15 11 12 12 7 2 11 9

11:28 08:30 04:51 23:18 09:42 09:42 15:52 00:05 14:33 15:17

123gate.txt ALLFILES.LST ALLFILES.TXT CLS-ED allfiles.ziq allfiles.zir cucina ifmail-h prg.culturale.1 mtemp

mkdir nomedir crea una nuova directory

mv nomeorg nomedest muove un file da una locazione all'altra nell'hd Es: mv /var/spool/pippero /doc/ muove il file pippero dalla directory /var/spool/ alla directory /doc/ Es: mv&nbsppluto&nbsppippo rinomina il file pluto come file pippo

tail [+/-num][-f] file stampa l'ultima parte di un file Per default vengono stampate le ultime 10 righe. L'opzione -f risulta molto utile perch consente di vedere un file in crescita, ad esempio un file di log in continua costruzione, con ``tail -f /var/adm/messages'' vedrete in tempo reale i messaggi di sistema che vengono aggiunti al file /var/adm/messages.

2.2 La procedura di bootstrap


Cercheremo qui di semplificare molto il processo di inizializzazione del sistema, ci servir solo per dare un idea di quali sono i file che vengono eseguiti all'avvio del sistema operativo, e non per sapere tecnicamente quello che avviene a basso livello durante il bootstrap. Il primo processo che viene considerato dopo il bootstrap init che va a leggere il file /etc/inittab. (La directory /etc/, tipicamente contiene tutti o quasi tutti i file necessari per la configurazione generale del sistema.) /etc/inittab un file di testo che contiene i comandi che il processo init (padre di tutti i processi del sistema) deve eseguire per far partire i processi figli. tipicamente una riga del file /etc/inittab cos composta
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-2.html (3 di 6) [02/07/2001 15.19.06]

Progetto Culturale: Basi

ID:LIVELLODIESECUZIONE:AZIONE:COMANDO ID una stringa di due caratteri, che identifica univocamente un elemento del file. Ci naturalmente significa che un ID pu comparire solo su una riga ovvero non ci possonno essere due ID doppioni in /etc/inittab. LIVELLODIESECUZIONE I livelli di esecuzione possono sembrare una cosa molto astratta, in realt non lo sono affatto. Diciamo che Linux dispone di 7 livelli di esecuzione, ciascuno dei quali potr essere utilizzato indifferentemente o generato da una chiamata di sistema di un programma. Specificare il livello di esecuzione per un comando nel file /etc/inittab significa dire al sistema operativo che quel comando deve essere eseguito quando si passa da un livello al livello specificato. Alcuni livelli di esecuzione in generale: 0 si passa al livello 0 quando si esegue lo shutdown del sistema 1 si passa al livello 1 quando si vada da modo multiuser a modo singleuser 2 definisce lo stato multiutente 3,4 si usano spesso in alternativa all'ambiente multiutente, ad esempio in una rete il 3 potrebbe indicare lo stato di rete ed eseguire quindi tutti i compiti dello stato 2 ed inizializzare anche i processi client e server della rete 5 Potrebbe essere usato per eseguire uno shutdown completo della macchina e poi restituire il controllo ad un debbugger 6 il sistema esegue uno shut-down completo poi viene fatto ripartire C' da dire che la definizione dei livelli non standard, ma pu essere ridefinita, tanto vero che spesso cambia anche da distribuzione a distribuzione. AZIONE un'azione associata ad un comando. Ad esempio l'azione respawn fa s che il comando riparta di nuovo ogni volta che esso per un qualunque motivo termina. COMANDO un qualsiasi comando della shell. e vediamo ora un esempio significativo del file /etc/inittab

# Script to run when going single user (runlevel 1). su:1S:wait:/etc/rc.d/rc.K # quando passo al livello 1 (single user) viene eseguito lo # script /etc/rc.d/rc.K # What to do at the "Three Finger Salute". ca::ctrlaltdel:/sbin/shutdown -t5 -rfn now # se qualcuno preme ctrl-alt-del a qualunque livello siamo,
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-2.html (4 di 6) [02/07/2001 15.19.06]

Progetto Culturale: Basi

# esegui uno shutdown del sistema # Runlevel 0 halts the system. l0:0:wait:/etc/rc.d/rc.0 # se si passa al livello 0 (shutdown + halt system) allora esegui # lo script /etc/rc.d/rc.0 # Runlevel 6 reboots the system. l6:6:wait:/etc/rc.d/rc.6 # se si passa a livello 6 (shutdown + reboot) allora esegui # /etc/rc.d/rc.6 c1:1235:respawn:/sbin/agetty 38400 tty1 linux c2:1235:respawn:/sbin/agetty 38400 tty2 linux c3:5:respawn:/sbin/agetty 38400 tty3 linux c4:5:respawn:/sbin/agetty 38400 tty4 linux c5:5:respawn:/sbin/agetty 38400 tty5 linux c6:45:respawn:/sbin/agetty 38400 tty6 linux c8:45:respawn:/sbin/agetty 38400 tty8 linux c9:45:respawn:/sbin/agetty 38400 tty9 linux z1:45:respawn:/sbin/agetty 38400 tty10 linux z2:45:respawn:/sbin/agetty 38400 tty11 linux # inizializza i terminali utenti da 1 a 6 e da 8 a 11 e manda # il login su ciascuno di questi terminali, respawn fa si che # quando un terminale viene disconesso, automaticamente viene # mandato un altro login. # quando il livello di esecuzione non e' specificato, si assume # 0123456 ovvero tutti i livelli di esecuzione # quando il sistema viene inizializzato in modo multiutente, # in inittab esiste una linea del tipo # Script to run when going multi user. rc:123456:wait:/etc/rc.d/rc.M # per cui praticamente inittab ad ogni bootstrap richiama # lo script /etc/rc.M che esegue una serie di operazioni, # tipo richiamare il demone per la posta, fare il mount # del cd-rom (ultima slakware) e molte altre. Fra tutte richiama anche il file /etc/rc.d/rc.local che tipicamente contiene tutte le operazioni locali, diciamo una specie di autoexec del dos. Ad esempio un buon rc.local contiene:

#!/bin/sh # # /etc/rc.d/rc.local: Local system initialization script. # # Put any local setup commands in here: echo "Running gpm..." /usr/bin/gpm -t bare & echo "Sto caricando la tastiera italiana .... " /usr/bin/loadkeys /usr/lib/kbd/keytables/it.map che praticamente chiama il programma di controllo del mouse e carica il driver per la tastiera italiana
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-2.html (5 di 6) [02/07/2001 15.19.06]

Progetto Culturale: Basi

/usr/bin/loadkeys /usr/lib/kbd/keytables/it.map Previous Next Contents

Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-2.html (6 di 6) [02/07/2001 15.19.06]

Progetto Culturale

Cerca nel sito:

Progetto Culturale
Fabio Farnesi
Una guida al Sistema Operativo Linux Spesso e volentieri sento lamentele sulla difficolt e la macchinosit di Linux. Purtroppo in effetti, chi proviene dal mondo dos, si scontra con la complessit e la vastit degli strumenti messi a disposizione da questo sistema operativo. La difficile reperibilit di informazioni spesso provoca una disaffezione e un allontanamento dal mondo *nix. La pretesa di questo programma quella di fornire una serie di nozioni che possano servire all'utente a muoversi agevolmente all'interno del s.o. Questo vuole essere un testo introduttivo che fornisce gli strumenti adatti a muoversi in Linux, ma ci tengo a precisare che una conoscenza approfondita si acquista sia dalla lettura della documentazione tecnica, ma soprattutto attraverso la lettura di riviste, saggi, corsi e la partecipazione alle conferenze del tipo ComeOn Linux, e alla lettura delle numerose newsgroups del gruppo comp.os.Linux.*. Non mi resta che augurarvi una buona lettura e una felice Linuxizzazione. Ciao Fabio

1. Introduzione
q q q q q q q q q

1.1 Breve storia di Linux 1.2 Caratteristiche del sistema 1.3 Caratteristiche del Software 1.4 Il sistema operativo 1.5 Il kernel di Linux 1.6 I dispositivi 1.7 Il file system 1.8 La shell 1.9 Gli script

2. Basi
q q

2.1 I comandi di base 2.2 La procedura di bootstrap

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult.html (1 di 3) [02/07/2001 15.19.17]

Progetto Culturale

3. Primi passi
q q q q q q

3.1 Il login 3.2 Primi passi 3.3 La home dir 3.4 Il contenuto delle directory 3.5 Utilit delle home dir 3.6 Utilit di un sistema multiuser in un sistema non di rete

4. Editor e configurazione
q q q

4.1 L'editor vi 4.2 Carichiamo la tastiera italiana 4.3 I file profile e .profile

5. Lavorare con la shell


q q q q

5.1 Uso delle variabili 5.2 L'operatore accento grave, redirezione dell'I/O 5.3 Il comando alias 5.4 Il comando adduser

6. Dischi
q q q q q q q

6.1 mount ed umount 6.2 Il file /etc/fstab 6.3 Formattare un dischetto 6.4 Creare un file system 6.5 Il comando df 6.6 Il comando du 6.7 Gli mtools

7. File e permessi
q q q q q q q

7.1 I permessi dei file 7.2 I symlink 7.3 Il comando ln 7.4 Creare i gruppi 7.5 Cambiare gruppo e proprietario ad un file 7.6 Cambiare i permessi ad un file 7.7 I permessi delle directory

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult.html (2 di 3) [02/07/2001 15.19.17]

Progetto Culturale

8. I processi
q q q q q q q

8.1 Linux e il multitasking 8.2 I Job 8.3 Eseguire un processo in background 8.4 nohup 8.5 Sospendere un processo 8.6 I comandi fg e bg 8.7 Priorit dei processi

Previous Next Contents v 0.0a, 21 settembre 1997 Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult.html (3 di 3) [02/07/2001 15.19.17]

Progetto Culturale: Primi passi

Cerca nel sito:

3. Primi passi 3.1 Il login


Nei capitoli precedenti abbiamo visto quale sia la filosofia di linux, quali sono i comandi principali e cosa succede al bootstrap. Quindi adesso sappiamo che agetty chiamata dal processo init (che legge le informazioni dal file /etc/inittab), inizializzer tutti i terminali e li render pronti a lavorare. Esattamente dopo il bootstrap, il nostro sistema visualizzer qualcosa del genere: Welcome to Linux 1.3.56. darkstar login: Che cosa significa? Cosa vuole? In pratica sappiamo che linux un sistema multiutente e multimacchina, in questo momento il sistema ci chiede di identificarci, in modo che lui sappia se abbiamo accesso a lavorare e che tipo di accesso abbiamo. In un sistema Unix ci sono molti tipi di utenti, per semplificare un po' le cose, dividiamoli momentaneamente in superuser e utenti normali. Il superuser il gestore del sistema, colui che detta le regole e che si occupa dell'amministrazione del nostro OS, un utente normale invece un utente che ha accesso al sistema ma con alcune restrizione dettate proprio dal superuser, restrizioni che possono essere di vario tipo, ovvero un utente normale pu accedere solo a certe directory e a certe altre no, pu eseguire solo certi comandi e certi no, pu accedere in lettura a certe dir ma non in scrittura e viceversa, tutte queste regole sono dettate dal superuser. Appare ovvio che almeno inizialmente (prima di ogni altra configurazione) il sistema riconoscer come utente solo il superuser, poi sar quest'ultimo a creare i permessi e gli accessi per gli altri utenti e regolare la vita del proprio sito (preferisco chiamarlo cosi perch in realt qualunque utente linux ha potenzialmente sottomano la gestione di un sito o comunque di un server di rete), per cui alla domanda Welcome to Linux 1.3.56. darkstar login: risponderemo ``root'' (senza le virgolette) che il nome con cui tipicamente si indica il superuser.

3.2 Primi passi


A questo punto se tutto andato bene saremo entrati nel nostro bravo, nuovo e fiammante sistema linux. Ma subito lo sconforto, digitiamo il nostro primo comando per vedere la directory in cui siamo, e ci accorgiamo ad esempio che la tastiera italiana non funziona e che quindi per digitare

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-3.html (1 di 5) [02/07/2001 15.19.22]

Progetto Culturale: Primi passi

ls -l (che come abbiamo visto serve a vedere l'elenco in formato lungo delle directory) devo andare a cercare il tasto - nascosto dietro chiss quale tasto della tastiera italiana, una volta compiuta tale operazione rimarremo sconcertati dal risultato: ls -l total 2 lrwxrwxrwx lrwxrwxrwx

1 root 1 root

root root

8 Jan 14 Jan

4 22:01 INSTALL -> /var/adm/ 4 22:01 linux -> /usr/src/linux/

Che roba questa? Compaiono solo due dir INSTALL e linux, e le altre? Tutto il mio sistema concentrato in queste due dir ? E perch non vedo il path di dove mi trovo? Non vi scoraggiate, un passo alla volta e troveremo una facile spiegazione a tutto ci.

3.3 La home dir


Cominciamo subito col dire che ci troviamo nella home dir del superuser. Ricordate che abbiamo detto che linux adotta un file system gerarchico? Bene allora ciascun utente del sistema sar dotato di una propria directory proprietaria in cui fare tutto ci che gli riguarda. Questa directory proprietaria viene indicata con il termine home dir, dopo il login l'utente si trover all'interno della propria home dir pronto per lavorare. Attualmente quindi ci troveremo nella home dir del superuser che fisicamente sull'hardisk situata in /root. dato che il superuser pu fare di tutto, ci spostiamo nella directory gerarchicamente superiore, con il comando cd / facciamo un bel ls -l e la situazione che ci si presenta pi o meno questa: total 58 drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x drwxr-x--x drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xrwx

2 2 3 12 7 2 2 2 3 4 2 2 17 13

root root root root root root root root root root root root root root

bin root root root root root root root root root bin root root root

2048 1024 11264 2048 1024 1024 12288 1024 0 1024 2048 2048 1024 1024

Jan Jan Jan Jan Jan Jan Jan Sep Jan Jan Jan Jan Jan Jan

10 4 15 15 15 10 4 4 15 15 4 15 8 8

16:30 21:36 14:37 15:04 12:42 17:14 21:33 20:32 14:37 15:03 21:54 15:10 16:45 16:45

bin/ boot/ dev/ etc/ home/ lib/ lost+found/ mnt/ proc/ root/ sbin/ tmp/ usr/ var/

Bene, sar il caso di spiegare brevemente che cosa contengono queste directory.

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-3.html (2 di 5) [02/07/2001 15.19.22]

Progetto Culturale: Primi passi

3.4 Il contenuto delle directory


/bin Contiene i comandi essenziali per la gestione del sistema. L'accesso e' garantito sia al superuser che agli utenti normali, i comandi in essa contenuti sono tipicamente eseguibili da tutti. Non contiene sottodirectory. /boot Contiene alcuni file necessari al boot loader. Praticamente tutto il necessario per il bootstrap, eccetto i file di configurazione. Ovvero tutti i file che non devono essere editati a mano /dev Contiene i file speciali, a carattere o a blocco (vedi I capitolo) che indicano i dispositivi fisici del sistema. Contiene anche il comando MAKEDEV che serve a creare nuovi file per i dispositivi, ove ci fosse bisogno. /etc Contiene tutti i file di configurazione per il proprio sistema. Gran parte dei funzionamenti della macchina possono dipendere dai file contenuti in questa directory. /home Tipicamente contiene le home dir dei vari utenti del sistema. Esclusa ovviamente la home dir del superuser che invece contenuta nella directory /root. /lib Contiene le shared libraries ovvero le librerie del sistema che vengono condivise da molte applicazioni. /sbin Tipicamente contiene comandi per la gestione del sistema, utilizzabili solo dall'amministratore e da nessun altro. /mnt Tipicamente vuota, si usa per montare file system temporanei sul proprio hard disk. /proc Contiene informazioni sui processi in corso. In realt si tratta di una directory virtuale che non occupa nessuno o pochissimo spazio fisico sull'hd. Tutti i file contenuti in questa directory sono creati dal kernel o da chiamate al kernel, caldamente sconsigliabile smanettarci dentro, a meno che non si sa esattamente quello che si sta facendo. /root la home dir dell'amministratore di sistema /tmp una directory che contiene file temporanei creati dai processi che runnano nel sistema. /usr La directory /usr la directory che contiene la maggior parte delle informazioni e dei programmi relativi al sistema operativo. Contiene moltissime sottodirectory, tra cui quelle relative alle librerie dei singoli programmi, la directory che contiene i programmi veri e propri del sistema, la directory contenente i file d'aiuto etc etc. L'analisi della directory /usr richiederebbe molto tempo, pertanto si consiglia per maggiori informazioni, la lettura di fsstnd-1.2.txt dal primo cd della slackware di novembre. /var La directory /var contiene anch'essa un elevatissimo numero di informazioni. A differenza della /usr dove comparivano comandi di sistema e informazioni piu o meno fisse, nella /var compaiono per la maggior parti informazioni dinamiche, come i log di sistema o per esempio la base messaggi del point e cosi via, cosi come per la

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-3.html (3 di 5) [02/07/2001 15.19.22]

Progetto Culturale: Primi passi

/usr, si consiglia la lettura di fsstnd-1.2.txt.

3.5 Utilit delle home dir


L'utilit delle home dir varia e molteplice. Come gia detto linux un sistema multiuser, per cui una prima forma di protezione dei dati sicuramente quella di assegnare a ciascun utente una propria directory dove poter lavorare, directory che pu essere accessibile solo all'utente che la possiede e se l'utente lo desidera anche dal gruppo di lavoro con cui magari in quel momento sta sviluppando un certo progetto e a nessun altro eccetto, naturalmente, il superuser che ha il controllo e la responsabilit diretta di tutto il sistema. Non solo ma l'esistenza di una home dir propria di ciascun utente fa s che i progetti, i programmi o i dati personali di un user non vengano confusi con quelli di chiunque altro. Sull'hard disk possono esistere 10 file chiamati progetto.comeon, ma il fatto che ciascun file appartenga ad una home dir diversa, di per s ne diversifica e il contenuto e il proprietario. Inoltre la peculiarit del file system di linux che quella di essere gerarchico viene in questo modo ulteriormente rispettata. Alcuni potrebbero interpretare questa delle directory strutturate gerarchicamente come una costrizione, in realt non lo affatto, anzi un agevolazione. Non una costrizione perch in ogni caso il superuser pu stabilire ad esempio che 5 utenti condividano la stessa home dir e pu stabilire che questa home non sia situata nella directory /home/nomeutente ma in un qualunque altro posto, (per quanto questo possa sembrare strano alcune volte utile) ed un agevolazione perch per il programmatore pi facile sviluppare programmi in una situazione di file system gerarchico, infatti indubbio che pi facile scrivere un programma usando una struttura del tipo /----------| |____home/ +----jaco/ +mioprogramma/ +------/bin +------/lib +------/doc +------/etc +------/var +------/src che scrivere un programma in una situazione in cui tutto di tutti e non esiste una strutturazione dei dati.

3.6 Utilit di un sistema multiuser in un sistema non di rete


Molti a questo punto diranno: ``Io sono l'unico proprietario del mio sistema, sul mio computer ci lavoro solo io, dove sta l'utilita' di avere un sistema multiuser?'' una domanda tutto sommato che potrebbe sembrare ben posta, in realt la risposta semplice ed univoca: nella filosofia di Unix che prevede che ciascuna cosa sia specializzata a fare una ed una sola cosa con il massimo grado di specializzazione possibile. Anche in questo caso questa regola valida, anche se siamo solo noi ad utilizzare il nostro sistema, necessario creare utenti specializzati alla risoluzione di un certo problema. Esister l'utente dedicato alla lettura della posta, quello dedicato alla programmazione e quello dedicato ai collegamenti ad internet, quello dedicato alla gestione dei database, e quello dedicato all'utenza dei wordprocessor e cosi via; si possono, anzi intrinseco nella filosofia del sistema, dover creare utenti specializzati alla risoluzione di un problema.

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-3.html (4 di 5) [02/07/2001 15.19.22]

Progetto Culturale: Primi passi

Nel prossimo capitolo vedremo come fare. Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-3.html (5 di 5) [02/07/2001 15.19.22]

Progetto Culturale: Editor e configurazione

Cerca nel sito:

4. Editor e configurazione
Prima di andare avanti e cominciare a portare le nostre modifiche, per la personalizzazione di linux, abbiamo bisogno di ancora un altro strumento di base, ovvero un editor di testo che ci consenta di modificare agevolmente i nostri file di configurazione. L'editor standard che si usa in Linux si chiama vi. La domanda che spessissimo viene posta dai neoutenti : ``Possibile che non esista qualcosa di meno complicato di vi per scrivere?'' La risposta : ``Si, esistono altri buoni editor, ad esempio joe o jed che sono anche pi semplici di vi.'' Tuttavia vi, grazie alla sua flessibilit e potenza, rimane lo standard per quanto riguarda i sistemi *nix. Quando avrete fatto un po' di abitudine ai suoi comandi, vi accorgerete di non poterne fare assolutamente a meno, conosco molta gente che lo ha ricompilato anche in una versione per dos al fine di poterlo usare anche per quel sistema operativo.

4.1 L'editor vi
vi un editor a tutto schermo, che risponde alla ben precisa esigenza di poter lavorare su un terminale anche in remoto, e come tale non dispone di nessuna delle funzionalit grafiche o di formattazione spesso comuni a molti WP, in realt pur rispondendo a molte delle caratteristiche di un WP, per possibilt di ricerca e manipolazione del testo, esso rimane e sempre rimarr un Editor se pur molto potente, editor che fra le altre cose come gi detto deve rispondere anche alla caratteristica di poter essere usato in remoto. L'editor vi pu essere richiamato a linea di comando in molti diversi modi: vi parte semplicemente l'editor con un buffer vuoto vi miofile parte l'editor, il buffer viene riempito con il contenuto di nomefile. Se nomefile non esiste allora viene creato. vi miofile tuofile tratter sequenzialmente prima miofile e poi tuofile. A riga di comando possono essere dati anche altri comandi come ad esempio la riga in cui l'editor si deve piazzare inizialmente o la parola su cui l'editor si deve piazzare e molti altri. Come al solito si consiglia ``man&nbspvi''. Vi accorgerete subito che appena entrati nell'editor non vi sar concesso di fare alcuna operazione. vi infatti funziona con diverse modalita: q modalit comando q modalit testo q modalit due punti La modalit comando vi consente di compiere alcune operazioni, quali ad esempio rimuovere una riga o un carattere. Questa modalit pu essere usata direttamente.

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-4.html (1 di 6) [02/07/2001 15.19.26]

Progetto Culturale: Editor e configurazione

Premendo il tasto [i] entrerete in modalit testo, a questo punto sarete in grado di scrivere, ma non sarete ad esempio in grado di cancellare un carattere, cancellare una frase, o cercare una parola. Si esce dalla modalit testo premendo il tasto [Esc]. Premendo a questo punto il tasto lsqb;:] entrerete nella modalit due punti, che quella che vi consente di compiere la maggior parte delle operazioni, quali la ricerca del testo (anche con espressioni regolari), la sostituzione e molto altro. Ecco un elenco dei comandi di base di vi: i entra in modalit inserimento prima della posizione corrente del cursore a entra in modalit inserimento dopo la posizione corrente del cursore I entra in modalit inserimento all'inizio della linea A entra in modalit inserimento alla fine della linea O sposta il testo seguente di una riga verso il basso e si posiziona nella riga vuota o come O solo che la riga vuota viene creata dopo la riga corrente dw cancella 1 parola ndw dove n un numero, cancella n parole dd cancella una riga ndd dove n un numero, cancella n righe (Il testo cancellato dal comando dd, finisce in un buffer, e pu essere re-incollato nel documento tramite il comando p) x cancella un carattere nx dove n un numero, cancella n caratteri u annulla l'ultimo comando /{pattern} ricerca un pattern nel testo corrente in avanti ?{pattern} come / ma la ricerca avviene all'indietro n

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-4.html (2 di 6) [02/07/2001 15.19.26]

Progetto Culturale: Editor e configurazione

trova il prossimo pattern indicato nella stringa di ricerca ZZ salva ed esce cw sostituisce una parola cc sostituisce una linea Vediamo ora la modalit due punti: :w nomefile salva il file, nomefile opzionale, se non viene inserito il file viene salvato con il nome corrente :q esce :wq scrive ed esce :r nomefile inserisce un file all'interno del documento corrente :s/pattern1/pattern2 sostituisce tutte le occorrenze della stringa pattern1 con la stringa pattern2 Con questi comandi iniziali, dovreste essere gi in grado di compiere moltissime operazioni. Tuttavia vi diventato lo standard nel mondo *nix non solo grazie a queste semplici cose, ma anche e soprattutto per l'uso avanzato, che comporta ad esempio la conoscenza delle espressioni regolari. A questo punto del programma non ci conviene perderci nella spiegazione dell'uso delle espressioni regolari, e tuttavia ci riserviamo di dedicare all'uso avanzato di vi un intero capitolo in seguito.

4.2 Carichiamo la tastiera italiana


Abbiamo gi visto che la prima cosa che ci apparir dopo il bootstrap del sistema operativo : Welcome to Linux 1.3.56. darkstar login: e sappiamo anche che dal momento che attualmente l'unico user disponibile il supervisore del sistema, root. Pertanto a tale domanda sappiamo di dover rispondere con ``root''. Una volta compiuta questa operazione, ci troveremo all'interno dell'OS e avremo nelle nostre mani il potere del superuser, ovvero l'utente destinato alla manutenzione del sistema. Beh, appare logico che una volta entrati con questo potere, vorremo almeno compiere alcune operazioni di base, ad esempio caricare la tastiera italiana. Dovreste essere gi in grado di farlo da soli, senza l'ausilio del programma culturale, sappiamo infatti che il file che contiene i comandi locali all'OS e che tipicamente viene consultato al bootstrap del sistema /etc/rc.d/rc.local, quindi tipicamente metteremo l (a meno dell'esistenza di specifici script) i comandi che vogliamo che il sistema esegua al bootstrap. Il comando che richiama i codici di descrizione della tastiera loadkeys.
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-4.html (3 di 6) [02/07/2001 15.19.26]

Progetto Culturale: Editor e configurazione

Il formato di loadkeys e': loadkeys [options] path/filename dove options sono una serie di opzioni che possono essere date al comando, per l'uso delle quali vi consiglio: ``man&nbsploadkeys''. path/filename, invece, obbligatorio e specifica il percorso e il nome del file che contiene la descrizione della tastiera. Tipicamente i file che contengono la mappa dei caratteri si trovano in /usr/lib/kbd/keytables/ pertanto ad esempio il comando loadkeys /usr/lib/kbd/keytables/it.map richiama i codici della tastiera italiana. Se come ovvio vogliamo che tali codici siano richiamati ogni volta al bootstrap, allora non ci resta che inserire questo comando in /etc/rc.d/rc.local vi /etc/rc.d/rc.local i echo "Sto caricando la tastiera italiana .... " /usr/bin/loadkeys /usr/lib/kbd/keytables/it.map [Esc] :wq

4.3 I file profile e .profile


Altra operazione che probabilmente vorremo compiere la prima volta che ci logghiamo al nostro sistema quella di cambiare il path (percorso di ricerca) e il prompt del nostro OS. Tipicamente le variabili di sistema comuni a tutto l'ambiente vengono definite nel file /etc/profile, quindi in questo file che dovremo andare a guardare se vogliamo modificare le variabili d'ambiente quali ad esempio PATH e PROMPT, diamo dunque un'occhiata cat /etc/profile PS1=$LOGNAME'\w''/$>' export MINICOM="-c on" export MANPATH=/usr/local/man:/usr/man/preformat:/usr/man:/usr/X11/man:/usr/openwin/man export HOSTNAME="`cat /etc/HOSTNAME`" export LESSOPEN="|lesspipe.sh %s" export COLUMNS=80 alias shut='shutdown -t15 -rfn now' export TERM=linux PATH="$PATH:/usr/X11/bin:/usr/andrew/bin:$OPENWINHOME/bin:/usr/games:." if [ "$TERM" = "" -o "$TERM" = "unknown" ]; then TERM=linux fi PS2='> ' ignoreeof=10 export PATH DISPLAY LESS TERM PS1 PS2 ignoreeof umask 022

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-4.html (4 di 6) [02/07/2001 15.19.26]

Progetto Culturale: Editor e configurazione

Come vedete oltre alla definizione del PATH PATH="$PATH:/usr/X11/bin:/usr/andrew/bin:$OPENWINHOME/bin:/usr/games:." e del prompt PS1=$LOGNAME'\w''/$>' ci sono altre variabili interessanti che vengono definite al livello di sistema. Ognuna di queste variabili ha un significato particolare, per approfondimenti vedere ``man&nbspbash'', si tratta di una lettura interessante anche per tantissime altre cose. Per quanto riguarda le variabili di sistema, vi accorgerete subito che ne esistono moltissime e la ridefinizione di ognuna comporta un notevole grado di personalizzazione dell'OS. Ma torniamo alla ridefinizione del path, la variabile che si occupa di questo PATH, la cui sintassi non mi sembra cosi complessa. PS1 gi un po' pi interessante, si tratta della variabile che individua il prompt principale del sistema, PS1=$LOGNAME'\w''/$>' io l'ho definito come segue:

$LOGNAME indica l'utente che attualmente loggato al sistema \w /$> indica la directory corrente di lavoro, semplicemente un separatore che voglio sia messo per dividere il prompt dalla linea di lavoro.

Altri interessanti simboli sono ad esempio:

\t \d \n \s \w \u \h \nnn \\ \[ \]

L'orario corrente, nel formato HH:MM:SS La data corrente, nel formato ``Giorno, Mese, datadelgiorno'' (es., ``Tue May 26'') Carattere di fine linea Il nome della shell corrente La directory di lavoro corrente Il nome dell'utente corrente L'hostname il carattere corrispondente al numero ottale nnn backslash Inizia una sequenza di caratteri non stampabili che ad esempio possono servire a definire il colore del prompt Termina la sequenza di caratteri non stampabili.

Possiamo ridefinire il prompt a nostro piacimento. Al termine modificheremo il file /etc/profile, con vi aggiungendo la parola export davanti alla ridefinizione della variabile, ad esempio export PS1='\u''\w''/$>'

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-4.html (5 di 6) [02/07/2001 15.19.26]

Progetto Culturale: Editor e configurazione

la parola export far s che la variabile PS1 venga esportata come variabile d'ambiente a tutti gli utenti che si loggano al sistema. In alternativa a /etc/profile si pu usare il file ~/.profile. La ``~'' indica la home dir di un utente, .profile il nome di un file, il fatto che sia preceduto dal puntino indica che il file nascosto. I file .profile risiedono nella home dir dell'utente e vengono consultati solo quando quell'utente si logga nel sistema. Ad esempio il mio : clear echo ' ' echo 'Benvenuti nel sistema Linux di Fabio Farnesi' echo ' ' date echo ' ' ls echo ' ' che come vedete non fa niente di eccezionale, tranne cancellare lo schermo, darmi il benvenuto e mostrarmi data corrente ed elenco delle directory ogni volta che mi loggo come root. Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-4.html (6 di 6) [02/07/2001 15.19.26]

Progetto Culturale: Lavorare con la shell

CLICK HERE !

linswap: The Linux Banner Exchange Program. Cerca nel sito:

5. Lavorare con la shell 5.1 Uso delle variabili


Abbiamo gi visto come si possono ridefinire le variabili d'ambiente del sistema operativo. Ma queste non sono le uniche variabili messe a disposizione dell'OS. In un qualsiasi momento possibile definire, per scopi propri, una propria variabile. Le variabili sono nomi composti di caratteri alfanumerici, generalmente esse nella loro interezza vengono indicate semplicemente dal loro nome, mentre il loro contenuto si indica con il nome preceduto dal carattere ``$''. Ad esempio QUESTAVARIABILE="proviamo se funziona" Per vedere il contenuto della variabile QUESTAVARIABILE, possiamo utilizzare ad esempio il comando echo nella forma echo $QUESTAVARIABILE che ci d come output proviamo se funziona Se avessimo scritto semplicemente echo QUESTAVARIABILE avremmo avuto come output semplicemente QUESTAVARIABILE perch non avremmo referenziato il contenuto della variabile in questione, ma semplicemente il suo nome. Attenzione all'uso delle virgolette. Le virgolette infatti hanno per cos dire una funzione di protezione degli argomenti. Infatti la shell in mancanza delle virgolette interpreta una linea come un comando seguito da una serie di argomenti, ad esempio se noi utilizziamo la seguente forma QUESTAVARIABILE=proviamo se funziona avremmo un output del tipo:

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-5.html (1 di 6) [02/07/2001 15.19.28]

Progetto Culturale: Lavorare con la shell

bash: se: command not found proprio perch il se verrebbe interpretato non come parte della stringa che si vuole assegnare alla variabile, ma come parte di un comando, che ovviamente non esiste. L'uso delle variabili pu risultare molto comodo, specialmente quando incominceremo ad occuparci della programmazione degli script. Per ora ne mostreremo solo alcune interessanti applicazioni. Ad esempio, una variabile pu contenere non solo nomi e stringhe, ma un file intero o il contenuto di una directory, vediamo come: FACCIAMOUNAPROVA=`cat /etc/HOSTNAME` questo significa che voglio assegnare alla variabile in questione l'output del comando cat /etc/HOSTNAME, il fatto che a FACCIAMOUNAPROVA venga assegnato il risultato di un comando anzich la stringa ``cat /etc/HOSTNAME'' dipende dall'uso dell'operatore accento grave, che appunto assolve a questa funzione. L'operatore accento grave si ottiene con la combinazione di tasti ALT 96 (96 deve essere digitato dal tastierino alfanumerico). Facendo echo $FACCIAMOUNAPROVA otterrei appunto bilbo.comeon.org che il contenuto del file /etc/HOSTNAME.

5.2 L'operatore accento grave, redirezione dell'I/O


L'operatore accento grave riveste una notevole importanza e pu essere usato in molto casi e/o applicazioni. Come gi visto serve ad usare il risultato di un comando come input per una variabile d'ambiente oppure per un altro comando. Vediamone qualche esempio: MIAVAR="Il file prg.culturale.1 contiene "`cat \ prg.culturale.1|wc -w`" parole" echo $MIAVAR Il file prg.culturale.1 contiene 2237 parole vediamo quello che successo q la variabile in questione MIAVAR q gli si assegna una stringa ``Il file prg.culturale.1 contiene'' q a questo punto della stringa si vuole far comparire il risultato di un comando, allora apro con accento grave ` q visualizza su stdout il contenuto del file prg.culturale.1 con il comando cat q la riga troppo lunga, chiedo a Linux che il comando venga continuato su un'altra linea, si fa con l'operatore ``\'' q l'argomento di cat (ovvero il file da visualizzare) prg.culturale.1 q l'output di cat viene usato come input dal filtro wc -w che conta il numero delle parole presenti nel suo input, la redirezione si fa con | (pipe) q l'output totale del comando racchiuso fra accenti gravi dunque l'output di cat a cui stato applicato il filtro wc. q aggiungo alla mia stringa la parola ``parole'', che mi serve per dare un senso compiuto alla frase Pu sembrare difficile, o complicato, anche perch l'uso delle pipe e di alcuni filtri non stato ancora approfondito, seppure vi sia stato qualche accenno nel primo capitolo.
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-5.html (2 di 6) [02/07/2001 15.19.28]

Progetto Culturale: Lavorare con la shell

In realt non lo affatto, una volta che avrete preso la mano con questo genere di filosofia, vi verr tutto molto spontaneo e scontato. Per quanto riguarda l'uso dei filtri e della pipe, questo esempio stato messo apposta, perch pur se in seguito approfondiremo maggiormente questi argomenti, riteniamo che sia opportuno fin da ora cominciare a fare l'abitudine a questo tipo di concatenazione fra i comandi. Vediamo qualche altro esempio. L'esempio seguente calcola e stampa la percentuale di quote in un messaggio. La forma e la quantit delle istruzioni stata volutamente resa pi complessa di quanto poteva essere, al fine di mostrare come possono interagire fra loro comandi redirezione dell'input e dell'output grep -i . msg > result;TOTL=`cat result|wc -l`;TOTQ=`grep -i ">" \ result|wc -l`;echo "( $TOTQ / $TOTL ) "*" 100"|bc -l|cut -f1 -d'.'\ > quotes; QUOTEPER=`cat quotes` Il messaggio originale era il seguente: Ciao Pako. Il 08 Jan 96, Pako scrive a Eraldo Corti: :>> C' qualcuno??? :>> Esiste quest'area??? P> heil! Benvenuto... grazie... P> ti invitiamo a far chiasso finch non arrivano i cd e partir il P> prog. culturale... beninteso che chiasso=discussioni di qualunque P> tipo su Linux e ComeOn Linux! certo... Provveder... Ciao. @:) Eraldo. grep -i .&nbspmsg provvede ad eliminare dal file le linee bianche l'operatore >&nbspresult invia al file result l'output di grep, privato dalle linee bianche il ; separa due comandi differenti alla variabile TOTL=`cat&nbspresult|wc -l` viene assegnato il numero totale delle linee componenti il file, ottenuto filtrando con wc il file result il ; separa due comandi differenti alla variabile TOTQ=`grep -i ">"&nbspresult|wc -l` viene assegnato il numero totale delle linee quotate, ove per quotate si intendono le linee che contengono il simbolo gt;, filtrate dal file result attraverso l'operatore grep e ulteriormente filtrate dal filtro wc. il ; separa due comandi differenti echo "( $TOTQ / $TOTL ) "*"&nbsp100"|bc -l|cut -f1 -d'.' in output va l'operazione da compiere, ovvero il totale delle linee quotate diviso per il totale delle linee tutto moltiplicato 100, tale output va come input alla calcolatrice bc che ne elabora il risultato, il risultato infine viene tagliato dalla virgola, qualora fosse un numero decimale. gt;&nbspquotes, il risultato ottenuto viene stampato nel file quotes il contenuto di quotes viene attribuito alla variabile QUOTEPER

q q q q

q q

q q

q q

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-5.html (3 di 6) [02/07/2001 15.19.28]

Progetto Culturale: Lavorare con la shell

A questo punto la variabile QUOTEPER pu essere utilizzata ad esempio in output ad un programma che fa le statistiche sul quoting dei messaggi: echo "Il messaggio msg contiene il $QUOTEPER % di linee quotate" Come si vede, gli esempi in questa sezione sono volutamente accentuati, ma rappresentano un buon punto di partenza per lo studio dei vari operatori di redirezione e di pipe, nonch danno un accenno sull'uso di alcuni filtri, quali ad esempio wc, cut e grep. Un buon esercizio sarebbe quello di rendere in forma pi semplice questi ultimi due esempi.

5.3 Il comando alias


In /etc/profile abbiamo visto anche la presenza di un comando alias. alias un utilissimo strumento che consente in maniera semplice, ma molto efficace, di personalizzare ulteriormente il sistema operativo. In pratica tramite il comando alias possibile ridefinire il nome e la funzione di comandi originali, oppure di crearne di nuovi pi sofisticati. Es: alias&nbspl='ls -l' aggiungendo questa riga in /etc/profile avrete creato il nuovo comando l che ha la funzione di visualizzare una lista lunga delle directory. alias shut='shutdown -t15 -hfn now' questo fa s che abbiate creato il nuovo comando shut, che esegue uno shutdown della macchina. alias rm='rm -i' in questo modo avrete ridefinito il comando rm, facendo in modo che vi chieda ogni volta conferma per la cancellazione di un file alias untgz='tar -zxvf' Crea il comando untgz, che scompatta i file in formato tgz. Ovvero untgz&nbspnomefile.tgz. Si potrebbe continuare con moltissimi altri esempi, ma credo che ormai abbiate capito l'utilit del comando.

5.4 Il comando adduser


Bene arrivato il momento di aggiungere un nuovo utente al mio sistema. La cosa pu essere fatta sia manualmente che sfruttando un comando del sistema operativo. Il comando in questione appunto: adduser. Supponiamo ad esempio che il mio primo utente sia un utente specializzato a leggere e/o scrivere la posta. Naturalmente dovr avere accesso a tutti i comandi che servono per realizzare il suo scopo, ma non dovr poter accedere ai dati di un altro utente del sistema (ad esempio un user loggato al mio sistema, che non avrebbe piacere che un altro utente anche lui specializzato a leggere la posta, che non avrebbe piacere che qualche altro leggesse la sua posta personale). Inoltre deve poter accedere a 2 o 3 directory condivise con altri utenti, dove vengono mantenute informazioni generali che potrebbero essere utili per rispondere ai messaggi. La procedura la seguente:

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-5.html (4 di 6) [02/07/2001 15.19.28]

Progetto Culturale: Lavorare con la shell

adduser Adding a new user. The username should not exceed 8 characters in length, or you may run into problems later. Enter login name for new account (^C to quit): wiz Editing information for new user [wiz] Full Name: Giuseppe De Marco GID [100]: 14 Group 'uucp', GID 14 First unused uid is 507 UID [507]: Home Directory [/home/wiz]: Shell [/bin/bash]: Password [wiz]: "azteca" (tipicamente la password ha un limite di 8 caratteri, password pi lunghe vengono di solito troncate)

Adding the files from the /etc/skel directory: ./.kermrc -> /home/wiz/./.kermrc ./.less -> /home/wiz/./.less ./.lessrc -> /home/wiz/./.lessrc ./.term -> /home/wiz/./.term ./.term/termrc -> /home/wiz/./.term/termrc Vediamo ora di spiegare quanto abbiamo fatto. In realt il comando adduser un interfaccia, che crea la seguente riga nel file /etc/passwd: wiz:DhhywZZ0oHu56:507:14:Giuseppe De Marco:/home/wiz:/bin/bash inoltre crea la home dell'utente e delle directory e dei file standard (definiti dal superuser) copiandoli dalla dir /etc/skel. Il file /etc/passwd contiene l'elenco degli utenti riconosciuti dal sistema. Nessun utente potr loggarsi al sistema se non sar elencato in questo file. Ciascuna voce all'interno del file /etc/passwd, sar cos composta: LOGINNAME:PWD:USERID:GROUPID:UNASTRINGA:HOMEDIR:SHELL LOGINNAME indica il nome che l'utente user per loggarsi al sistema. Noi abbiamo inserito ad esempio ``wiz'' PWD contiene una password per l'utente in questione. Tipicamente la password viene inserita in una forma codificata (come nell'esempio di cui sopra). Il campo password puo' anche essere lasciato in bianco. (se vi fidate :-)) Potete mettere anche * come password, questo significa che l'utente in questione non sar accessibile a nessuno se non tramite il comando su. Il file /etc/passwd tipicamente accessibile in lettura a tutti gli utenti, quindi se pur codificata, l'esistenza della password potrebbe rappresentare un problema. I pi pignoli per risolvere questo usano usare un metodo detto shadow, ovvero nel

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-5.html (5 di 6) [02/07/2001 15.19.28]

Progetto Culturale: Lavorare con la shell

campo passwd si mette una x, e le password vengono conservate in un file /etc/shadow, non accessibile a tutti (in realt il problema delle shadow password molto pi complesso, ed ha affollato i vari newsgroup su internet per un bel pezzo, perci se volete saperne di pi consiglio di leggere comp.os.linux.*). USERID un numero fra 0 e 65535 che identifica l'utente. Nel file /etc/passwd tale numero non deve essere ripetuto per identificare pi utenti. GROUPID contiene il numero del gruppo di cui l'utente fa parte (in questo modo si definiscono i livelli di accesso, ma di questo parleremo in seguito). UNASTRINGA un commento, tipicamente il nome per esteso dell'utente o la funzione in cui specializzato. HOMEDIR contiene il percorso completo della dir che verr usata come home dall'utente in questione. SHELL un qualsiasi programma eseguibile, che verr eseguito subito dopo il login. Tipicamente l'interprete dei comandi (bash, ksh o qualsiasi altra). Quando l'utente wiz tenter di accedere al sistema verr fatto un controllo sul file /etc/passwd, se il suo nome e la sua password coincidono con quelli utilizzati al login, l'utente avr accesso al sistema altrimenti ne rimarr fuori. Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-5.html (6 di 6) [02/07/2001 15.19.28]

Progetto Culturale: Dischi

Cerca nel sito:

6. Dischi 6.1 mount ed umount


Come gi ampiamente scritto e ribadito, il filesystem di Linux mantiene una struttura gerarchica, questo significa che anche le periferiche non tipicamente legate all'HD vengono viste come parte del file system. Cercher di spiegarmi meglio: tipicamente il dos separa le unit fisiche che compongono il file system in unita logiche a cui si pu accedere mediante identificatori. Ad esempio tipicamente il dischetto da 3 pollici e mezzo viene indicato con A: mentre la prima partizione dell'HD con C:. Il sistema operativo Linux si comporta in modo leggermente, diverso, tutte le periferiche vengono gestite in modo piatto, ovvero tipicamente quello che in dos viene indicato come drive A:, sotto Linux sar una sottodirectory della radice, e sar possibile accedervi mediante il comando tipico cd&nbspnomedir, sar inoltre possibile effettuare tutte le operazioni che tipicamente si compiono all'interno di una directory. Questo avviene per una serie di motivi: 1. per continuare a difendere la struttura gerarchica del filesystem Linux, in modo che il processo di accesso ad un dispositivo sia unico per qualunque tipo di periferica, sia essa una unit a nastri, sia esso un floppy disk, sia essa una unit di backup e cos via; 2. Linux riconosce e riesce a leggere pi tipi di filesystem, posso utilizzare un dischetto in formato dos, os2, ext2, minix e tanti altri, il fatto che comunque questa periferica abbia un accesso comune in stile directory, mi nasconde questa caratteristica, consentendomi di trattare allo stesso modo sia un filesystem formattato dos che uno formattato ext2, utilizzando gli stessi comandi per qualunque tipo di disco, e lasciando al sistema operativo il compito di scrivere o leggere da una periferiche in modo diverso a seconda di che tipo di formattazione quella periferica abbia ricevuto. Naturalmente Linux ci mette a disposizione dei comandi per poter montare sotto una directory una periferica come ad esempio un drive. Il comando in questione mount. mount ha una sintassi del tipo: mount [options] nomeperiferica mountpoint -t fstype dove options rappresenta una delle innumerevoli opzioni applicabili alla periferica in questione (sola lettura, sola scrittura e tante altre, consiglio ``man&nbsp8&nbspmount'' per saperne di pi). nomeperiferica rappresenta la periferica che si desidera montare, ad esempio nel caso del floppy A: da 1.4&nbspMb, avremo /dev/fd0H1440 mountpoint la directory dove la periferica in questione deve essere mountata -t
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-6.html (1 di 6) [02/07/2001 15.19.34]

Progetto Culturale: Dischi

uno switch che indica che fra poco scriveremo il tipo di formattazione con cui quella periferica stata inizializzata fstype il tipo di formattazione presente sulla periferica, tipicamente: ext2, dos, minix, hpfs, fat, vfat, la quantit di filesystem riconosciuti da Linux dipende da come avrete ricompilato il kernel. Facciamo qualche esempio: mount /dev/fd0H1440 /mnt -t msdos monta il drive A: nella directory /mnt supponendo che il dischetto nel drive A: sia stato formattato msdos mount /dev/sbpcd /cdrom -t iso9660 monta un cdrom soundblaster nella directory /cdrom supponendo, come ovvio, che il formato del cdrom sia iso9660 mount /dev/hda2 /dosc -t vfat -o -ro monta la partizione D: del primo disco rigido nella directory /dosc supponendo che tale disco sia stato formattato con W95, inoltre stabilisce che tale disco sia accessibile in sola lettura. mount none /proc -t proc

monta una periferica fittizia nella directory /proc, assegnandogli come filesyste, proc che un filesystem finto che mantiene sotto forma di file un albero dei processi in corso mount bilbo.comeon.org:/pub /mnt -t nfs monta nella directory /mnt la directory /pub di un sito remoto a cui siamo collegati (es: tramite internet) il cui nome bilbo.comeon.org. Naturalmente cos come esiste il comando mount, deve anche esistere un comando in grado di smontare i vari filesystem una volta che ne abbiamo terminato l'uso, ad esempio un errore gravissimo non smontare una dir che ad esempio contiene un floppy e cambiare il floppy mentre la dir ancora montata. Il comando per smontare una dir : umount&nbspmountpoint. Anche in questo caso per saperne qualcosa in pi sulle opzioni, ``man&nbsp8&nbspmountpoint''.

6.2 Il file /etc/fstab


Poich in molte occasioni risulta noioso dovere scrivere ogni volta una sequenza di mount per una periferica e anche perch alcune periferiche hanno bisogno di essere montate automaticamente al boot, esiste un meccanismo che ci consente di abbreviare di molto il comando mount e di montare in automatico al boot le periferiche che ci occorrono. Tale meccanismo fornito dal file /etc/fstab. Ciascuna linea di questo file del tipo: fs_spec fs_spec fs_file fs_vfstype fs_mntopts fs_freq fs_file fs_vfstype fs_mntopts fs_freq fs_passno

descrive il dispositivo a cui si fa riferimento descrive il mount point dove si desidera mountare tale dispositivo descrive il filesystem contenuto in questo dispositivo descrive le opzioni associate al mount del dispositivo un numero che decide se il filesystem ha bisogno di eseguire un dump prima di essere montato

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-6.html (2 di 6) [02/07/2001 15.19.34]

Progetto Culturale: Dischi

fs_passno

un parametro che viene passato a fsck per sapere in quale ordine i filesystem devono essere controllati dopo ogni reboot.

ad esempio il mio /etc/fstab il seguente: /dev/hdb3 /dev/hdb2 /dev/hdb1 none /dev/sbpcd swap / /dosd /proc /cdrom swap ext2 vfat proc iso9660 defaults defaults defaults defaults noauto,ro 1 1 1 1 1 1 1 1 1 1

In pratica la prima riga monta la partizione di swap, la seconda riga monta nella directory / l'HD D: che essendo quello che contiene Linux stato formattato con ext2, la terza riga monta nella directory /dosd la partizione dos dell'HD D: che stato formattato con W95 e dunque il tipo vfat, la quarta riga mounta nella directory /proc una periferica fittizia il cui tipo consente di mantenere un albero dei processi in corso nella dir /proc sotto la forma di file, la quinta riga mounta il cdrom /dev/sbpcd nella directory /cdrom, il tipo ovviamente del cdrom iso9660, il parametro noauto fa s che il cdrom non venga montato direttamente al boot ma aspetti un certo comando mount affinch il mount avvenga, ro indica che il cdrom ovviamente viene montato in sola lettura. La presenza del parametro noauto nella riga relativa al cdrom, fa s che esso non venga automaticamente mountato al boot, per fornisce una scorciatoia per il comando mount, ovvero dato che i parametri del cd sono noti, per montarlo baster il comando mount /cdrom senza nessun parametro come avveniva in precedenza.

6.3 Formattare un dischetto


Naturalmente come in tutti gli altri sistemi operativi, anche Linux mette a disposizione dei comandi per la formattazione di un dischetto. In particolare, il comando che risponde a questa funzione e: fdformat [-n] device dove device il dispositivo da formattare e -n un'opzione che indica se si desidera o meno una verifica della formattazione. Ad esempio fdformat /dev/fd0H1440 fdformat /dev/fd0H720 fdformat /dev/fd1h1200 formatta il drive A: a 1.4 Mb formatta il drive A: a 720 kb formatta il drive B: a 1.2 Mb

Poich come gia detto Linux capace di leggere e scrivere pi tipi di file system, non sufficente semplicemente formattare un dischetto per poterlo usare, ma necessario stabilire di che tipo sara' il filesystem presente su quel dischetto.

6.4 Creare un file system


Il filesystem su un dischetto pu essere creato mediante il comando: mkfs [-V] [-t fstype] filesys -V

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-6.html (3 di 6) [02/07/2001 15.19.34]

Progetto Culturale: Dischi

produce un output prolisso (ovvero verranno visualizzate una quantit di informazioni -t fstype indica il tipo di filesystem che si desidera creare su un dischetto filesys indica la periferica su cui si desidera venga costruito un filesystem Ad esempio: mkfs /dev/fd0H1440 -t ext2 produce sul drive A precedentemente formattato a 1.4 mb un filesystem di tipo ext2.

6.5 Il comando df
Il comando linux per vedere la percentuale di disco usata e libera : df [options] La quantit di opzioni messa a disposizione da df veramente illimitata quindi vi consiglio vivamente ``man&nbspdf'' Tipicamente l'output di df : /dev/hdb2 /dev/hdb1 /dev/sbpcd 234239 257748 685388 156910 13620 685388 65233 244128 0 71% 5% 100% / /dosd /cdrom

Seguito ad esempio dallo switch -T ne risulta qualcosa del genere: Filesystem /dev/hdb2 /dev/hdb1 /dev/sbpcd Type 1024-blocks Used Available Capacity Mounted on ext2 234239 156910 65233 71% / vfat 257748 13620 244128 5% /dosd iso9660 685388 685388 0 100% /cdrom

6.6 Il comando du
Altro comando assai utile nell'analisi delle quantit utilizzate dell'HD du, disk usage. du mostra le porzioni di HD utilizzate dai singoli file, directory, o gruppi di file e directory, anche du, come df risponde ad una quantit incredibile di opzioni, quindi anche per du vi consiglio ``man&nbspdu''. Ad esempio: du -k 4 2435 456 100 128 3020 3046 ./.term ./doc/misc ./doc/giuda.bbs ./doc/prg.culturale/RCS ./doc/prg.culturale ./doc .

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-6.html (4 di 6) [02/07/2001 15.19.34]

Progetto Culturale: Dischi

mostra lo spazio delle singole dir in K-byte du -b 3754 2481194 453808 93626 120985 3057011 3073141 ./.term ./doc/misc ./doc/giuda.bbs ./doc/prg.culturale/RCS ./doc/prg.culturale ./doc .

mostra lo spazio occupato in byte anziche in K-byte du -c -k -a 22 166 182 2 2 1 12 5 7 3 11 3 3 6 2 2 3 19 2 2 0 0 456 456 ./123gate.txt ./ALLFILES.LST ./ALLFILES.TXT ./04060000.rsp ./amiganet.el ./citynet.el ./euronet.019 ./euronet.el ./fidonet.el ./peacelnk.el ./statuto.zip ./stpoint.doc ./stuser.doc ./uunecode.txt ./ALLEG_#4.TXT ./ALLEG_#3.TXT ./ALLEG_#6.TXT ./STATUTO.DOC ./ALLEG_#2.TXT ./ALLEG_#5.TXT ./result ./quotes . total

mostra lo spazio occupato dai singoli file all'interno di una dir e il totale utilizzato in KB.

6.7 Gli mtools


Data l'elevata quantit di dischetti formattati con msdos, in molti sistemi Linux, vengono forniti una serie di comandi che consentono di leggere dischi dos senza dovere passare attraverso il mount e l'umount del filesystem. Tali comandi vanno sotto il nome di mtools. mattrib mcd mcopy - cambia gli attributi ad un file msdos - cambia una directory msdos - copia file a/da dos a Linux

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-6.html (5 di 6) [02/07/2001 15.19.34]

Progetto Culturale: Dischi

mdel mdir mformat mlabel mmd mrd mread mren mtype mwrite ad esempio:

cancella un file msdos visualizza una directory msdos formatta un dischetto in stile msdos aggiunge un etichetta ad un dischetto msdos crea una sottodirectory msdos rimuove una directory msdos legge (a basso livello) un file da msdos a unix rinomina un file msdos visualizza il contenuto di un file msdos scrive (a basso livello) un file da unix a msdos

mcopy a:\\pluto.txt /tmp copia dal drive a: il file pluto.txt alla dir linux /tmp. Io personalmente non faccio mai uso degli mtools, e preferisco passare attraverso mount, che una volta assimilato risulta molto molto pi comodo. Inoltre, tento di formattare tutti i miei dischetti in ext2 che un formato assai pi efficente della vecchia ed obsoleta fat. Esiste per la verita un superformat che fornisce dei modi estesi per la formattazione dei dischetti (fino a 2Mb), lo trovate nel pacchetto fdutils.tgz, perch ovviamente non entra nelle distribuzioni ufficiali, n un comando standard di Linux. Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-6.html (6 di 6) [02/07/2001 15.19.34]

Progetto Culturale: File e permessi

Cerca nel sito:

7. File e permessi 7.1 I permessi dei file


Pi volte nei capitoli precedenti abbiamo parlato di permessi per gli utenti. Ovvero permessi di compiere quella o questa azione all'interno dell'OS, ma mai abbiamo specificato come questo pu avvenire. In questo capitolo, ci occuperemo appunto di ricostruire il modo in cui Linux concede ad un utente il permesso di fare questa o quella azione. Appare ovvio che concedere un potere ad un utente significa operare sulla possibilit che esso possa o meno accedere ad un dato o eseguire un programma. Sia i dati che i programmi sono rappresentati in forma fisica da file, quindi senz'altro una buona intuizione quella di pensare che un utente possa compiere una certa azione solo se il file su cui va ad operare disposto a compiere quella determinata operazione. Per cui in realt assegnare dei permessi ad un utente significa stabilire su quali file possa operare e come. Ciascun file dotato di: q 1 Chiave di proprietario q 1 Chiave di gruppo q 9 permessi q 3 attributi speciali Sembrerebbe un po' complicato, in realt non lo affatto. Vediamo un po' come ci appare un file quando lo visualizziamo con ls -l: -rw-r--r-1 root root 872 Feb 23 12:04 prg.culturale.7

|________| |_____| |____| | | |___Identificatore di gruppo (GID) | | | |____ Identificatore del proprietario (UID) | |___________permessi del file Quando un utente tenta di accedere ad un file, Linux controlla che il nome dell'utente corrisponda al nome del proprietario del file, se non corrisponde controlla che almeno l'utente appartenga al gruppo a cui appartiene anche il file, se ancora non corrisponde identifica quell'accesso come altro. I permessi -rw-r--r-- sono divisi in 3 gruppi di 3 bit ciascuno. Permessi del proprietario - read - write - execute Permessi del gruppo - read - write
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-7.html (1 di 6) [02/07/2001 15.19.42]

Progetto Culturale: File e permessi

- execute Permessi degli altri - read - write - execute Ciascun bit pu essere naturalmente settato a 0 o a 1, quando il bit vale 0 il permesso negato, quando il bit vale 1 il permesso concesso. Quando un utente accede ad un file, se tale utente anche il proprietario del file allora si applicano i permessi del proprietario, se l'utente appartiene al gruppo allora si applicano i permessi del gruppo, se l'utente non il proprietario e non appartiene al gruppo si applicano i permessi degli altri. Vediamo qualche esempio. Supponiamo che l'utente jaco appartenente al gruppo mail voglia accedere al file: -rw-r--r-1 root root 111279 Sep 10 21:48 linux-faq.ascii

I permessi di tale file sono per il proprietario che root: rw-, ovvero read&nbspon, write&nbspon, execute&nbspoff; per il gruppo che root: r--, ovvero read&nbspon, write&nbspoff, execute&nbspoff; per gli altri: r--, ovvero read&nbspon, write&nbspoff, execute&nbspoff. Per cui jaco avrebbe, non essendo n il proprietario n un appartenente del gruppo, si vedrebbe applicato i permessi degli altri e ci implica che avrebbe accesso in sola lettura. Dato che si tratta di un insieme di bit, la stringa rw-r--r-- pu anche essere codificata come un numero ottale, ad esempio in questo caso il permesso del file 644. (Ottale perch ogni cifra corrisponde ad uno dei tre gruppi di permessi.) Es: rw-r--r-- si codifica in binario come 110100100, in ottale abbiamo 110=6, 100=4, 100=4 che d luogo alla stringa ottale 644. Avrete notato che in realt quando visualizziamo un file con ls -l: -rw-r--r-1 root root 111279 Sep 10 21:48 linux-faq.ascii

Il numero dei permessi non 9 come abbiamo detto fino ad ora, ma 10, in realta il primo bit non un permesso ma serve ad indicare se l'oggetto in questione un file o una directory. Ad esempio: total 132 drwxr-xr-x -rw-r--r--rw-r--r--rw-------

2 1 1 1

root root root root

root root root root

1024 111279 3110 16384

Feb Sep Feb Feb

23 10 23 23

12:04 21:48 12:35 12:56

RCS linux-faq.ascii prg.culturale.7 prg.culturale.7.swp

Indica che RCS una directory, per quanto in linea teorica il modo di applicare i permessi per una directory sia uguale a quello dei file, il tipo di permessi si discosta un po', vedremo succesivamente come. Al gruppo di attributi che si possono applicare ad un file, ne mancano ancora 3, ovvero gli attributi speciali che non compaiono quando facciamo ls e che sono: q set-uid q set-gid q sticky Questi sono 3 flag applicabili ad un file, vediamo un po' a cosa servono. Il flag set-uid significa che se applicato ad un file, ogni volta che un utente qualunque acceder a quel file, acquister momentaneamente i poteri del proprietario del file, se il file ha come proprietario root, in quel momento assumerete i poteri del

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-7.html (2 di 6) [02/07/2001 15.19.42]

Progetto Culturale: File e permessi

superuser. Tutto ci potrebbe sembrare strano ed in contrasto con la filosofia Unix, in realt c' un motivo ben valido del perch sia stato messo a disposizione questo meccanismo. Per esempio serve a quei programmi che hanno bisogno di accedere all'hardware, ad esempio le svgalib o simili. Se il flag set-uid viene applicato ad uno script, non ha nessun effetto. Il flag set-gid funziona in modo analogo al flag set-uid solo che accedendo ad un file con questo permesso settato ad 1 si assumono i poteri del gruppo del proprietario. Il flag sticky veramente molto interessante in realt questa solo una abbreviazione, il nome per intero save-text-image, quando ad un file eseguibile assegnato questo flag, la parte istruzione del programma viene conservata in memoria anche dopo che il programma stato runnato e viene riutilizzata di nuovo alla prossima esecuzione del programma. Questo molto interessante per le prestazioni generali del sistema. I flag set-uid, set-gid e sticky sono mostrati con una s sopra la x dell'user, una s sopra la x del group, una x sopra la t degli altri. Ad esempio: -rwsr-xr-x ^ 1 root bin 417917 Aug 7 1995 /usr/bin/gs*

indica che il flag set-uid attivo.

7.2 I symlink
L'unica eccezione al concetto di file system gerarchico viene rappresentata dai symlinks. Un symlink in parole povere un puntatore a un file realmente esistente sull'hd. Prendiamo in considerazione ad esempio il file /etc/smail/aliases: -rw-r--r-1 root root 93 Mar 7 21:33 /etc/smail/aliases

questo file deve, per motivi di tuning, essere presente anche nella directory /etc, ma ovviamente copiarlo semplicemente in quella dir, significherebbe occupare pi spazio sull'Hard Disk, inoltre se facessi una modifica ad uno dei due file, dovrei farla manualmente anche all'altro, mentre io per esempio, desidererei che venissero aggiornati automaticamente. A questo scopo nascono i symlink, posso praticamente creare un puntatore al file reale, nella directory /etc, in modo che non occupi molto spazio su HD e che ogni modifica sia anche riportata nel file d'origine. Il symlink viene visualizzato nella dir /etc in questo modo: lrwxrwxrwx 1 root root 13 Mar 7 21:35 /etc/aliases -> smail/aliases

Come vedete un puntatore, la dimensione molto ridotta e ovviamente ogni modifica nel file /etc/aliases si ripercuoter anche su smail/aliases. Il numero dei link hardware verso un certo file viene riportato nel campo subito a destra dei permessi, il fatto che un oggetto sia un symlink viene riportato nel primo bit a sinistra dei permessi. Tipicamente per le directory il numero dei link 2 , perch vi puntano sia la directory . che la voce della dir precedente, quando ci sono subdirs, il numero aumenta di 1 per ogni subdir. lrwxrwxrwx ^ indica che un symlink drwxr-xr-x | | 6 root root 1024 Mar 17 23:27 usr | |______ il numero degli HardLink a questa dir 6 1 root root 14 Mar 7 20:09 linux -> /usr/src/linux

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-7.html (3 di 6) [02/07/2001 15.19.42]

Progetto Culturale: File e permessi

| |_________ una directory

7.3 Il comando ln
Il comando che serve per creare un symlink : ln [options] source [dest] L'opzione pi comune -s che crea un symbolik link anzich un link hardware. Le operazione di cambiamento di modo (chmod) o di gruppo (chown) non si ripercuotono sui link simbolici, il cui permesso rimane sempre 777, mentre invece si ripercuotono su tutti i link hardware.

7.4 Creare i gruppi


Abbiamo spesso fino ad ora parlato di gruppi, ma non abbiamo ancora specificato esattamente a cosa servono e come si creano. A cosa servono sembra abbastanza palese, ovvero a concedere a gruppi di utenti lo stesso tipo di permesso su di un file. Immaginate per esempio che ci sia un gruppo di lavoro che sta lavorando ad un progetto comune, ciascuno dovr poter accedere ai vari file, per gli utenti degli altri gruppi non devono poterlo fare, cos come una fotocopia del mondo reale stata creato il concetto di gruppo nel mondo Linux. I gruppi vengono creati dal file /etc/group. Ciascuna linea nel file /etc/group avr la seguente forma: group_name:passwd:GID:user_list group_name Un nome da attribuire al gruppo passwd Una password per gli utenti del gruppo. GID Un numero che identifica il gruppo. user_list Gli utenti appartenenti al gruppo. Ad esempio il mio /etc/group il seguente: root::0:root bin::1:root,bin,daemon daemon::2:root,bin,daemon sys::3:root,bin,adm adm::4:root,adm,daemon tty::5: disk::6:root,adm lp::7:lp mem::8: kmem::9: wheel::10:root floppy::11:root mail::12:mail news::13:news man::15:man users::100:games

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-7.html (4 di 6) [02/07/2001 15.19.42]

Progetto Culturale: File e permessi

nogroup::-1: uucp::14:uucp,fnet fido::101:fido,root,uucp

7.5 Cambiare gruppo e proprietario ad un file


Affinch la discussione non rimanga astratta ora necessario vedere quali sono i comandi che operano sui permessi dei file. Il primo che andiamo a vedere il comando per cambiare il gruppo e/o il proprietario ad un file. Il comando in questione : chown [options] [user].[group] nomefile dove options pu essere una delle tante messe a disposizione dal comando chown (vedere per i dettagli ``man&nbspchown''). user indica il nome del nuovo proprietario che si vuole assegnare al file group indica il nome del nuovo gruppo che si vuole assegnare al file nomefile il file su cui si va ad operare. Ad esempio chown guest.users introduction assegna al file introduction il proprietario guest e il gruppo users. chown -R&nbsproot.wheel /home/ftp assegna alla directory /home/ftp e a tutti le sue sottodirectory e i loro file, come proprietario root e come gruppo wheel. Esiste anche il comando chgrp, che consente di cambiare solo il gruppo e lasciare inalterato il proprietario.

7.6 Cambiare i permessi ad un file


Il comando per cambiare i permessi ad un file : chmod [options] mode nomefile dove options come al solito una delle numerose opzioni da andare a vedere su ``man&nbspchmod''. mode il modo che si vuole assegnare al file. nomefile il file su cui si va ad operare. Ad esempio chmod 755 mioscript imposta i seguenti permessi per il file mioscript: rwxr-xr-x 7 5 5 ovvero per il proprietario permesso in lettura, scrittura, esecuzione, per il gruppo permesso in lettura, esecuzione, e per gli altri permesso in lettura, esecuzione. Oppure chmod 640 questodoc cambiano come segue i permessi del file questodoc:
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-7.html (5 di 6) [02/07/2001 15.19.42]

Progetto Culturale: File e permessi

rw-r----6 4 0 ovvero permesso in lettura e scrittura per il proprietario, permesso di sola lettura per il gruppo e nessun accesso per gli altri. I permessi di un file possono essere cambiati anche in maniera relativa, ad esempio: chmod g+w nomefile fa s che venga impostato a on il permesso in scrittura per il gruppo al file nomefile.

7.7 I permessi delle directory


Come gi detto in precedenza, i permessi delle directory, sono molto simili a quelli dei file ordinari, e tuttavia per motivi che appaiono del tutto logici, qualcosa deve differire. Ad esempio apparirebbe del tutto senza senso continuare a mantenere un bit per il permesso di esecuzione, in quanto una directory non pu certamente essere eseguita. Infatti il bit che tipicamente identifica il permesso di esecuzione se assegnato ad una directory, diventa permesso di accesso. Ovvero se il bit di accesso uguale ad 1, il processo richiedente avr la possibilit di accedere a un file in quella directory, altrimenti no. Supponiamo per esempio di avere la seguente situazione: drwx--x--x 2 root root 1024 Feb 20 15:31 document.spool

Se entrassimo come utente pippo e gruppo pluto, potremmo entrare nella directory /tmp/document.spool, ma non potremmo visualizzarne il contenuto. In quest'altra situazione: drwxr-xr-x 2 root root 1024 Feb 20 15:31 document.spool

potremmo entrare nella directory /tmp/document.spool, visualizzarne il contenuto ma non potremmo scrivere niente. Infine ad esempio drwxrw-rw2 root root 1024 Feb 20 15:31 document.spool

pur avendo il permesso sia in lettura che in scrittura, non potremmo neppure entrare nella directory /tmp/document.spool perch non abbiamo il permesso di accesso. Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-7.html (6 di 6) [02/07/2001 15.19.42]

Progetto Culturale: I processi

Cerca nel sito:

8. I processi 8.1 Linux e il multitasking


Uno dei principali motivi del successo di linux senza dubbio dovuto alla sua capacit di multitasking. Per multitasking si intende ovviamente la possibilit da parte del sistema operativo di far girare contemporeneamente pi di una applicazione. Ovviamente la validit del multitasking offerto da un OS si giudica da diversi fattori, ovvero dall'algoritmo di scheduling dei processi, dalla capacit di gestione della memoria, dalla velocit di esecuzione dei vari processi e da molto altro. Preferiremmo in questa sede non entrare in tecnicismi troppo spinti, e tuttavia non possiamo esimerci dal dire che linux offre uno dei multitasking tecnologicamente pi evoluti del mercato. Molti esperti del settore dicono addirittura che da questo punto di vista, Linux si presenta pi veloce, piu affidabile e pi stabile di molti unix commerciali per non parlare ovviamente del confronto con sistemi non Unix che sono anni luce dietro a Linux da questo punto di vista. Nelle ultime evoluzioni del kernel linux si sta dirigendo con successo anche verso architetture multiprocessore, compiendo cos un ulteriore passo in aventi in quanto a capacit tecnologiche. Oltre queste due caratteristiche, Linux ne presenta un'altra molto interessante, ovvero quella delle VIRTUAL CONSOLE, ovvero quella di mettere a disposizione dell'utente fino a ben 64 macchine virtuali, ovvero 64 computer virtuali ognuno in grado di svolgere compiti di multitasking, ognuno completamente indipendente dall'altro. Questo significa che un utente linux non solo avr la possibilit di eseguire contemporeneamente pi applicazioni in background, ma disporr di 64 macchine virtuali all'interno delle quali si possono svolgere attivit in foreground o in background, ovvero possibilit illimitate. Quanto alla solidit del multitasking di Linux, da test da noi svolti abbiamo dedotto che si possono eseguire contemporeneante senza impallamenti o crash del sistema una quantit tale di applicazioni che una persona da solo non riuscir mai a lanciare, il tutto con decadimento delle prestazioni ovviamente progressivo all'aumentare del numero di processi attivi, ma tale da restare sempre entro limiti pi che accettabili. Detto in parole povere, con Linux difficilmente incontrerete problemi di decadimento delle prestazioni anche in situazioni di elevato sfruttamento delle risorse.

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-8.html (1 di 4) [02/07/2001 15.19.47]

Progetto Culturale: I processi

Per questi motivi Linux diviene uno dei migliori OS per la gestione di reti dove un buon multitasking assume importanza rilevante, ma anche per l'utente singolo che vuole sfruttare al massimo tutta la potenza del suo sistema.

8.2 I Job
Per semplificare, identificheremo con la parola job ogni programma eseguito da un utente o dal sistema (in realt il concetto di job decisamente piu' ampio). In un qualsiasi sistema multitasking sono da prevedersi almeno due aspetti per la gestione contemporanea di pi job. Un primo aspetto di cui si occupa il kernel di sistema, ovvero scheduling dei job, allocazione della memoria, condivisione delle risorse etc. Un secondo aspetto pi esteriore, ovvero un set di strumenti tali da concedere all'utente la possibilit di eseguire un job in background, foreground, sospendere un job, riattivarlo, terminarlo, cambiare la sua priorit di esecuzione rispetto ad altri job. Per ora lasceremo da parte gli aspetti tecnici legati soprattuto al kernel, per dedicarci fondamentalmente alla seconda parte del problema, ovvero gli strumenti messi a disposizione dell'utente.

8.3 Eseguire un processo in background


Eseguire un processo in background significa praticamente lasciarlo lavorare mentre noi ci dedichiamo a fare con il computer qualcos'altro. Tipicamente per eseguire un processo in background, basta aggiungere alla linea di comando che lo lancia il suffiso &. Ad esempio: find / -iname prg.culturale.6 > result & compir una ricerca del file prg.culturale.6 in tutti gli fs montati in quel momento sull'HD, ivi compresi i file system remoti, e invier il risultato della ricerca verso il file result, ma non occuper il sistema, bens lavorer in background consentendo all'utente di continuare a fare quello che vuole, non so magari scrivere una lettera. Quando lanceremo un processo seguito dal termine & il sistema restituir immediatamente quindi il prompt all'utente che potr continuare a lavorare; al processo cos lanciato verra associato un numero, il cui significato vedremo fra poco. Ovviamente si possono lanciare in background pi processi contemporaneamente, l'unica accortezza di redirigere l'output verso /dev/null o verso un file in modo da non vedersi il video sporcato da eventuali messaggi del processo in background. Es: make zImage 2> /dev/null > /dev/null &

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-8.html (2 di 4) [02/07/2001 15.19.47]

Progetto Culturale: I processi

questo esegue la compilazione del kernel in background, preoccupandosi di redirigere sia l'output che eventuali errori su /dev/null. Subito dopo avere premuto il tasto return avremo una situazione del genere: [1] 540 usr/src/linux/$> ovvero la prima linea ci indica che il numero del processo in background appena attivato 540, dopodich ci restituisce il prompt.

8.4 nohup
Tipicamente l'esecuzione di un processo in background termina non solo perch il processo ha eseguito il suo compito, ma anche perch per esempio l'utente che ha lanciato il processo si sconnesso dal sistema. Per evitare di dovere comunque rimanere connessi al sistema anche quando non si ha niente da fare, tanto per aspettare che un eventuale processo in background termini, esiste il comando nohup, che fa s che un processo continui a funzionare anche dopo che l'utente che lo ha lanciato si scollegato. Questo utilissimo per eseguire lavori ad esempio di routine, che possono cosi essere eseguiti durante la notte. Immaginate di volere compilare un programma gigantesco, avete bisogno del compilatore che sta sul server. Beh, lanciate qualcosa del genere: nohup make mioprog & il sistema vi restituer il prompt $> voi vi scollegate logout ve ne andate tranquillamente a dormire e l'indomani troverete il vostro programma compilato.

8.5 Sospendere un processo


Immaginate di eseguire un processo in foreground, ad un certo punto volete sospendere l'esecuzione di quel processo per dedicarvi ad altro. Supponete per esempio di stare scrivendo una lettera e che dovete uscire per un momento da quel processo per cercare un documento. Questa operazione possibile tramite la pressione contemporanea dei tasti <CTRL&nbspZ>. Questo fa s che il processo in questione venga immediatamente congelato, il prompt viene restituito all'utente per ulteriori operazioni, la memoria e le risorse del sistema precedentemente occupate dal
http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-8.html (3 di 4) [02/07/2001 15.19.47]

Progetto Culturale: I processi

processo in questione vengono rilasciate per altri programmi, lo stato del processo al momento della sospensione viene salvato in una apposita tabella. Il processo precedentemente sospeso pu essere riesumato e fatto ripartire esattamente dal punto dove l'avevamo lasciato. Il metodo pi semplice per riesumare un processo quello di digitare %n, dove n il numero del processo che si vuole riesumare, oppure con %string, dove string il nome del proceso che si intende scongelare, %?name riesuma tutti i processi contenenti la stringa name, %1 & riesuma il processo congelato, ma ne continua l'esecuzione in background.

8.6 I comandi fg e bg
Cosa si fa quando si vuole portare un processo da background a foreground? La risposta semplice, si usa il comando fg. fg %1 riporta in foreground un processo precedentemente sospeso. fg&nbspnomeprocesso riporta in foreground un processo funzionante in background.

8.7 Priorit dei processi


Tipicamente in Linux la maggior parte dei processi gode della stessa priorit ossia pu accedere alla CPU per un tempo uguale al tempo offerto agli altri processi eseguiti in quel momento, tuttavia Linux mette a disposizione anche un comando tale da poter attribuire manualmente ad un processo una certa priorit. Il comando in questione nice. nice -14 grep -i jaco /etc/passwd esegue il processo grep con una priorit pari a 14 (tipicamente la priorit 10), il range delle priorit varia fra -20 (la massima priorit) e 19 (la pi bassa priorit). Previous Next Contents Trovato qualche cosa che non va? Segnalamelo :) Previous Next Contents Ziobudda.net -- Tutti i diritti riservati -- webmaster@ziobudda.net Connettivita' offerta da Enter S.p.A. -- Il logo e' @Simona Bettazzi -- Sito creato senza phpNuke

http://www.ziobudda.net/ILDP/guide/PrgCulturale/prg.cult-8.html (4 di 4) [02/07/2001 15.19.47]