AICA AICA © EUCIP IT Administrator Prendere confidenza con il sistema operativo Giacomo Rizzo - MG Engineering S.r.L.
AICA AICA © Questa è una shell. Si tratta della BASH.
AICA AICA © Supponiamo di voler usare il cdrom. Dovremo eseguire il comando di mount, specificando tipo di filesystem, device e punto di mount: mount -t iso9660 /dev/cdrom /mnt/cdrom mount: only root can do that su - Password: mount -t iso9660 /dev/cdrom /mnt/cdrom mount: block device /dev/cdrom is write-protected, mounting read-only cd /mnt/cdrom ls appunti/00_ITADM.pdfModulo2L.pptModulo3L.ppt
AICA AICA © Volendo smontare una periferica montata, questa non dovrà essere utilizzata da alcun programma: umount /mnt/cdrom umount: /mnt/cdrom: device is busy cd.. umount /mnt/cdrom
AICA AICA © Volendo smontare una periferica montata, questa non dovrà essere utilizzata da alcun programma: umount /mnt/cdrom umount: /mnt/cdrom: device is busy cd.. eject
AICA AICA © Le chiavette USB, sono solitamente viste dal sistema come periferiche SCSI. Come trovare a quale device sono associate? Sulla nostra chiavetta USB, c'è una sola partizione? Piu di una? tail -4 /var/log/m maillog messages tail -4 /var/log/messages Oct 16 17:42:56 localhost kernel: SCSI device sda: byte hdwr sectors (66 MB) Oct 16 17:42:56 localhost kernel: sda: Write Protect is off Oct 16 17:42:56 localhost kernel: sda: sda1 sda2 Oct 16 17:42:56 localhost kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
AICA AICA © Ora che conosciamo il device della partizione della nostra chiavetta USB che vogliamo montare, possiamo dare il relativo comando: mount -t vfat /dev/sda1 /mnt/chiavetta mount: mount point /mnt/chiavetta does not exist mkdir /mnt/chiavetta ls floppy/chiavetta/cdrom/windows/ mount -t vfat /dev/sda1 /mnt/chiavetta umount /dev/sda1
AICA AICA © Se vogliamo controllare l'integrità di un filesystem, sarà sufficiente usare il comando fsck, a device smontata: fsck /dev/sda2 fsck 1.38 (30-Jun-2005) e2fsck 1.38 (30-Jun-2005) /dev/sda2 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity /lost+found not found. Create ?
AICA AICA © fsck /dev/sda2 fsck 1.38 (30-Jun-2005) e2fsck 1.38 (30-Jun-2005) /dev/sda2 was not cleanly unmounted, check forced. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity /lost+found not found. Create ? yes Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/sda2: ***** FILE SYSTEM WAS MODIFIED ***** /dev/sda2: 9/819 files (0.0% non-contiguous), 4/3269 blocks
AICA AICA © Vogliamo creare un file di testo, ed inserirvi del contenuto: vim nomefile Creazione di un file con VIM
AICA AICA © ~ nomefile [New file]0,0-1All
AICA AICA © ~ nomefile [New file]0,0-1All
AICA AICA © ~ -- INSERT --0-1All
AICA AICA © Ora possiamo inserire del testo. ~ 1,32All
AICA AICA © Ora possiamo inserire del testo. ~ :q
AICA AICA © Ora possiamo inserire del testo. ~ E37: No write since last change (add ! to ovveride)1,32All
AICA AICA © Ora possiamo inserire del testo. ~ :w1,32All
AICA AICA © Ora possiamo inserire del testo. ~ "nomefile" [New] 1L, 33C written 1,32All
AICA AICA © Ora possiamo inserire del testo. ~ :q! 1,32All
AICA AICA © Ora possiamo inserire del testo. ~ :wq 1,32All
AICA AICA © Il nuovo file cosi creato, avrà i permessi definiti dalla umask: umask 0022 utente#system:~$ ls -l nomefile -rw-r--r-- 1 utente users :29 nomefile utente#system:~$ = rw ( ) 0022 =4 = r( 4 ) = r( 4 ) 0644
AICA AICA © Il nuovo file cosi creato, avrà i permessi definiti dalla umask: umask 0022 utente#system:~$ ls -l nomefile -rw-r--r-- 1 utente users :29 nomefile utente#system:~$ = rwx ( ) 0022 =5 = rx( ) = rx( ) 0755
AICA AICA © Il nuovo file cosi creato, avrà i permessi definiti dalla umask: umask 0022 utente#system:~$ ls -l nomefile -rw-r--r-- 1 utente users :29 nomefile utente#system:~$ chmod 777 nomefile utente#system:~$ ls -l nomefile -rwxrwxrwx 1 utente users :29 nomefile utente#system:~$
AICA AICA © Il proprietario del file, un utente che appartenga al suo gruppo, oppure l'utente root possono cambiare i permessi del file: chown root nomefile chmod 000 nomefile chgrp root nomefile ls -l nomefile root root :39 nomefile chmod utente:users nomefile ls -l nomefile utente users :39 nomefile cat nomefile Ora possiamo inserire del testo
AICA AICA © Il proprietario del file, un utente che appartenga al suo gruppo, oppure l'utente root possono cambiare i permessi del file: chown root nomefile chmod 000 nomefile chgrp root nomefile ls -l nomefile root root :39 nomefile chmod utente:users nomefile ls -l nomefile utente users :39 nomefile cat nomefile cat: nomefile: Permission denied
AICA AICA © Utilizzando il carattere pipe ( | ) possiamo assegnare lo standard output di un programma come standard input dell'altro programma: cat nomefile | grep 1 riga 1 riga 10 cat nomefile | grep 2 riga 20 cat nomefile | grep 2 > file.txt
AICA AICA © Utilizzando il carattere pipe ( | ) possiamo assegnare lo standard output di un programma come standard input dell'altro programma: cat nomefile | grep 1 riga 1 riga 10 cat nomefile | grep 2 riga 20 cat nomefile | grep 2 >> file.txt
AICA AICA © Quando l'output di un programma che vogliamo controllare è troppo lungo per essere visualizzato su schermo, tramite le pipe, possiamo semplificarci il lavoro: cat /var/log/messages | less
AICA AICA © Oct 8 04:40:02 localhost syslogd 1.4.1: restart. Oct 8 05:00:55 localhost -- MARK -- Oct 8 05:20:55 localhost -- MARK -- Oct 8 05:40:56 localhost -- MARK -- Oct 8 06:00:56 localhost -- MARK -- Oct 8 06:01:43 localhost gconfd (alt-os-4539): Exiti Oct 8 06:01:45 localhost gdm(pam_unix)[4330]: sessio Oct 8 06:01:46 localhost gdm[4143]: Master halting.. Oct 8 06:01:46 localhost logger: ACPI action lid is Oct 8 06:01:50 localhost init: Switching to runlevel Oct 8 06:02:07 localhost logger: /etc/rc.d/rc.inet1: Oct 8 06:02:08 localhost logger: /etc/rc.d/rc.inet1: Oct 8 06:02:08 localhost exiting on signal 15 lines 1-14
AICA AICA © less consente di muoversi avanti ed indietro, a destra ed a sinistra, nell'output di un programma. Se però il file è molto breve, l'utilizzo di more è piu semplice: more infatti, pur non consentendo di muoversi nell'output del programma, ha l'accortezza di uscire qual'ora il testo fosse completamente visualizzabile nel terminale: cat nomefile | less
AICA AICA © riga 1 riga 10 riga 20 riga 30 lines 1-4/4 (END)
AICA AICA © less consente di muoversi avanti ed indietro, a destra ed a sinistra, nell'output di un programma. Se però il file è molto breve, l'utilizzo di more è piu semplice: more infatti, pur non consentendo di muoversi nell'output del programma, ha l'accortezza di uscire qual'ora il testo fosse completamente visualizzabile nel terminale: cat nomefile | more riga 1 riga 10 riga 20 riga 30 cat /var/log/messages | more
AICA AICA © Oct 8 04:40:02 localhost syslogd 1.4.1: restart. Oct 8 05:00:55 localhost -- MARK -- Oct 8 05:20:55 localhost -- MARK -- Oct 8 05:40:56 localhost -- MARK -- Oct 8 06:00:56 localhost -- MARK -- Oct 8 06:01:43 localhost gconfd (alt-os-4539): Exiti Oct 8 06:01:45 localhost gdm(pam_unix)[4330]: sessio Oct 8 06:01:46 localhost gdm[4143]: Master halting.. Oct 8 06:01:46 localhost logger: ACPI action lid is Oct 8 06:01:50 localhost init: Switching to runlevel Oct 8 06:02:07 localhost logger: /etc/rc.d/rc.inet1: Oct 8 06:02:08 localhost logger: /etc/rc.d/rc.inet1: Oct 8 06:02:08 localhost exiting on signal 15 --More--
AICA AICA © Molti programmi, mettono a disposizione una pagina di manuale al fine di fornire spiegazioni sul funzionamento dello stesso. Tramite il comando man è possibile consultare questo testo, e/o eseguire delle ricerche: man grep
AICA AICA © GREP(1) NAME grep, egrep, fgrep - print lines matching a pattern SYNOPSIS grep [options] PATTERN [FILE...] grep [options] [-e PATTERN | -f FILE] [FILE...] DESCRIPTION Grep searches the named input FILEs (or standard input if no files are named, or the file name - is given) for lines containing a lines 1-25
AICA AICA © Molti programmi, mettono a disposizione una pagina di manuale al fine di fornire spiegazioni sul funzionamento dello stesso. Tramite il comando man è possibile consultare questo testo, e/o eseguire delle ricerche: man grep man -k grep
AICA AICA © Molti programmi, mettono a disposizione una pagina di manuale al fine di fornire spiegazioni sul funzionamento dello stesso. Tramite il comando man è possibile consultare questo testo, e/o eseguire delle ricerche: man grep apropos grep
AICA AICA © egrep [grep] (1) - print lines matching a p fgrep [grep] (1) - print lines matching a p grep (1) - print lines matching a p grepjar (1) - search files in a jar fi msggrep (1) - pattern matching on mess nngrep (1) - grep for news group name pcregrep (1) - a grep with Perl-compati pgrep (1) - look up or signal proces pkill [pgrep] (1) - look up or signal proces rgrep (1) - a recursive, highlightin xine-check [xine-bugreport] (1) - a checker for the zgrep (1) - search possibly compress zipgrep (1) - search files in a ZIP ar
AICA AICA © L'uso del comando TAR consente di racchiudere all'interno di un file intere cartelle, e aggiunge a ciò, la possibilità della compressione. tar -cf work.tar work/ work2/ ls -l work.tar -rw-r--r-- 1 utente users :32 work.tar
AICA AICA © Usando l'opzione -v, potremo visualizzare i file su cui tar sta lavorando: tar -cvf work.tar work/ work2/ work/work.txt work2/work2.png tar -tf work.tar work/work.txt work2/work2.png
AICA AICA © L'uso dell'opzione -z fa in modo che tar applichi una compressione GunZip al file creato. tar -czf work.tar.gz work/ work2/ ls -l work.tar.gz -rw-r--r-- 1 utente users :32 work.tar.gz tar -xzf work.tar.gz
AICA AICA © L'uso dell'opzione -z fa in modo che tar applichi una compressione GunZip al file creato. tar -czf work.tar.gz work/ work2/ ls -l work.tar.gz -rw-r--r-- 1 utente users :32 work.tar.gz tar -xzf work.tar.gz ls work/work2/work.tar.gz
AICA AICA © L'uso dell'opzione -j fa in modo che tar applichi una compressione BunZip al file creato, anzichè la compressione GunZip. tar -cjf work.tar.bz2 work/ work2/ tar -xjf work.tar.bz2