+ All Categories
Home > Documents > 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale...

1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale...

Date post: 02-May-2015
Category:
Upload: giordano-contini
View: 212 times
Download: 0 times
Share this document with a friend
54
1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find, ..) Operazioni sui file (cp,mv, grep,tail,more,less) Creazione link fisici e simbolci Documentazione Interna Editing di file (VI, mcedit ;editor grafici delle GUI)
Transcript
Page 1: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

1

Lez.3 Utilizzo Linux I comandi fondamentali per

iniziare

Uso del sistema dalla console testuale

Navigare nelle directory (ls, find, ..)

Operazioni sui file (cp,mv, grep,tail,more,less)

Creazione link fisici e simbolci

Documentazione Interna

Editing di file (VI, mcedit ;editor grafici delle GUI)

Page 2: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

2

Processi di login e logout• Linux è un sistema operativo multiutente, dove differenti utenti

possono avere accesso al sistema avendo i propri dati, i propri programmi e impostazioni completamente separate da quelle di altri utenti oltre ad avere la possibilità di accedere alla risorse del sistema .

• Il login può essere eseguito in ambienti diversi, grafici o testuali da locale o da remoto ma hanno tutti lo stesso scopo: verificare che l'utente abbia i requisiti per accedere al sistema o ad un suo servizio e metterlo in condizione di interagire con la macchina.

• Il logout (ctrlD)è esattamente l'opposto del login: chiude la shell aperta con il precedente login e tutti i successivi programmi lanciati dall'utente, e fa in modo che l'utente debba ripetere il login per riaccedere alla linea di comando o meglio shell

Page 3: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

3

User & SuperUser • In Linux esistono differenze fra i vari utenti, definite dai permessi e

dall'acceso ai file e comandi che un'utente può lanciare.

E' convenzione che i semplici utenti possono scrivere, leggere e

modificare file solo all'interno del loro ambiente (home) e lanciare

semplici comandi che non influiscono sulla configurazione del

sistema. Per poter accedere completamente alle risorse del sistema

bisogna accedere al sistema come superuser ovvero l'utente root.

In particolare si consiglia, per motivi di sicurezza, di non lanciare mai

Xwindows (l'interfaccia a finestre disponibile su Linux) come utente

root su una macchina che ha accesso a reti esterne.

Page 4: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

4

Utente root • L'utente root ha poteri assoluti sul sistema:

- Aggiungere, Eliminare e modificare account (altri utenti)

- Installare e configurare servizi

- Accesso completo (read/write) di tutti i file presenti nel filesystem

- Aggiungere e Modificare il Filesystem

• Attraverso tools come sudo è possibile fare in modo che semplici

utenti possono lanciare comandi che solo root potrebbe lanciare.

Page 5: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

5

Processi di login da remoto

• L’ accesso al sistema può essere eseguito da remoto

• tramite un client (come putty) • con protocollo ssh ( Telnet sicuro)

Page 6: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

6

Shell

La shell e' il mezzo con cui si comunica con il sistema, è l’ambiente

dove si avviano e si controlla l'esecuzione degli altri programmi.

Solitamente quando si avvia la console testuale si riconosce

se l’utente collegato è un utente normale o il super user (root)

rispettivamente dai simboli del prompt $ o #

mario@localhost $

root@localhost #

Page 7: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

7

Shell

La shell attivata al momento del login è quando si crea l'account, ad ogni

utente si può associare una shell diversa.

Per attivare una shell basta digitarne l'acronimo

bash per attivare la Bourne Again shell .

Per uscire dalla shell si usa il comando : exit

La shell puo' usare cinque files di configurazione

/etc/profile file globale/etc/bashrc file globale~/.bash_profile file locale~/.bashrc file locale ~/.bash_logout file locale

Page 8: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

8

Tipi di shell

Esistono vari tipi di shellLe piu' frequentemente utilizzati sono:

Bourne shell (sh) la shell originale di UNIX, scritta da Steve Bourn dei Bell Labs. Disponibile

su tutti i sistemi UNIX, fornisce un semplice linguaggio per la sua programmazione.

C shell (csh) E' stata scritta all'universita' di Berkley, California. Come indica il nome, il

linguaggio di programmazione è molto simile al C.

Korn shell (ksh) E' stata scritta da D. Korn dei Bell labs. Attualmente è la shell standard dei

sistemi UNIX, fornisce uguali prestazioni della C e TC ha un linguaggio a Bourne shell.

Bourne Again Shell (bash) E' stata scritta dalla Free Software Foundation come shell di

pubblico dominio. Ampliamente usata in ambienti accademici, fornisce tutte le stesse

prestazioni della C e Korn shell, con un linguaggio compatibile con sh .

TC Shell (tcsh) Versione modificata della C shell, con cui è interamente compatibile,

introduce nuove caratteristiche che ne rendono piu' agevole l'interazione con l'utente.

Caratteristica comune a tutte le shell è il completamento del nome dei file e dei comandi

solitamente col tasto [TAB]

Page 9: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

9

  Avvio e arresto del sistema

Come si arresta il sistema? immediatamente# shutdown -h now[Invio] Oppure: # init 0[Invio]Programmando ora e minuti# shutdown -h ore:minuti [Invio]

Come si riavvia? # shutdown -r now[Invio] Oppure: # init 6[Invio] oppure rebootProgrammando ora e minuti# shutdown -r ore:minuti [Invio]

  È possibile fermare l'arresto o il riavvio del sistema dopo averne dato il comando? Per poter farlo, occorre impartire il comando:# shutdown -cma questa operazione di annullamento avrebbe successo esclusivamente qualora il

comando shutdown fosse stato impartito mediante l'indicazione esatta del tempo di esecuzione dello stesso:

DA SEGNALARE I COMANDI halt o poweroff PER SPEGNERE IL SISTEMA

Page 10: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

10

Info sul sistema

uname : mostra informazioni sul computer.-m tipo di macchina.-n nome dell'host.-r release dell'OS.-s nome dell'OS.-v versione dell'OS.-a tutte le informazioni..

• dmesg : riporta i messaggi mostrati durante il boot

• df -h : mostra lo spazio libero sul disco fisso.

• du : mostra lo spazio usato da file o directory.

-m dati in megabyte.

• lspci mostra l’hw su bus pci collegato

• lsusb mostra l’hw usb collegato

Page 11: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

11

Terminal Control Keys I tasti di controllo piu usati sono i seguenti :

CTRL-u        cancella tutto quello che si è digitato sulla linea di comando

CTRL-c         interrompe bruscamente l'esecuzione di un comando

CTRL-h        torna indietro di un carattere come il tasto <backspace>

CTRL-z         sospende un comando

CTRL-s        interrompe lo scorrimento ( scrolling ) dello schermo

CTRL-q        continua lo scrolling , per uscire dai programmi

CTRL-d        interrompe l'immissione dei dati da tastiere in un comando

                 interattivo ( rappresenta l'EOF ) ha anche funzione

di log-out nella fase di autenticazione

Page 12: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

12

Metacaratteri *,  ?,  [..]Wild card, sono tre caratteri speciali che permettono di sostituire completamente o in parte

il nome del file.

 Il carattere * Il suo significato per la shell è " qualsiasi sequenza di caratteri ",

esempio

cat PR* visualizza il contenuto dei file che incominciano per PR.

cat *ad* visualizza il contenuto dei file che contengono ad nel loro nome.

Il carattere ? E' in grado di sostituire qualsiasi carattere del nome del file che compaia

nella posizione corrispondente.

esempio cat ?rova visualizza il contenuto dei file aventi nome di 5 caratteri, i cui ultimi 4 sono rova .

Il carattere [..] Permette di specificare una lista di caratteri che possono sostituire un

carattere nel nome del file, come per l'operatore ?, limitando la sostituzione ad un

insieme selezionato di caratteri. Esempio cat prov[aeo] visualizza il contenuto dei file prova,prove,provo se esistono

cat [m-o]el[ae] visualizza se esistono il contenuto dei file : mela,mele,nela,nele,oela,oele

.

Page 13: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

13

Ridirezione dell I/O standard Linux considera video e tastiera come dei file . E' quindi possibile ridirigere l' I/O di un comando semplicemente specificando al

SO da quale file si vogliono prelevare i dati ( ridirezione dell‘ Input), in quale file si vogliono mettere i risultati ( ridirezione dell‘ Output) e gli eventuali messaggi di errore (ridirezione dell’ Error).Ridirezione dell'output cat note > myfile memorizza il contenuto del file note in myfile, sovrascivend il contenuto. cat note >> myfile accoda nel file myfile il contenuto di note a quello eventuale di myfile Ridirezione dell'input mail joe < note invia tramite posta elettronica all'utente joe il messaggio contenuto nel file note; Ridirezione dell'error cat note 2> myfile se note non esiste, myfile conterra' il messaggio di errore relativo al comando catcat note 2>> myfile accoda l'eventuale messaggio di errore del comando ad altri messaggi i in myfile.

Page 14: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

14

Documentazione interna Tra i comandi di che ci aiutano (quelli di Help) a capire gli altri comandi

Il primo da segnalare è man <nome comando>

da una spiegazione più che esaustiva (a volte sin troppo … diverse pagine)

Infatti se l’output da un testo maggiore dello spazio disponibile sullo schermo basta

premere la barra spaziatrice per vedere le linee non visualizzate.

Per uscire dal manuale basterà premere <q>.... se volete avere solo informazioni sintetiche e stringate è meglio usare:

man –f <nome comando> oppure whatis <nome comando>

Le directory dove risiedono le documentazioni per programmi specifici in diversi formati (txt,html,pdf etc..)

usr/share/doc oppure /usr/doc

Page 15: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

15

Comando cd• Il primo comando, essenziale per muoversi fra le

directory e certamente compare directory.

• Senza argomenti (oppure cd ~), cd ci riporta alla nostra

home directory;

• con un argomento, che dovrà essere un nome di

directory, cd ci porterà all'interno della directory

specificata.

• “cd –” ci riporta alla directory di provenienza

• ”cd..” ci riporta alla directory precedente

Page 16: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

16

cp per copiare file e directory. La sua sintassi è molto semplice:

cp <file_sorgente> <destinazione>Vediamo ora le opzioni più importanti di cp:

-b Esegue automaticamente una copia di backup di ogni file di destinazione

-f Forza la sovrascrittura dei file, senza richiedere interventi da parte dell'utente.

-i Attiva la modalità interattiva, che chiede conferma prima dell'evanutale sovrascrittura di file di destinazione preesistenti;

-p Mantiene, se possibile, gli attributi (permessi, ownership ecc.) del file. -r Permette di attivare la modalità ricorsiva, che permette la copia di

directory. -v Attiva la modalità verbose, che visualizza in output quello che il sistema

ha fatto in seguito al nostro comando

Page 17: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

17

Operazioni su file/directory- Per cambiare nome dei file: mv < sorgente > <destinazione > Per spostare un file mv <sorgente > < directory>- Per eliminare file o directory. rm <file> (per eliminare un file) se siete sicuri di poter elimimare una directory non vuota, potete utilizzare il

rm -rf directorymkdir per creare una directory rmdir per cancellare una directory pwd mostra la directory corrente

Per crere un file vuoto touch <nome file>

Page 18: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

18

Contenuto di una directory.ls : mostra il contenuto di una directory.in long format grazie all’opzione

<l>

Output di ls -l / Miadir/Miofile :

2333 -rw-r--r-- 1 root root 77266 Dec 13 17:18 / Miadir/Miofile

L'output esteso di ls da varie informazioni su un file:

- attributi (il primo carattere a sinistra);

- permessi (owner, group e other)

- numero di file con lo stesso inode (in questo caso 1);

- nome dell'owner (in questo caso root);

- nome del gruppo (in questo caso root);

- dimensioni in byte del file (in questo caso 77266);

- data dell'ultima modifica (13 Dic alle 17:18);

- nome del file ( /Miadir/Miofile).

Se aggiungiamo al comando ls –l <i >sarà visualizzato numero di i-node

Altre lettere importanti <a> mostra i file nascosti

Page 19: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

19

Lettura di file

La lettura di file di testo può essere fatta attraverso due programmi ben

conosciuti: more oppure less.

• more è quello tradizionalmente più diffuso negli ambienti Unix;

• less è il più pratico ed è più ricco di piccoli accorgimenti.

[q] Per uscire dal file

[bar] Scorre il testo in avanti di una schermata

[Ret] Scorre il testo in avanti di una riga alla volta

Le funzionalità essenziali di questi due programmi sono simili,

anche se il secondo offre un gran numero di funzioni aggiuntive , tra cui

la più evidente è la possibilità di scorrere il testo all'indietro

di una pagina tasto [b] e di una riga tasto [y].

• cat legge il contenuto di un file. ma non funziona da pager

Page 20: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

20

Per cercare file

• find per la ricerca di file all'interno del filesystem. find </directory/> -name <file> opz

alcuni opzioni di ricerca

-ctime in base alla data di creazione del file in giorni

-type in base al tipo ,file o dir

-size in base alla dimensione espressa in Kbyte

• locate cerca i file in un db di riferimento che bisogna aggiornare o creare da utente root col comando <updatedb>

• grep permette di ricercare pattern all'interno di uno o più file.

Page 21: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

21

Partizionamento HD

• Il minimo partizionamento richiesto prevede:- una partizione generale (/, root) in cui saranno inseriti tutti i file.- una partizion di swap (usata come Virtual Memory)

• E' preferibile, nelle installazioni standard avere un miglior partizionamento cioè dedicare partizioni indipendenti per:- / (la root, sotto la quale stanno tutte le altri directory- /boot (partizione di boot, dove risiede kernel e file di boot. 20 Mb di spazio possono bastare)- /var (partizione in cui vengono messi file che cambiano di dimensione, tipicamente i log. E' utile averla su partizione indipendente per evitare che un aumento dei log inattesi riempa tutto il filesystem. Farla almeno di 100 Mb)- /home (dove risiedono i file di tutti gli utenti. Può essere piccola e praticamente inutilizzata (mail, dns server) o molto grossa e piena di documenti (web, file server)- /tmp dove risiedono file temporanei.

Page 22: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

22

FS logico di Linux

Page 23: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

23

Device come files

Page 24: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

24

Device come files

/dev/fd0 floppy disk (A:)

/dev/hdadisco IDE (master, primario)

/dev/hdbdisco IDE (slave, primario)

/dev/hdcdisco IDE (master, secondario)

/dev/hdddisco IDE (slave, secondario)

/dev/ttyS0 porta di comunicazione (COM1)

/dev/sdaprimo dispositivo SCSI, hd SATA, device USB

/dev/psaux mouse tipo PS/2

Page 25: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

25

Uso dei device

Al contrario di altri sistemi operativi, non è sufficiente inserire il dischetto

o il CDROM per poterlo utilizzare, ma occorre 'montarlo' e dire dove va posto

nell'albero del sistema.

Usando un Windows Manager è sufficiente fare un click sull'icona opportuna e

il device verrà montato (in /mnt/floppy o /floppy, a seconda delle distribuzioni).

E' però importante anche smontare il dispositivo altrimenti non potrete inserire

nuovi CD e non avrete neppure la sicurezza che quello che avete copiato sul

floppy ci sia….!

Per farlo occorre selezionare "smonta dispositivo“ per il floppy o CD .

Page 26: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

26

Schema dei nomi per le partizioniEcco come decifrare lo schema per l'assegnazione dei nomi delle partizioni:

/dev/ XXy N ….Questo è il nome della directory nella quale risiedono tutti i file device. Dato che le partizioni risiedono su dischi fissi e i dischi fissi sono dispositivi, i file che rappresentano tutte le possibili partizioni sono contenuti in /dev/.

XX Le due lettere del nome della partizione indicano il tipo di dispositivo su cui risiede la partizione. In genere trovate hd (per i dischi IDE) oppure sd (per i dischi SCSI).

y Questa lettera indica su quale dispositivo si trova la partizione. Per esempio, /dev/hda (il primo disco IDE) oppure /dev/sdb (il secondo disco SCSI).

N Il numero finale indica la partizione. Le prime quattro partizioni (primarie o estese) vengono numerate da 1 a 4. Le partizioni logiche iniziano da 5. Per esempio, /dev/hda3 è la terza partizione primaria o estesa sul primo disco IDE e /dev/sdb6 è la seconda partizione logica sul secondo disco SCSI

Page 27: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

27

Comando mount

mount [opzioni] [device] [directory] Esegue il mount di tutti i file system elencati in /etc/fstab-o opzione Specifica le opzioni con cui montare il file system. Sono varie, incidono su diversi aspetti e possono essere specifiche per determinati tipi di file system: async, auto, defaults, dev, exec, noauto, nodev, noexec, nosuid, nouser, remount, ro, rw, suid, sync, user, check, conv, debug, errors.-r Esegue il mount del file system in sola lettura-w Esegue il mount del file system in lettura/scrittura (opzione di default)-t tipo_fs Specifica il tipo di file system da montare. Valori possibili: minix, ext, ext2, ext3, xiafs, hpfs, msdos, umsdos, vfat, proc, nfs, iso9660, smbfs, ncpfs, affs, ufs, romfs, sysv, xenix, coherent, reiserfs, jfs... Esempi mount mount -t vfat /dev/fd0 /mnt/floppy Monta un floppy formattato sotto Windows sulla directory /mnt/floppymount -t iso9660 /dev/hdc /mnt/cdrom Mount un CD presente nel lettore IDE Secondary master sulla directory /mnt/cdrommount -t nfs 192.168.0.10:/home/rpm /mnt/remote Monta sulla directory /mnt/remote la condivisione NFS /home/rpm del server 192.168.0.10 (il serviazio portmap deve essere attivo sul client

Page 28: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

28

mount• Permette di inserire un file system

presente in un dato device nella struttura di directory principale del sistema, a partire dalla directory indicata.L’ operazione di "montare" di fatto rende visibile al sistema il contenuto di dispositivi quali CD-ROM, floppy ma anche hd o Net FileSystem di rete. Il comando mount senza opzioni visualizza l'elenco dei file system attualmente montati nel sistema.Nel file di configurazione /etc/fstab sono elencati i parametri di mounting dei vari dispositivi del sistema predefiniti: per montare le voci presenti in questo file basta specificare come parametro di mount la directory o il device.Nel file /etc/mtab vengono visualizzati i file system attualmente montati sul sistema.

Page 29: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

29

umount

• Smonta il file system specificato e lo rende inaccessibile al sistema.E' il comando che esegue l'operazione opposta a mount.Qualsiasi operazione in corso sul filesytem da smontare viene conclusa e la struttura del file system segnata come pulita (clean).

• umount  [opzioni] [device|directory]-a Smonta tutti i file system montati (visualizzati in /etc/mtab)-n Smonta tutti i file system montati SENZA memorizzare le modifche in /etc/mtab -t tipo Smonta tutti i file system del tipo specificato.

Esempi umount umount /dev/fd0 Smonta il floppy (operazione necessaria prima di estrarre fisicamente il dischetto). Questo comando è analogo a umount /mnt/floppy (se il floppy è montato sulla directory /mnt/floppy.umount /mnt/cdrom Smonta il CDROM (se è montato sulla directory /mnt/cdrom). Nello specifico per i CDROM può essere usato il comando eject che smonta ed espelle il CD.

Page 30: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

30

Gestione filesystem

Struttura gerarchica apparentemente complessa

Purtroppo non standard

/

/etc /usr /bin /sbin /tmp /home/dev/lib

bin sbin local

gonzo snake satan

lib

/var

lib log spool run

Page 31: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

31

Principali directory

• /etc -> file di configurazione

• /bin o /usr/bin -> comandi base (user)

• /sbin o /usr/sbin -> comandi admin (super-user)

• /home -> utenti

• /tmp -> file temporanei

• /lib -> librerie

• /dev -> hardware

Page 32: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

32

I comandi per avere informazioni:

• man : formatta e mostra le pagine della guida in linea.

• info : sistema di consultazione dei manuali tramite ipertesti.

• help : richiama l'help per i comandi builtin della shell.

• Which cerca la posizione di un file eseguibile o comando

• apropos e whatis cercano nell pagine di man rif alla parola cercata.

Page 33: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

33

Ridirezione I/O

Ogni comando comando può essere ridiretto su un file diverso

comando &> 2 L'uscita del comando viene forzata sullo std error

Si noti che la numerazione prosegue dai file standard:

stdin = 0, stdout = 1, stderr = 2, ...

Page 34: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

34

Pipe

Page 35: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

35

Collegamenti o link Le voci di una directory contengono ognuna un riferimento (detto comunemente

collegamento) a un inode.

Più voci della stessa directory, o di directory differenti, possono puntare allo stesso inode.

si può parlare di collegamenti fisici, o hard link, per fare riferimento ai collegamenti che

puntano direttamente agli inode. (cioè il collegamento fisico).Quando si cancella un file, si

cancella la voce della directory e il numero di riferimenti contenuti nell'inode viene ridotto.

Quando questo raggiunge lo zero, quel numero di inode torna a essere disponibile.

Questa possibilità di avere riferimenti multipli allo stesso inode è ampliata dalla presenza dei

cosiddetti collegamenti simbolici, che sono solo file contenenti un riferimento a un altro

file. collegamenti simbolici o soft link

Page 36: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

36

Iink fisico

Creiamo un file touch provaVisualizziamo l’i-node ls –il Creiamo un link (hard) tra i file prova e prova1 ln prova prova1Sempre con il comando ls –li verifichiamo che hanno lo stesso i-nodeSe cancelliamo il file originale prova Avremo sempre il collegamento prova1 che ha lo stesso contenutoDel file prova

Page 37: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

37

File e permessi

chmodmodifica i permessi di accesso di un file. metodo numerico: primo numero (3 bit) : 4 set userID 2 : set groupID 1 : swap text image secondo numero (9 bit) 4 : lettura 2 : scrittura 1 : esecuzione

3 bit (u); permessi del proprietario: 3 bit (g) permessi del gruppo. 3 bit (o) permessi degli altri.

chown :cambia il proprietario di un file permessi per utente, gruppo e altri

Page 38: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

38

Filesystem e processidf : mostra lo spazio libero sul disco fisso.

free : mostra lo stato della memoria.

mount : monta un filesystem.

umount : disattiva un filesystem.

ps : visualizza un elenco dei processi correnti.kill : invia un messaggio (TERM di default) ad un processo.

Page 39: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

39

Comandi di Sistema:

• halt : chiude il sistema.

• reboot : riavvia il sistema.

• hostname: mostra e cambia il nome dell'host.

Page 40: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

40

cron ed at La schedulazione di particolari comandi è un tipico compito dell’amministratore

di sistema, che può in questo modo far eseguire particolari compiti al sistema

in momenti non critici.

Esempio tipico di attività pianificata sono il backup, e la periodica pulizia delle

directory temporanee del sistema per recuperare spazio ed eliminare file

ormai obsoleti.

Il comando <cron> pianifica l’esecuzione di comandi secondo una cadenza

fissa, mentre <at> programma l’esecuzione ritardata del comando.

• Per eseguire un comando utilizzando cron, è necessario editare il file

crontab, inserendo una nuova linea con il comando da attivare. Per eseguire

tale operazione è utilizzato di norma il comando crontab.

Il file crontab prevede 5 campi che indicano l’ora di pianificazione con lo schema (mm-hh-mese-gg).E’ possibile inserire più valori per ogni campo,

separandolo con una virgola, mentre il metacarattere * indica ALL.

Page 41: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

41

Comandi della shell• alias : definisce alias di comandi.

• bg : manda un processo sospeso in background.

• cd : cambia la directory corrente.

• exec : sistituisce la shell corrente con un nuovo processo.

• exit : chiude la shell.

• export esporta una variabile nelle shell figlie.

• fg : porta in foreground un processo.

. pwd : mostra il path asoluto

who : visualizza gli utenti collegati all’host

Page 42: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

42

Comandi della shell• help : richiama l'help per i comandi builtin.

• history : mostra l'history della shell.

• jobs : mostra i processi fatti partire dalla shell corrente.

• logout : esce da una shell di login.

• set : setta una variabile.

• type : mostra dove si trova l'eseguibile di un comando.

• ulimit : controlla le risorse disponibili per la shell.

• umask : setta i permessi di default per la creazione di nuovi file.

Page 43: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

43

Configurazione avvio

Al contrario di MS-DOS e Win9x, Linux non si può lanciare da solo

ma richiede l'ausilio di un programma di avvio, detto bootloader.

Due sono i programmi più diffusi, ovvero GRUB e LILO,

anche se il secondo è molto più diffuso del primo.

Il bootloader è solitamente installato nella primo settore del disco

rigido (MBR) e permette di lanciare vari sistemi operativi.

I bootloader sono programmi piccoli e sensibili, con una

configurazione piuttosto ostica. Vedremo ora il caso di LILO.

Page 44: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

44

Struttura dual bootOccorre fornire a lilo molte informazioni quali: (1) DOVE volete installare

LILO, solitamente nell'MBR; (2) che volete avere 100 secondi per scegliere il sistema operativo, altrimenti verrà lanciato il sistema di default; (3) i dati per Linux, ovvero dove si trova il kernel, dove si trova il resto del sistema e come chiamate il sistema; (4) dove si trova windows, i suoi dati e il nome con il quale lo chiamerete.

/dev/hda1 - win

/dev/hda2 - swap

/dev/hda3 - /boot

Boot=/dev/hdavga=normalread-onlyprompttimeout=100

image = /boot/vmlinuz root = /dev/hda4 label = linux

other = /dev/hda1 table= /dev/hda label=win

1

2

3

4

/dev/hda1 - win

/dev/hda2 - swap

/dev/hda3 - /boot/dev/hda4 - /

Page 45: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

45

Midnight commander

Quasi tutte le funzioni precedenti possono essere svolte da

un potente programma, mc.

Si tratta di un programma “semigrafico” dotato di grandi potenzialità incluso client ftp e redazione file

E' installato praticamente su tutte le distribuzioni standard, ma non nei sistemi di emergenza

Page 46: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

46

Formattare

Il comando fdformat serve a formattare un dischetto

a basso livello. Il formato del comando è

fdformat devicefile dove devicefile è un dei device file

dell'unità floppy. Esempio: fdformat /dev/fd0H1440

Per formattare ad alto livello una partizione si usa il formato

# mkfs.ext2 /dev/hda1

# mkfs.msdos /dev/sda4

# mkreiserfs /dev/hda2

Page 47: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

47

Midnight commander

Page 48: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

48

Processi

Se qualche programma fa le bizze, lo si può “terminare”

Scrivete “ ps ax” e controllate il numero a fianco del programma, quindi scrivete

kill <numero>. Se non ha effetto, provate con kill -9 <numero>

Alternativamente, potete usare killall <nome del programma>, come in

# killall netscape

Esiste anche la versione grafica, xkill

Page 49: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

49

Editor VI

E' uno dei programmi più noti e odiati della tradizione Unix.

E' un redattore testi molto potente e versatile, ma piuttosto ostile.

Per inserire le modifiche premete I

Per cancellare una riga, premete [ESC]poi “dd”

Per salvare premete [ESC], poi “:wq”

Per uscire senza salvare premere [ESC], poi “q!”

Page 50: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

50

esercizi• 1 - Che cosa fa il comando rm?

Cancella, in modo definitivo, file o directory

• 2 – Che cos è la root? Come si indica?La root, indicata con la / è la directory principale di una macchina linux al cui interno sono presenti altre directory e, eventualmente, partizioni montate di altri file system.

• 3 - Che differenza c'e' fra soft symlink e hard symlink?

Il soft symlink, comunemente più utilizzato, è un file speciale che rappresenta un collegamento o alias di un'altro file o directory, l'hard symlink è un alias

per un file di cui si mantiene lo stesso inode e è quindi indistinguibile dall'originale. Gli hard link non possono riferirsi a file system diversi o a file

inesistenti, i soft link si.

• 4 - Come si visualizzano le ultime 20 righe del file /var/log/messages? tail -20 /var/log/messages

• 5 - Qual è il comando più versatile per visualizzare il contenuto di un file ascii? Less

• 6 - Nominare almeno 3 directory principali presenti nella root di una macchina Linux e la loro funzione.

Per un elenco completo delle directory fare riferimento alla pagina STRUTTURA FILE SYSTEM

• 7 - In quale file vengono definite le informazioni relative ai file system del sistema? In quale file sono presenti le informazioni sui file system in uso

(montati)? /etc/fstab - /etc/mtab

• 8 - Con quale comando definisco permessi in lettura, scrittura, esecuzione per owner e group owner e sola lettura ed esecuzione per gli altri utenti al file

/usr/bin/who ?

Page 51: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

51

Esercizio

• 1 - Quali sono le principali caratteristiche di una licenza GPL?

.2 - Che differenza c'è fra kernel e distribuzione?

3 - Nomina almeno 4 nomi di distribuzioni esistenti per Linux

4 - Cosa posso fare per installare Linux su un computer che non

supporta il boot direttamente da CDROM?

5 - Quanti filesystem possono esserci in una partizione? Quanti

mount-point per ogni filesystem?

.6 - Com'è chiamata su Linux la terza partizione di un hard disk IDE

secondary slave?

Page 52: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

52

Esercizi• 1- Loggarsi come root sul proprio computer.

• Trovare la posizione del file messages, che contiene il log dei principali eventi

• 2- Creare una nuova directory chiamata test in /tmp/ Copiarvi il file messages ,

• 3- Provare a visualizzare, in modalità continua, le ultime righe di /tmp/test/messages.

Provare a loggarsi su altre console del sistema per vedere se il file cambia

• .4- Rimuovere il file /tmp/test/messages. Creare un link simbolico fra il messages nella posizione originaria e

/tmp/test/messages

• 5- Provare a visualizzare, in modalità continua, le ultime righe di /tmp/test/messages. Provare a loggarsi su altre

console del sistema per vedere se il file cambia.

• 6- Spiegare perchè i comportamenti sono diversi nei punti 3 e 5

• .7- Visualizzare i permessi del file messages originario. Provare ad entrare sul sistema come utente normale. Provare a

visualizzare il contenuto del messages originario.

• 8- Si riesce a visualizzarlo? Spiegare perchè.9- Dalla shell aperta come root rendere leggibile a tutti gli utenti il file

messages originario. Passare alla shell aperta come utente normale e visualizzarne il contenuto.

• 10- Reimpostare i permessi precedenti sul file messsages (contiente riservate informazioni sul sistema che non tutti gli

utenti devono vedere)

• .11- Copiare il messages originario in /var/test/messages2

• 12- Visualizzare le righe di /var/test/messages2 che contengono la parola root

• 13- Cancellare la directory /var/test/ e il relativo contenuto.

Page 53: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

53

Esercizio/risposte1 - Quali sono le principali caratteristiche di una licenza GPL?

Una licenza GPL implica: Ridistribuzione Libera del software e del codice; Il Codice Sorgente è Aperto e disponibile per lettura, modifiche, analisi, controllo; Prodotti derivati da prodotti GPL devono avere licenza GPL; Copyright dell'autore.

2 - Che differenza c'è fra kernel e distribuzione?Il kernel è la parte del sistema operativo che gestisce i dispositivi hardware, le risorse di sistema e i processi.Una distribuzione comprende il kernel Linux, una serie di programmi e software per utilizzarlo effettivamente e l'interfaccia di installazione e configurazione.

3 - Nomina almeno 4 nomi di distribuzioni esistenti per LinuxRed Hat - Caldera - Slackware - Debian - SUSE - Mandrake ... per una lista completa: http://www.distrowatch.com

4 - Cosa posso fare per installare Linux su un computer che non supporta il boot direttamente da CDROM?Creare un floppy di boot tramite il comando DOS rawrite (o analoghi).

5 - Quanti filesystem possono esserci in una partizione? Quanti mount-point per ogni filesystem?Ci può essere solo un file system in una partizione e questo ha un unico mount point

.6 - Com'è chiamata su Linux la terza partizione di un hard disk IDE secondary slave?/dev/hdd3 7 - Che differenza c'è fra un utente normale e l'utente root?

Page 54: 1 Lez.3 Utilizzo Linux I comandi fondamentali per iniziare Uso del sistema dalla console testuale Navigare nelle directory (ls, find,..) Operazioni sui.

54

Riavvio e simili

Reboot vi permette di riavviare la macchina

Halt ferma il computer

Init 1 spegne la GUI e vi porta a una modalità monutente usabile solo da root

Init 0 va in una speciale modalità di emergenza

Init 5 riavvia t tutti i servizi (senza bisogno di riavviare)

Le sequenza di inizio sono riassunte nel file /etc/inittab

Tutto questo SOLO come utente ROOT


Recommended