summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElena of Valhalla'' Grandi <valhalla@trueelena.org>2014-01-28 22:45:59 +0100
committerElena of Valhalla'' Grandi <valhalla@trueelena.org>2014-01-28 22:45:59 +0100
commit4fb71fee1fbe47d5932c1661af77bd581ad320cb (patch)
tree8df44c90d99a682618d790f9b9d22047d7f008ad
parent8079084d716915a202da93279a49facbcae4c330 (diff)
Riga di comando: log lezione 2
-rw-r--r--src/corsi/2014-linea_di_comando.txt2
-rw-r--r--src/corsi/2014-linea_di_comando/index.txt4
-rw-r--r--src/corsi/2014-linea_di_comando/log-lezione_2-raw.log289
-rw-r--r--src/corsi/2014-linea_di_comando/log-lezione_2.log253
4 files changed, 548 insertions, 0 deletions
diff --git a/src/corsi/2014-linea_di_comando.txt b/src/corsi/2014-linea_di_comando.txt
index 826fef1..0247d8d 100644
--- a/src/corsi/2014-linea_di_comando.txt
+++ b/src/corsi/2014-linea_di_comando.txt
@@ -70,6 +70,8 @@ grazie alla documentazione sia preinstallata (manpages) che online.
~~~~~~~~~~
* file e directory: creazione e manipolazione
+* `log della lezione 2 <2014-linea_di_comando/log-lezione_2.log>`_
+* `materiale della lezione 2 <2014-linea_di_comando/riga_di_comando-lezione_2.tar.gz>`_
4 febbraio
~~~~~~~~~~
diff --git a/src/corsi/2014-linea_di_comando/index.txt b/src/corsi/2014-linea_di_comando/index.txt
index 59ed631..84e2281 100644
--- a/src/corsi/2014-linea_di_comando/index.txt
+++ b/src/corsi/2014-linea_di_comando/index.txt
@@ -5,7 +5,11 @@
file: riga_di_comando-lezione_1.tar.gz
file: riga_di_comando-lezione_1.tar.xz
file: log-lezione_1.log
+ file: log-lezione_1-raw.log
file: riga_di_comando-lezione_2.tar.xz
+ file: remove_events_from_log.sh
+ file: log-lezione_2.log
+ file: log-lezione_2-raw.log
/restindex
uservalues
diff --git a/src/corsi/2014-linea_di_comando/log-lezione_2-raw.log b/src/corsi/2014-linea_di_comando/log-lezione_2-raw.log
new file mode 100644
index 0000000..bdbcd79
--- /dev/null
+++ b/src/corsi/2014-linea_di_comando/log-lezione_2-raw.log
@@ -0,0 +1,289 @@
+21:00 <@diego71> per tutti: ricordatevi di collegarvi a #lifo-domande -> /join #lifo-domande
+21:00 -!- Dereek [97408f29@gateway/web/freenode/ip.151.64.143.41] has joined #lifo
+21:00 <@valhalla> come la volta scorsa, ci sarà qualcuno di noi su #lifo-domande a passare di qui le domande (stasera sarà diego71) e a dare assistenza al volo se qualcuno ha problemi
+21:01 <@valhalla> oltre a diego71, sono erossi e warp10
+21:01 <@valhalla> la prima cosa da fare per la lezione di stasera sarà scaricare il materiale:
+21:02 -!- mediechions1 [~mediechio@host184-7-dynamic.40-79-r.retail.telecomitalia.it] has joined #lifo
+21:02 <@valhalla> aprite la riga di comando, andate con cd nella directory dove avete scaricato il materiale la volta scorsa
+21:02 -!- tiziano [~tiziano@host195-180-dynamic.45-79-r.retail.telecomitalia.it] has joined #lifo
+21:02 <@valhalla> con ls controllate di essere nella directory giusta, dovreste vedere ``lezione_1``
+21:03 <@valhalla> lì dentro, lanciate il comando ``wget http://www.lifolab.org/corsi/2014-linea_di_comando/riga_di_comando-lezione_2.tar.xz``
+21:03 -!- gianluca_ [54dd6636@gateway/web/freenode/ip.84.221.102.54] has joined #lifo
+21:04 <@valhalla> wget è il programma classico per scaricare file da riga di comando, nella pagina di manuale trovate millemila opzioni per fare TUTTO
+21:04 -!- turbometalskater [~turbometa@151.95.206.99] has joined #lifo
+21:04 -!- gianluca_ [54dd6636@gateway/web/freenode/ip.84.221.102.54] has quit [Client Quit]
+21:05 <@valhalla> (chiedo scusa, nel materiale il comando che ho appena scritto ha l'indirizzo sbagliato, nelle prossime lo metto a posto)
+21:06 <@valhalla> se avete scaricato il file (se non avete visto il comando per farlo, chiedete pure sul canale #lifo-domande e verrà ripetuto), proseguiamo
+21:07 <@valhalla> il file si chiama .tar.xz perché è un archivio tar compresso con xz
+21:07 <@valhalla> lo si pu`o estrarre con ``tar -x -v -f dispense_2.tar.xz``
+21:07 <@valhalla> ehm
+21:07 <@valhalla> ``tar -x -v -f riga_di_comando-lezione_2.tar.xz``
+21:07 -!- thefantaman [~thefantam@dynamic-adsl-78-14-187-93.clienti.tiscali.it] has joined #lifo
+21:08 -!- faziel [4f1813dd@gateway/web/freenode/ip.79.24.19.221] has quit [Ping timeout: 245 seconds]
+21:08 <@valhalla> -x sta per "estrai", -v per "verboso", ovvero gli si fa stampare quello che sta facendo (ed è un'opzione che quasi tutti i comandi hanno), -f è seguita dal file su cui lavorare
+21:09 <@valhalla> le versioni moderne di tar si accorgono già che il file è compresso (e in che formato) e provvedono a scompattare nel modo giusto
+21:09 <@valhalla> a questo punto potete usare ``ls`` e ci saranno due directory (``lezione_1 lezione_2`` e un file ``riga_di_comando-lezione_2.tar.xz``
+21:09 <@valhalla> entriamo nella directory della seconda lezione
+21:10 <@valhalla> ``cd lezione_2``, che possiamo scrivere premendo ``cd le[tab]2``
+21:10 <@valhalla> e iniziamo con l'argomento della serata, che è manipolare file e directory
+21:10 <@valhalla> così dopo questa serata si pu`o veramente usare la riga di comando al posto del file manager
+21:11 <@valhalla> nel frattempo: ci sono domande?
+21:11 <@diego71> < aldagaau> che differenza passa tra .tar.gz (classico) e tar.xz?
+21:12 <@valhalla> xz è un formato di compressione più recente ed un po' più efficiente
+21:12 -!- pxk [~pxk@host147-124-dynamic.56-82-r.retail.telecomitalia.it] has quit []
+21:13 <@valhalla> le alternative che si usano di solito sono .gz per la compatibilità con l'universo, .bz2 e .xz che lo sta sostituendo come potenzialmente non supportati da tutti, ma che comprimono di più
+21:13 -!- faziel [4f1813dd@gateway/web/freenode/ip.79.24.19.221] has joined #lifo
+21:13 <@valhalla> altre domande?
+21:13 <@diego71> nessuna domanda
+21:14 <@valhalla> allora, proseguiamo e creiamo una directory in cui fare le nostre prove di stasera, con ``mkdir esercizi``
+21:14 <@valhalla> se tutto va bene, non otterremo risposta, e questo è un comportamento abbastanza standard dei programmi da riga di comando
+21:14 <@valhalla> se tutto va bene, tendono ad essere silenziosi, a parlare solo se qualcosa è andato storto
+21:15 <@valhalla> per`o possiamo vedere il risultato con un bel ``ls``, e poi entrare nella directory creata con ``cd esercizi``
+21:15 <@valhalla> adesso creiamo un'altra directory ancora, ``mkdir altra_dir``
+21:15 -!- frank976 [~frank976@host55-152-dynamic.54-79-r.retail.telecomitalia.it] has joined #lifo
+21:16 -!- frank976 [~frank976@host55-152-dynamic.54-79-r.retail.telecomitalia.it] has quit [Client Quit]
+21:16 <@valhalla> ``ls`` per vedere il risultato, e poi proviamo a cancellarla
+21:16 <@valhalla> ``rmdir altra_dir/`` (sempre scrivendo rmd[tab] a[tab])
+21:16 <@valhalla> adesso proviamo a ricrearla, ma riempiendola:
+21:17 <@valhalla> ``mkdir -p altra_dir/una_dir_ancora``
+21:17 <@valhalla> ls
+21:17 -!- frank976 [~frank976@host55-152-dynamic.54-79-r.retail.telecomitalia.it] has joined #lifo
+21:17 <@valhalla> e poi ``ls altra_dir/`` e vediamo che contiene una seconda directory
+21:18 <@valhalla> se proviamo ad usare ``rmdir altra_dir/`` ci risponderà qualcosa tipo ``rmdir: failed to remove ‘altra_dir/’: Directory not empty``
+21:18 <@valhalla> questo perché rmdir rimuove le directory solo se sono vuote (il che lo rende abbastanza sicuro da usare con disinvoltura)
+21:18 <@valhalla> per poterla cancellare dovremo cancellare le due directory una per volta:
+21:19 <@valhalla> ``rmdir altra_dir/una_dir_ancora/`` e poi ``rmdir altra_dir/``
+21:19 <@valhalla> domande?
+21:19 <@diego71> < tafaRU> diego71: diff tra rm e rmdir
+21:19 <@valhalla> rmdir come dicevo cancella solo le directory e solo se sono vuote
+21:19 <@valhalla> rm lo vedremo più avanti, cancella anche i file, e cancella anche le directory piene
+21:20 <@valhalla> (usato con le opzioni giuste)
+21:20 <@valhalla> in teoria non ci sarebbe bisogno di rmdir, ma in certi casi è utile usarlo perché, come dicevo prima, è meno facile fare danni per aver scritto male
+21:21 <@valhalla> con rm se si sbaglia ad indicare la directory da cancellare, si cancella ed è andata
+21:21 <@valhalla> con rmdir non si perdono file :)
+21:21 <@valhalla> altre domande?
+21:21 <@diego71> no
+21:21 <@valhalla> passo successivo, cp serve per copiare file e directory
+21:22 -!- madi [~madi@unaffiliated/madi] has joined #lifo
+21:22 <@valhalla> ``cp ../dispensa.rst ./un_file.txt``
+21:22 <@valhalla> con questo abbiamo copiato il file dispensa.rst che c'era nella directory sopra a quella corrente (..) nella directory corrente (.) con il nome un_file.txt
+21:23 <@valhalla> possiamo vedere con ``ls`` cosa abbiamo fatto, e magari anche con ``ls -l``
+21:23 <@valhalla> usato in questo modo, cp copia solo i file, per copiare anche directory bisogna aggiungere l'opzione -r
+21:24 <@valhalla> se si danno solo due parametri come in questo caso il primo è il nome di partenza, il secondo è il nome di destinazione
+21:24 <@valhalla> se si danno più parametri, i primi sono i file da copiare, l'ultimo deve essere una directory, e tutti i file verranno copiati in quella directory (con il loro nome originale)
+21:25 <@valhalla> ad esempio, inziiamo creando un altro file con ``touch altro_file.txt``
+21:25 <@valhalla> touch è un comando che serve per dire al computer "imposta la data di ultima modifica di questo file ad "adesso", e se non esiste lo crea
+21:26 <@valhalla> è comodo per fare esempi, ma a volte lo si usa anche in casi reali
+21:26 <@valhalla> a questo punto, creiamo una directory, ``mkdir directory`` e ci copiamo più file:
+21:26 <@valhalla> ``cp un_file.txt altro_file.txt directory/``
+21:27 <@valhalla> ``ls directory/`` e vediamo che si è riempita
+21:27 <@valhalla> domande?
+21:27 -!- tafaRU [~Alex@87.253.117.217] has left #lifo []
+21:27 -!- tafaRU [~Alex@87.253.117.217] has joined #lifo
+21:27 <@diego71> turbometalskater> sry, domanda in ritardo: esiste un sistema di cestino per l'rm da shell?
+21:27 <@valhalla> no, non esiste un sistema di cestino, quello che viene cancellato viene cancellato
+21:28 <@valhalla> esiste l'opzione ``-i`` con la quale viene chiesta conferma file per file, ma la vediamo dopo
+21:28 <@valhalla> diego71: altre domande?
+21:28 -!- rasalgethi [~quassel@host184-236-dynamic.45-79-r.retail.telecomitalia.it] has quit [Quit: http://quassel-irc.org - Chatta con comodo. Ovunque.]
+21:29 <@valhalla> ok, prosegui
+21:29 <@valhalla> proseguo
+21:30 <@valhalla> a questo punto, possiamo creare un altro file nel modo "classico" in cui si creano: aprendolo con un programma
+21:30 -!- taumaturgo [5d93b50d@gateway/web/freenode/ip.93.147.181.13] has joined #lifo
+21:30 <@valhalla> ``nano terzo_file.txt``, possiamo scriverci qualcosa a caso
+21:31 <@valhalla> e poi premere ctrl-x per uscire (lo dice nell'help in basso a sinistra)
+21:31 <@valhalla> ``ls`` e vediamo che è apparso
+21:31 <@valhalla> ``less terzo_file.txt`` e possiamo controllare che contiene effettivamente quello che ci abbiamo scritto
+21:31 <@valhalla> (q per uscire da less, come già detto la volta scorsa)
+21:32 <@valhalla> diego71: domande?
+21:32 <@diego71> < Fra_Supercar83> possibile ordinare in un preciso ordine l'output del comando 'ls'?
+21:32 <@valhalla> sì, è possibile
+21:32 <@valhalla> con ``man ls`` si trovano le opzioni per ordinare in base a vari criteri
+21:33 <@valhalla> ad esempio, ``-t`` ordina per data (di solito lo si usa assieme a ``-l`` in modo da vedere anche la data in questione)
+21:33 <@valhalla> oppure ``-S`` per ordinare per dimensioni (anche qui, di solito usato assieme a ``-l`` e ``-h``)
+21:34 <@valhalla> con ``-r`` si inverte l'ordine, in entrambi i casi
+21:34 <@valhalla> un classico è ``ls -lrt`` per vedere in fondo qual'è il file pi`u recente
+21:35 <@valhalla> (con ls ed altri comandi le opzioni da un carattere solo possono essere riassunte con un ``-`` solo)
+21:35 <@valhalla> anche ricordato come ``ls -lart`` :)
+21:35 <@valhalla> (-a stampa anche i file nascosti)
+21:35 <@valhalla> altre domande?
+21:36 <@valhalla> (ah, e l'altro classico è ls -lrSh per scoprire quali sono i file grossi che occupano spazio da cancellare)
+21:36 <@valhalla> ok, proseguiamo con rm
+21:37 <@valhalla> rm, come dicevo prima, cancella i file senza pietà
+21:37 <@valhalla> quindi fate *molta* attenzione a quello che scrivete :)
+21:37 <@valhalla> per prudenza, mettiamo sempre l'opzione ``-i``, che così si deve dare conferma
+21:37 <@valhalla> inziiamo da ``rm -i un_file.txt``
+21:38 <@valhalla> quando chiede se cancellare il file, premiamo y (se il sistema è in inglese) o s (se è in italiano) e diamo invio
+21:38 <@valhalla> dopo aver controllato che stia cancellando il file giusto
+21:39 <@valhalla> (y dovrebbe funzionare sempre, anche con il sistema in italiano, comunque)
+21:39 <@valhalla> adesso proviamo ``rm -i directory/``
+21:40 <@valhalla> e rm ci risponderà che non pu`o farlo, perché directory è una directory
+21:40 <@valhalla> per poter cancellare le directory bisogna usare l'opzione -r, ovvero "ricorsivo", che prima cancella i contenuti e poi i contenitori
+21:40 <@valhalla> ``rm -r -i directory``
+21:41 <@valhalla> (e avendo usato -i ci chieder`a conferma per ogni singolo file e directory che viene cancellata
+21:41 <@valhalla> diego71: domande?
+21:41 <@valhalla> ok, proseguamo
+21:41 <@diego71> no
+21:41 -!- paolettopn [~paolo@unaffiliated/paolettopn] has joined #lifo
+21:42 <@valhalla> con ``ls -l`` vediamo che all'inizio c'`e una successine di caratteri tipo ``-rw-r--r--``
+21:42 -!- paolettopn [~paolo@unaffiliated/paolettopn] has left #lifo []
+21:43 <@valhalla> quelli sono i permessi dei file: il primo carattere indica il tipo (- per un file, d per una directory) e quelli successivi indicano i permessi di lettura, scrittura ed esecuzione per il proprietario del file, il gruppo a cui apparteiene il file e per tutti gli altri
+21:43 <@valhalla> i permessi sono una cosa gestibile anche da interfaccia grafica, se qualcuno non li conosce ditemelo che ne parlo a fine lezione
+21:43 <@valhalla> per modificarli da riga di comando, si usa il comando chmod
+21:44 <@valhalla> che prende le opzioni in modo un po' diverso dal solito:
+21:44 <@valhalla> innanzitutto gli si pu`o dare la somma dei permessi che si vogliono dare al file: ovvero
+21:45 <@valhalla> esecuzione vale 1, scrittura vale 2, lettura vale 4
+21:45 <@valhalla> per dare il permesso di scrittura e lettura si usa 6
+21:45 <@valhalla> lettura ed esecuzione 5
+21:45 <@valhalla> lettura, scrittura ed esecuzione7
+21:45 <@valhalla> e si devono scrivere i permessi per tutti e tre le categorie
+21:45 <@valhalla> quindi ad esempio:
+21:46 <@valhalla> ``chmod 666 altro_file.txt`` da i permessi di lettura e scrittura a tutti
+21:46 <@valhalla> ``chmod 644 altro_file.txt`` da i permessi di lettura e scrittura al proprietario, ma gli altri possono solo leggere
+21:47 <@valhalla> ``chmod 755 altro_file.txt`` da il permesso di lettura, scrittura ed esecuzione al proprietario, lettura ed esecuzione a tutti (è un permesso classico per i programmi
+21:47 <@valhalla> dopo aver dato quei comandi, potete usare ls -l per veder cambiare i permessi
+21:47 <@valhalla> domande?
+21:48 <@diego71> < stefano_> se non è ot puoi spiegare umask e come si usa?
+21:48 <@valhalla> umask serve per impostare i permessi di default con il quale vengono creati i file
+21:48 <@valhalla> ma spiegare come si usa è un po' troppo per questa lezione
+21:49 <@valhalla> (anche perché richiede di fare un po' di conti in base 8)
+21:49 <@valhalla> altre domande?
+21:49 -!- popi [5230eb0f@gateway/web/freenode/ip.82.48.235.15] has joined #lifo
+21:50 <@diego71> < aldagaau> mi è apparso altro_file.txt* (con asterisco) perché?
+21:50 <@valhalla> l'asterisco sta ad indicare che quel file è un eseguibile (ovvero, ha i permessi di esecuzione)
+21:50 -!- Delfino1983 is now known as Delfino1983_0u7
+21:50 <@valhalla> se si ha la riga di comando a colori è possibile che non ci sia quell'asterisco, ma ad esempio che il file sia evidenziato il verde
+21:50 <@valhalla> (o in qualche altro colore a seconda delle impostazioni)
+21:51 -!- Delfino1983_0u7 is now known as Delfino1983_Rai3
+21:51 <@diego71> < erio> il nome file è diventatodi colore verde, anche questo perchè è eseguibile?
+21:51 <@valhalla> esatto :)
+21:51 <@diego71> < aldagaau> però il mio vicino di pc ce l'ha verde come me ma senza asterisco. Creato assieme e con stessi permessi
+21:52 <@valhalla> sì, dipende dalle impostazioni della shell (che possono cambiare a seconda della distribuzione)
+21:52 <@valhalla> sono varianti che si trovano in giro
+21:52 <@valhalla> sempre per evidenziare il fatto che il file sia eseguibile
+21:53 <@valhalla> in modo che lo si veda ad occhio anche usando ``ls`` senza l'opzione ``-l``
+21:53 <@valhalla> se si è su una shell diversa dal solito, si può usare ``ls -l`` e poi ``ls`` su qualche file per vedere cosa fa
+21:53 <@valhalla> altre domande?
+21:54 <@diego71> < tiziano> si può usare chmod indicando i permessi in formato "-rw-r--r--"
+21:54 -!- Ringmeister84 [~Ringmeist@ppp-222-99.21-151.libero.it] has joined #lifo
+21:54 <@valhalla> purtroppo no, ma c'è un altro formato
+21:55 <@valhalla> usando una delle lettere u per utente, g per gruppo, o per other oppure a per all (tutti assieme) seguito da un + o un - e dal permesso che si mette o toglie rispettivamente
+21:55 <@valhalla> ad esempio ``chmod a-x altro_file.txt`` toglie a tutti il permesso di esecuzione
+21:56 <@valhalla> mentre ``chmod g+w`` da il permesso di scrittura al gruppo
+21:56 <@valhalla> o ``chmod o-r altro_file.txt`` toglie il permesso di lettura agli altri (ovvero chi non è nel gruppo ne' è il proprietairo)
+21:56 <@valhalla> altre domande?
+21:57 <@diego71> < erio> se do chmod 744 mi esce : -rwxr--r-- 1, non manca il gruppo o gli altri ?
+21:57 <@valhalla> no, ci sono il proprietario "rwx", il gruppo "r--" e gli altri "r--"
+21:58 <@valhalla> diego71: altre domande?
+21:58 <@valhalla> ok, proseguiamo
+21:58 <@diego71> no
+21:59 <@valhalla> altri comandi utili per sostituire il file manager con la shell: per sapere lo spazio su disco occupato dai file
+21:59 <@valhalla> con ``ls -l`` si ha solo la dimensione dei file, non delle directory
+21:59 <@valhalla> (o meglio, si ha lo spazio occupato dalla directory stessa, non dai file che contiene)
+21:59 <@valhalla> ``cd ..` per tornare alla directory sopra
+22:00 <@valhalla> ``ls -l -h`` ci darà un paio di file da 1.pochi K e la directory esercizi da 4.0K (probabilmente)
+22:00 <@valhalla> c'è il comando du che invece calcola le dimensioni dei file contenuti
+22:01 <@valhalla> ``du -h .`` calcola le dimensioni di tutti i contenuti delle directory corrente e delle sue sottodirectory
+22:01 <@valhalla> mentre ``du -s -h .`` calcola solo il riassunto finale della directory che gli è stata indicata esplicitamente
+22:02 <@valhalla> soprattutto con file piccoli, il risultato potrebbe essere "sorprendente"
+22:03 <@valhalla> come la directory esercizi che nel mio caso contiene un file da 0 byte ed uno da 17 byte, ma le dimensioni totali sono di 8.0K
+22:03 <@valhalla> dipende dalla struttura del filesystem, ed è argomento decisamente OT
+22:03 <@valhalla> ma in generale, se state cercando cose grosse da cancellare perché avete finito lo spazio, du da la risposta giusta :)
+22:04 <@valhalla> altro comando per conoscere spazio occupato: ``df`` dice quanto spazio libero/occupato c'è su una partizione
+22:04 <@valhalla> ``df -h`` e basta su tutte le partizioni montate
+22:04 <@valhalla> ``df -h <directory>`` solo sulla partizione che contiene quella directroy
+22:04 <@valhalla> diego71: domande?
+22:05 <@diego71> < tiziano> esiste un comando per vedere quanti file ci sono nelle directory?
+22:05 <@valhalla> non c'è un comando diretto che lo faccia, ma lo si ottiene combinando due comandi come vedremo nella prossima lezione :)
+22:06 <@diego71> <MrPan> esiste un parametro del comando du (o altro) che permetta di vedere la grandezza di un singolo file contenuto in una directory o sub
+22:06 <@valhalla> per vedere la grandezza del singolo file si pu`o usare ls
+22:07 <@valhalla> ad esempio ls -l -h ``esercizi/terzo_file.txt``
+22:08 <@valhalla> se si usa ``du esercizi/terzo_file.txt`` si ottiene lo spazio occupato da quel file sul disco
+22:09 <@valhalla> oppure per vederli tutti ``du -a`` che entra anche nelle sottodirectory e fa vedere tutti i file
+22:09 <@valhalla> diego71: altre domande?
+22:09 <@diego71> no
+22:11 <@valhalla> ls
+22:11 <@valhalla> ehm, sorry :)
+22:11 <@valhalla> abbiamo iniziato la serata scompattando un file con tar
+22:12 <@valhalla> adesso concludiamola creando una tarball :)
+22:12 <@valhalla> (tarball = archivio tar)
+22:12 <@valhalla> ``tar -c -v -f esercizi.tar esercizi/`` permette di creare una tarball, non compressa
+22:13 <@valhalla> che contiene una directory (esercizi) e tutti i suoi contenuti
+22:13 <@valhalla> ma di solito la si vuole anche comprimere, quindi o si usa l'opzione ``-z`` per comprimere con gzip, oppure ``-J`` per comprimere con xz
+22:13 <@valhalla> quindi tar -c -J -v -f esercizi.tar.xz esercizi/
+22:13 <@valhalla> adesso possiamo vedere i contenuti con l'opzione ``-t`` (senza scompattarla)
+22:14 <@valhalla> ``tar -t esercizi.tar``
+22:14 <@valhalla> oppure ``tar -t esercizi.tar.xz``
+22:14 <@valhalla> in automatico tar si accorge se deve scompattare con qualche formato
+22:14 <@valhalla> ls
+22:14 <@valhalla> ehm, di nuovo...
+22:14 <@valhalla> diego71: domande?
+22:15 <@diego71> < polva> nel caso di du -a il numero che è espresso accanto al file cosa sono? Kb? sono tutti multipli di 4
+22:15 <@valhalla> sì, lo sono (e sono multipli di 4K perché la maggior parte dei filesystem usati comunemente ha quello come block size)
+22:16 <@valhalla> (quindi un file anche pi`u piccolo occupa comunque 4K)
+22:16 <@valhalla> è un default specifico di du, perché ad esempio ls di default usa i byte
+22:16 <@valhalla> altre domande?
+22:16 <@diego71> < tafaRU> diego71: tar -t esercizi.tar mi dovrebbe mostrare il contenuto?
+22:17 -!- albertux [~Icedove@dynamic-adsl-78-14-226-141.clienti.tiscali.it] has quit [Quit: Alla prossima...]
+22:17 <@valhalla> manca la -f per specificare su che file deve lavorare
+22:17 <@valhalla> ``tar -t -f esercizi.tar``
+22:18 -!- kyoshoevolva [~kyoshoevo@net-93-145-188-122.cust.dsl.teletu.it] has quit [Quit: Sto andando via]
+22:18 <@valhalla> (i parametri per tar indicano file da aggiungere o da trovare nell'archivio, a seconda di quello che sta facendo)
+22:18 <@valhalla> (il nome della tarball si da con -f)
+22:18 <@valhalla> diego71: altre domande?
+22:19 <@valhalla> sorry, ho visto che ho sbagliato io a scriverlo sopra, se vi rimane bloccato usate ctrl-c per chiudere
+22:19 <@valhalla> altre domande?
+22:19 <@diego71> < tiziano> scrivere tar -t esercizi.tar.xz oppure tar -tesercizi.tar.xz (senza spazio) è indifferente?
+22:19 -!- Delfino1983_Rai3 is now known as Delfino1983
+22:20 <@valhalla> in teoria, sì, si può anche scrivere ``tar -tfesercizi.tar.xz`` (con la f)
+22:20 <@valhalla> in pratica, non tutti i comandi accettano queste cose
+22:20 <@valhalla> e in generale è illeggibile e facile a causare errori
+22:20 <@valhalla> quindi meglio evitare :)
+22:21 <@valhalla> altre domande?
+22:21 <@diego71> < Fra_Supercar83> Non ho ben capito l'opzione '-f' nel comando 'tar'
+22:21 <@valhalla> tar si aspetta due cose su cui lavorare:
+22:22 <@valhalla> una tarball e dei file
+22:22 <@valhalla> la tarball si indica con -f
+22:22 <@valhalla> tutto il resto sono considerati dei file
+22:22 -!- malo [~malo@217.203.139.21] has quit [Quit: Sto andando via]
+22:22 <@valhalla> se si sta creando la tarball, sono i file da aggiungere alla stessa
+22:22 <@valhalla> (file e directory, in modo ricorsivo)
+22:23 <@valhalla> se si sta estraendo, si possono estrarre solo alcuni dei file contenuti, e li si indica sempre in quel modo
+22:23 -!- Ringmeister84 [~Ringmeist@ppp-222-99.21-151.libero.it] has quit [Ping timeout: 264 seconds]
+22:24 <@valhalla> ad esempio ``tar -t -f esercizi.tar esercizi/altro_file.txt`` elenca solo il file esercizi/altro_file.txt (se presente nella tarball) e non tutti gli altri contenuti
+22:24 <@valhalla> (e con (``-x`` al posto di ``-t`` lo estrae))
+22:24 <@diego71> < gioque> per estrarre un file tar in una directory specifica?
+22:25 <@valhalla> il modo pi`u semplice è usare cd per spostarsi in quella directory
+22:25 <@valhalla> c'è un opzione per farlo, ma è molto pi`u facile sbagliare, meglio usare cd
+22:25 <@valhalla> diego71: prossima domanda?
+22:25 -!- DD3my [~DD3my@unaffiliated/dd3my] has quit [Quit: Sto andando via]
+22:25 <@diego71> < stefano_> per aggiungere un file all'archivio creato si fa con -A? come?
+22:26 <@valhalla> in teoria sì, si usa -A
+22:26 -!- Letozaf_ [~Letozaf@95.236.254.248] has joined #lifo
+22:26 <@valhalla> sinceramente non so se funzioni con i file compressi
+22:27 <@valhalla> perché ad essere compresso è il tar finale, per cui per concatenare dovrebbe scomprimere, concatenare e ricomprimere, e non so se lo faccia
+22:27 <@valhalla> andrebbe provato
+22:27 <@valhalla> altre domande?
+22:28 -!- giocat [~giocat@host22-119-dynamic.5-87-r.retail.telecomitalia.it] has quit [Quit: Sto andando via]
+22:28 <@valhalla> ecco, vedo che erossi ci ha provato
+22:28 <@valhalla> < erossi> tar: Cannot concatenate compressed archives
+22:28 <@valhalla> non funziona con gli archivi compressi
+22:29 <@valhalla> si deve scomprimere l'archivio, aggiungere il file, ricomprimerlo
+22:29 -!- mediechions1 [~mediechio@host184-7-dynamic.40-79-r.retail.telecomitalia.it] has left #lifo []
+22:29 <@valhalla> se non ci sono altre domande direi che si pu`o finire prima che io scriva un'altro ls nella finestra sbagliata :)
+22:30 <@valhalla> < erio> ho provato : tar -xf esercizi.tar altro_file.txt e mi dà "tar: altro_file.txt: non trovato nell'archivio
+22:31 -!- depaolim [~depaolim@host68-237-dynamic.6-79-r.retail.telecomitalia.it] has quit [Quit: Leaving]
+22:31 <@valhalla> dando ``tar -t -f esercizi.tar`` dovreste trovare che quella tarball non contiene il file altro_file.txt, ma il file esercizi/altro_file.txt
+22:31 -!- Letozaf_ [~Letozaf@95.236.254.248] has left #lifo []
+22:31 <@valhalla> ovvero, tar vuole tutto il path con cui quel file è indicato nella tarball, non basta solo il nome del file
+22:32 <@valhalla> quindi per estrarre quel file dovrete dare ``tar -xf esercizi.tar esercizi/altro_file.txt`` e verrà estratto nella directory esercizi
+22:32 <@valhalla> ad esempio, ``mkdir altra_dir``, ``cd altra_dir`` e poi ``tar -xf ../esercizi.tar esercizi/altro_file.txt`` e potete vedere il risultato
+22:32 <@valhalla> diego71: altre domande?
+22:32 -!- MrPan [~marcopani@cable-78-34-86-86.netcologne.de] has left #lifo []
+22:33 <@diego71> sembra di no
+22:34 <@valhalla> ok, ricordo a chi è arrivato tardi:
+22:34 <@valhalla> abbiamo un account su friendica (social network distribuito) i cui post vengono riportati anche su identica (idem)
+22:34 <@valhalla> se volete ricevere un avviso/promemoria per la prossima lezione potete seguire quegli account
+22:34 <@valhalla> http://social.gl-como.it/profile/lifo ---> su friendica
+22:35 <@valhalla> https://identi.ca/lifo ---> su identica
+22:35 <@valhalla> http://social.gl-como.it/dfrn_poll/lifo ---> feed rss dell'account su friendica, se non siete iscritti a quei social network
+22:35 <@valhalla> detto questo, chiudo la lezione e mi metto a preparare il log da pubblicare
diff --git a/src/corsi/2014-linea_di_comando/log-lezione_2.log b/src/corsi/2014-linea_di_comando/log-lezione_2.log
new file mode 100644
index 0000000..0312e42
--- /dev/null
+++ b/src/corsi/2014-linea_di_comando/log-lezione_2.log
@@ -0,0 +1,253 @@
+21:00 <@diego71> per tutti: ricordatevi di collegarvi a #lifo-domande -> /join #lifo-domande
+21:00 <@valhalla> come la volta scorsa, ci sarà qualcuno di noi su #lifo-domande a passare di qui le domande (stasera sarà diego71) e a dare assistenza al volo se qualcuno ha problemi
+21:01 <@valhalla> oltre a diego71, sono erossi e warp10
+21:01 <@valhalla> la prima cosa da fare per la lezione di stasera sarà scaricare il materiale:
+21:02 <@valhalla> aprite la riga di comando, andate con cd nella directory dove avete scaricato il materiale la volta scorsa
+21:02 <@valhalla> con ls controllate di essere nella directory giusta, dovreste vedere ``lezione_1``
+21:03 <@valhalla> lì dentro, lanciate il comando ``wget http://www.lifolab.org/corsi/2014-linea_di_comando/riga_di_comando-lezione_2.tar.xz``
+21:04 <@valhalla> wget è il programma classico per scaricare file da riga di comando, nella pagina di manuale trovate millemila opzioni per fare TUTTO
+21:05 <@valhalla> (chiedo scusa, nel materiale il comando che ho appena scritto ha l'indirizzo sbagliato, nelle prossime lo metto a posto)
+21:06 <@valhalla> se avete scaricato il file (se non avete visto il comando per farlo, chiedete pure sul canale #lifo-domande e verrà ripetuto), proseguiamo
+21:07 <@valhalla> il file si chiama .tar.xz perché è un archivio tar compresso con xz
+21:07 <@valhalla> lo si pu`o estrarre con ``tar -x -v -f dispense_2.tar.xz``
+21:07 <@valhalla> ehm
+21:07 <@valhalla> ``tar -x -v -f riga_di_comando-lezione_2.tar.xz``
+21:08 <@valhalla> -x sta per "estrai", -v per "verboso", ovvero gli si fa stampare quello che sta facendo (ed è un'opzione che quasi tutti i comandi hanno), -f è seguita dal file su cui lavorare
+21:09 <@valhalla> le versioni moderne di tar si accorgono già che il file è compresso (e in che formato) e provvedono a scompattare nel modo giusto
+21:09 <@valhalla> a questo punto potete usare ``ls`` e ci saranno due directory (``lezione_1 lezione_2`` e un file ``riga_di_comando-lezione_2.tar.xz``
+21:09 <@valhalla> entriamo nella directory della seconda lezione
+21:10 <@valhalla> ``cd lezione_2``, che possiamo scrivere premendo ``cd le[tab]2``
+21:10 <@valhalla> e iniziamo con l'argomento della serata, che è manipolare file e directory
+21:10 <@valhalla> così dopo questa serata si pu`o veramente usare la riga di comando al posto del file manager
+21:11 <@valhalla> nel frattempo: ci sono domande?
+21:11 <@diego71> < aldagaau> che differenza passa tra .tar.gz (classico) e tar.xz?
+21:12 <@valhalla> xz è un formato di compressione più recente ed un po' più efficiente
+21:13 <@valhalla> le alternative che si usano di solito sono .gz per la compatibilità con l'universo, .bz2 e .xz che lo sta sostituendo come potenzialmente non supportati da tutti, ma che comprimono di più
+21:13 <@valhalla> altre domande?
+21:13 <@diego71> nessuna domanda
+21:14 <@valhalla> allora, proseguiamo e creiamo una directory in cui fare le nostre prove di stasera, con ``mkdir esercizi``
+21:14 <@valhalla> se tutto va bene, non otterremo risposta, e questo è un comportamento abbastanza standard dei programmi da riga di comando
+21:14 <@valhalla> se tutto va bene, tendono ad essere silenziosi, a parlare solo se qualcosa è andato storto
+21:15 <@valhalla> per`o possiamo vedere il risultato con un bel ``ls``, e poi entrare nella directory creata con ``cd esercizi``
+21:15 <@valhalla> adesso creiamo un'altra directory ancora, ``mkdir altra_dir``
+21:16 <@valhalla> ``ls`` per vedere il risultato, e poi proviamo a cancellarla
+21:16 <@valhalla> ``rmdir altra_dir/`` (sempre scrivendo rmd[tab] a[tab])
+21:16 <@valhalla> adesso proviamo a ricrearla, ma riempiendola:
+21:17 <@valhalla> ``mkdir -p altra_dir/una_dir_ancora``
+21:17 <@valhalla> ls
+21:17 <@valhalla> e poi ``ls altra_dir/`` e vediamo che contiene una seconda directory
+21:18 <@valhalla> se proviamo ad usare ``rmdir altra_dir/`` ci risponderà qualcosa tipo ``rmdir: failed to remove ‘altra_dir/’: Directory not empty``
+21:18 <@valhalla> questo perché rmdir rimuove le directory solo se sono vuote (il che lo rende abbastanza sicuro da usare con disinvoltura)
+21:18 <@valhalla> per poterla cancellare dovremo cancellare le due directory una per volta:
+21:19 <@valhalla> ``rmdir altra_dir/una_dir_ancora/`` e poi ``rmdir altra_dir/``
+21:19 <@valhalla> domande?
+21:19 <@diego71> < tafaRU> diego71: diff tra rm e rmdir
+21:19 <@valhalla> rmdir come dicevo cancella solo le directory e solo se sono vuote
+21:19 <@valhalla> rm lo vedremo più avanti, cancella anche i file, e cancella anche le directory piene
+21:20 <@valhalla> (usato con le opzioni giuste)
+21:20 <@valhalla> in teoria non ci sarebbe bisogno di rmdir, ma in certi casi è utile usarlo perché, come dicevo prima, è meno facile fare danni per aver scritto male
+21:21 <@valhalla> con rm se si sbaglia ad indicare la directory da cancellare, si cancella ed è andata
+21:21 <@valhalla> con rmdir non si perdono file :)
+21:21 <@valhalla> altre domande?
+21:21 <@diego71> no
+21:21 <@valhalla> passo successivo, cp serve per copiare file e directory
+21:22 <@valhalla> ``cp ../dispensa.rst ./un_file.txt``
+21:22 <@valhalla> con questo abbiamo copiato il file dispensa.rst che c'era nella directory sopra a quella corrente (..) nella directory corrente (.) con il nome un_file.txt
+21:23 <@valhalla> possiamo vedere con ``ls`` cosa abbiamo fatto, e magari anche con ``ls -l``
+21:23 <@valhalla> usato in questo modo, cp copia solo i file, per copiare anche directory bisogna aggiungere l'opzione -r
+21:24 <@valhalla> se si danno solo due parametri come in questo caso il primo è il nome di partenza, il secondo è il nome di destinazione
+21:24 <@valhalla> se si danno più parametri, i primi sono i file da copiare, l'ultimo deve essere una directory, e tutti i file verranno copiati in quella directory (con il loro nome originale)
+21:25 <@valhalla> ad esempio, inziiamo creando un altro file con ``touch altro_file.txt``
+21:25 <@valhalla> touch è un comando che serve per dire al computer "imposta la data di ultima modifica di questo file ad "adesso", e se non esiste lo crea
+21:26 <@valhalla> è comodo per fare esempi, ma a volte lo si usa anche in casi reali
+21:26 <@valhalla> a questo punto, creiamo una directory, ``mkdir directory`` e ci copiamo più file:
+21:26 <@valhalla> ``cp un_file.txt altro_file.txt directory/``
+21:27 <@valhalla> ``ls directory/`` e vediamo che si è riempita
+21:27 <@valhalla> domande?
+21:27 <@diego71> turbometalskater> sry, domanda in ritardo: esiste un sistema di cestino per l'rm da shell?
+21:27 <@valhalla> no, non esiste un sistema di cestino, quello che viene cancellato viene cancellato
+21:28 <@valhalla> esiste l'opzione ``-i`` con la quale viene chiesta conferma file per file, ma la vediamo dopo
+21:28 <@valhalla> diego71: altre domande?
+21:29 <@valhalla> ok, prosegui
+21:29 <@valhalla> proseguo
+21:30 <@valhalla> a questo punto, possiamo creare un altro file nel modo "classico" in cui si creano: aprendolo con un programma
+21:30 <@valhalla> ``nano terzo_file.txt``, possiamo scriverci qualcosa a caso
+21:31 <@valhalla> e poi premere ctrl-x per uscire (lo dice nell'help in basso a sinistra)
+21:31 <@valhalla> ``ls`` e vediamo che è apparso
+21:31 <@valhalla> ``less terzo_file.txt`` e possiamo controllare che contiene effettivamente quello che ci abbiamo scritto
+21:31 <@valhalla> (q per uscire da less, come già detto la volta scorsa)
+21:32 <@valhalla> diego71: domande?
+21:32 <@diego71> < Fra_Supercar83> possibile ordinare in un preciso ordine l'output del comando 'ls'?
+21:32 <@valhalla> sì, è possibile
+21:32 <@valhalla> con ``man ls`` si trovano le opzioni per ordinare in base a vari criteri
+21:33 <@valhalla> ad esempio, ``-t`` ordina per data (di solito lo si usa assieme a ``-l`` in modo da vedere anche la data in questione)
+21:33 <@valhalla> oppure ``-S`` per ordinare per dimensioni (anche qui, di solito usato assieme a ``-l`` e ``-h``)
+21:34 <@valhalla> con ``-r`` si inverte l'ordine, in entrambi i casi
+21:34 <@valhalla> un classico è ``ls -lrt`` per vedere in fondo qual'è il file pi`u recente
+21:35 <@valhalla> (con ls ed altri comandi le opzioni da un carattere solo possono essere riassunte con un ``-`` solo)
+21:35 <@valhalla> anche ricordato come ``ls -lart`` :)
+21:35 <@valhalla> (-a stampa anche i file nascosti)
+21:35 <@valhalla> altre domande?
+21:36 <@valhalla> (ah, e l'altro classico è ls -lrSh per scoprire quali sono i file grossi che occupano spazio da cancellare)
+21:36 <@valhalla> ok, proseguiamo con rm
+21:37 <@valhalla> rm, come dicevo prima, cancella i file senza pietà
+21:37 <@valhalla> quindi fate *molta* attenzione a quello che scrivete :)
+21:37 <@valhalla> per prudenza, mettiamo sempre l'opzione ``-i``, che così si deve dare conferma
+21:37 <@valhalla> inziiamo da ``rm -i un_file.txt``
+21:38 <@valhalla> quando chiede se cancellare il file, premiamo y (se il sistema è in inglese) o s (se è in italiano) e diamo invio
+21:38 <@valhalla> dopo aver controllato che stia cancellando il file giusto
+21:39 <@valhalla> (y dovrebbe funzionare sempre, anche con il sistema in italiano, comunque)
+21:39 <@valhalla> adesso proviamo ``rm -i directory/``
+21:40 <@valhalla> e rm ci risponderà che non pu`o farlo, perché directory è una directory
+21:40 <@valhalla> per poter cancellare le directory bisogna usare l'opzione -r, ovvero "ricorsivo", che prima cancella i contenuti e poi i contenitori
+21:40 <@valhalla> ``rm -r -i directory``
+21:41 <@valhalla> (e avendo usato -i ci chieder`a conferma per ogni singolo file e directory che viene cancellata
+21:41 <@valhalla> diego71: domande?
+21:41 <@valhalla> ok, proseguamo
+21:41 <@diego71> no
+21:42 <@valhalla> con ``ls -l`` vediamo che all'inizio c'`e una successine di caratteri tipo ``-rw-r--r--``
+21:43 <@valhalla> quelli sono i permessi dei file: il primo carattere indica il tipo (- per un file, d per una directory) e quelli successivi indicano i permessi di lettura, scrittura ed esecuzione per il proprietario del file, il gruppo a cui apparteiene il file e per tutti gli altri
+21:43 <@valhalla> i permessi sono una cosa gestibile anche da interfaccia grafica, se qualcuno non li conosce ditemelo che ne parlo a fine lezione
+21:43 <@valhalla> per modificarli da riga di comando, si usa il comando chmod
+21:44 <@valhalla> che prende le opzioni in modo un po' diverso dal solito:
+21:44 <@valhalla> innanzitutto gli si pu`o dare la somma dei permessi che si vogliono dare al file: ovvero
+21:45 <@valhalla> esecuzione vale 1, scrittura vale 2, lettura vale 4
+21:45 <@valhalla> per dare il permesso di scrittura e lettura si usa 6
+21:45 <@valhalla> lettura ed esecuzione 5
+21:45 <@valhalla> lettura, scrittura ed esecuzione7
+21:45 <@valhalla> e si devono scrivere i permessi per tutti e tre le categorie
+21:45 <@valhalla> quindi ad esempio:
+21:46 <@valhalla> ``chmod 666 altro_file.txt`` da i permessi di lettura e scrittura a tutti
+21:46 <@valhalla> ``chmod 644 altro_file.txt`` da i permessi di lettura e scrittura al proprietario, ma gli altri possono solo leggere
+21:47 <@valhalla> ``chmod 755 altro_file.txt`` da il permesso di lettura, scrittura ed esecuzione al proprietario, lettura ed esecuzione a tutti (è un permesso classico per i programmi
+21:47 <@valhalla> dopo aver dato quei comandi, potete usare ls -l per veder cambiare i permessi
+21:47 <@valhalla> domande?
+21:48 <@diego71> < stefano_> se non è ot puoi spiegare umask e come si usa?
+21:48 <@valhalla> umask serve per impostare i permessi di default con il quale vengono creati i file
+21:48 <@valhalla> ma spiegare come si usa è un po' troppo per questa lezione
+21:49 <@valhalla> (anche perché richiede di fare un po' di conti in base 8)
+21:49 <@valhalla> altre domande?
+21:50 <@diego71> < aldagaau> mi è apparso altro_file.txt* (con asterisco) perché?
+21:50 <@valhalla> l'asterisco sta ad indicare che quel file è un eseguibile (ovvero, ha i permessi di esecuzione)
+21:50 <@valhalla> se si ha la riga di comando a colori è possibile che non ci sia quell'asterisco, ma ad esempio che il file sia evidenziato il verde
+21:50 <@valhalla> (o in qualche altro colore a seconda delle impostazioni)
+21:51 <@diego71> < erio> il nome file è diventatodi colore verde, anche questo perchè è eseguibile?
+21:51 <@valhalla> esatto :)
+21:51 <@diego71> < aldagaau> però il mio vicino di pc ce l'ha verde come me ma senza asterisco. Creato assieme e con stessi permessi
+21:52 <@valhalla> sì, dipende dalle impostazioni della shell (che possono cambiare a seconda della distribuzione)
+21:52 <@valhalla> sono varianti che si trovano in giro
+21:52 <@valhalla> sempre per evidenziare il fatto che il file sia eseguibile
+21:53 <@valhalla> in modo che lo si veda ad occhio anche usando ``ls`` senza l'opzione ``-l``
+21:53 <@valhalla> se si è su una shell diversa dal solito, si può usare ``ls -l`` e poi ``ls`` su qualche file per vedere cosa fa
+21:53 <@valhalla> altre domande?
+21:54 <@diego71> < tiziano> si può usare chmod indicando i permessi in formato "-rw-r--r--"
+21:54 <@valhalla> purtroppo no, ma c'è un altro formato
+21:55 <@valhalla> usando una delle lettere u per utente, g per gruppo, o per other oppure a per all (tutti assieme) seguito da un + o un - e dal permesso che si mette o toglie rispettivamente
+21:55 <@valhalla> ad esempio ``chmod a-x altro_file.txt`` toglie a tutti il permesso di esecuzione
+21:56 <@valhalla> mentre ``chmod g+w`` da il permesso di scrittura al gruppo
+21:56 <@valhalla> o ``chmod o-r altro_file.txt`` toglie il permesso di lettura agli altri (ovvero chi non è nel gruppo ne' è il proprietairo)
+21:56 <@valhalla> altre domande?
+21:57 <@diego71> < erio> se do chmod 744 mi esce : -rwxr--r-- 1, non manca il gruppo o gli altri ?
+21:57 <@valhalla> no, ci sono il proprietario "rwx", il gruppo "r--" e gli altri "r--"
+21:58 <@valhalla> diego71: altre domande?
+21:58 <@valhalla> ok, proseguiamo
+21:58 <@diego71> no
+21:59 <@valhalla> altri comandi utili per sostituire il file manager con la shell: per sapere lo spazio su disco occupato dai file
+21:59 <@valhalla> con ``ls -l`` si ha solo la dimensione dei file, non delle directory
+21:59 <@valhalla> (o meglio, si ha lo spazio occupato dalla directory stessa, non dai file che contiene)
+21:59 <@valhalla> ``cd ..` per tornare alla directory sopra
+22:00 <@valhalla> ``ls -l -h`` ci darà un paio di file da 1.pochi K e la directory esercizi da 4.0K (probabilmente)
+22:00 <@valhalla> c'è il comando du che invece calcola le dimensioni dei file contenuti
+22:01 <@valhalla> ``du -h .`` calcola le dimensioni di tutti i contenuti delle directory corrente e delle sue sottodirectory
+22:01 <@valhalla> mentre ``du -s -h .`` calcola solo il riassunto finale della directory che gli è stata indicata esplicitamente
+22:02 <@valhalla> soprattutto con file piccoli, il risultato potrebbe essere "sorprendente"
+22:03 <@valhalla> come la directory esercizi che nel mio caso contiene un file da 0 byte ed uno da 17 byte, ma le dimensioni totali sono di 8.0K
+22:03 <@valhalla> dipende dalla struttura del filesystem, ed è argomento decisamente OT
+22:03 <@valhalla> ma in generale, se state cercando cose grosse da cancellare perché avete finito lo spazio, du da la risposta giusta :)
+22:04 <@valhalla> altro comando per conoscere spazio occupato: ``df`` dice quanto spazio libero/occupato c'è su una partizione
+22:04 <@valhalla> ``df -h`` e basta su tutte le partizioni montate
+22:04 <@valhalla> ``df -h <directory>`` solo sulla partizione che contiene quella directroy
+22:04 <@valhalla> diego71: domande?
+22:05 <@diego71> < tiziano> esiste un comando per vedere quanti file ci sono nelle directory?
+22:05 <@valhalla> non c'è un comando diretto che lo faccia, ma lo si ottiene combinando due comandi come vedremo nella prossima lezione :)
+22:06 <@diego71> <MrPan> esiste un parametro del comando du (o altro) che permetta di vedere la grandezza di un singolo file contenuto in una directory o sub
+22:06 <@valhalla> per vedere la grandezza del singolo file si pu`o usare ls
+22:07 <@valhalla> ad esempio ls -l -h ``esercizi/terzo_file.txt``
+22:08 <@valhalla> se si usa ``du esercizi/terzo_file.txt`` si ottiene lo spazio occupato da quel file sul disco
+22:09 <@valhalla> oppure per vederli tutti ``du -a`` che entra anche nelle sottodirectory e fa vedere tutti i file
+22:09 <@valhalla> diego71: altre domande?
+22:09 <@diego71> no
+22:11 <@valhalla> ls
+22:11 <@valhalla> ehm, sorry :)
+22:11 <@valhalla> abbiamo iniziato la serata scompattando un file con tar
+22:12 <@valhalla> adesso concludiamola creando una tarball :)
+22:12 <@valhalla> (tarball = archivio tar)
+22:12 <@valhalla> ``tar -c -v -f esercizi.tar esercizi/`` permette di creare una tarball, non compressa
+22:13 <@valhalla> che contiene una directory (esercizi) e tutti i suoi contenuti
+22:13 <@valhalla> ma di solito la si vuole anche comprimere, quindi o si usa l'opzione ``-z`` per comprimere con gzip, oppure ``-J`` per comprimere con xz
+22:13 <@valhalla> quindi tar -c -J -v -f esercizi.tar.xz esercizi/
+22:13 <@valhalla> adesso possiamo vedere i contenuti con l'opzione ``-t`` (senza scompattarla)
+22:14 <@valhalla> ``tar -t esercizi.tar``
+22:14 <@valhalla> oppure ``tar -t esercizi.tar.xz``
+22:14 <@valhalla> in automatico tar si accorge se deve scompattare con qualche formato
+22:14 <@valhalla> ls
+22:14 <@valhalla> ehm, di nuovo...
+22:14 <@valhalla> diego71: domande?
+22:15 <@diego71> < polva> nel caso di du -a il numero che è espresso accanto al file cosa sono? Kb? sono tutti multipli di 4
+22:15 <@valhalla> sì, lo sono (e sono multipli di 4K perché la maggior parte dei filesystem usati comunemente ha quello come block size)
+22:16 <@valhalla> (quindi un file anche pi`u piccolo occupa comunque 4K)
+22:16 <@valhalla> è un default specifico di du, perché ad esempio ls di default usa i byte
+22:16 <@valhalla> altre domande?
+22:16 <@diego71> < tafaRU> diego71: tar -t esercizi.tar mi dovrebbe mostrare il contenuto?
+22:17 <@valhalla> manca la -f per specificare su che file deve lavorare
+22:17 <@valhalla> ``tar -t -f esercizi.tar``
+22:18 <@valhalla> (i parametri per tar indicano file da aggiungere o da trovare nell'archivio, a seconda di quello che sta facendo)
+22:18 <@valhalla> (il nome della tarball si da con -f)
+22:18 <@valhalla> diego71: altre domande?
+22:19 <@valhalla> sorry, ho visto che ho sbagliato io a scriverlo sopra, se vi rimane bloccato usate ctrl-c per chiudere
+22:19 <@valhalla> altre domande?
+22:19 <@diego71> < tiziano> scrivere tar -t esercizi.tar.xz oppure tar -tesercizi.tar.xz (senza spazio) è indifferente?
+22:20 <@valhalla> in teoria, sì, si può anche scrivere ``tar -tfesercizi.tar.xz`` (con la f)
+22:20 <@valhalla> in pratica, non tutti i comandi accettano queste cose
+22:20 <@valhalla> e in generale è illeggibile e facile a causare errori
+22:20 <@valhalla> quindi meglio evitare :)
+22:21 <@valhalla> altre domande?
+22:21 <@diego71> < Fra_Supercar83> Non ho ben capito l'opzione '-f' nel comando 'tar'
+22:21 <@valhalla> tar si aspetta due cose su cui lavorare:
+22:22 <@valhalla> una tarball e dei file
+22:22 <@valhalla> la tarball si indica con -f
+22:22 <@valhalla> tutto il resto sono considerati dei file
+22:22 <@valhalla> se si sta creando la tarball, sono i file da aggiungere alla stessa
+22:22 <@valhalla> (file e directory, in modo ricorsivo)
+22:23 <@valhalla> se si sta estraendo, si possono estrarre solo alcuni dei file contenuti, e li si indica sempre in quel modo
+22:24 <@valhalla> ad esempio ``tar -t -f esercizi.tar esercizi/altro_file.txt`` elenca solo il file esercizi/altro_file.txt (se presente nella tarball) e non tutti gli altri contenuti
+22:24 <@valhalla> (e con (``-x`` al posto di ``-t`` lo estrae))
+22:24 <@diego71> < gioque> per estrarre un file tar in una directory specifica?
+22:25 <@valhalla> il modo pi`u semplice è usare cd per spostarsi in quella directory
+22:25 <@valhalla> c'è un opzione per farlo, ma è molto pi`u facile sbagliare, meglio usare cd
+22:25 <@valhalla> diego71: prossima domanda?
+22:25 <@diego71> < stefano_> per aggiungere un file all'archivio creato si fa con -A? come?
+22:26 <@valhalla> in teoria sì, si usa -A
+22:26 <@valhalla> sinceramente non so se funzioni con i file compressi
+22:27 <@valhalla> perché ad essere compresso è il tar finale, per cui per concatenare dovrebbe scomprimere, concatenare e ricomprimere, e non so se lo faccia
+22:27 <@valhalla> andrebbe provato
+22:27 <@valhalla> altre domande?
+22:28 <@valhalla> ecco, vedo che erossi ci ha provato
+22:28 <@valhalla> < erossi> tar: Cannot concatenate compressed archives
+22:28 <@valhalla> non funziona con gli archivi compressi
+22:29 <@valhalla> si deve scomprimere l'archivio, aggiungere il file, ricomprimerlo
+22:29 <@valhalla> se non ci sono altre domande direi che si pu`o finire prima che io scriva un'altro ls nella finestra sbagliata :)
+22:30 <@valhalla> < erio> ho provato : tar -xf esercizi.tar altro_file.txt e mi dà "tar: altro_file.txt: non trovato nell'archivio
+22:31 <@valhalla> dando ``tar -t -f esercizi.tar`` dovreste trovare che quella tarball non contiene il file altro_file.txt, ma il file esercizi/altro_file.txt
+22:31 <@valhalla> ovvero, tar vuole tutto il path con cui quel file è indicato nella tarball, non basta solo il nome del file
+22:32 <@valhalla> quindi per estrarre quel file dovrete dare ``tar -xf esercizi.tar esercizi/altro_file.txt`` e verrà estratto nella directory esercizi
+22:32 <@valhalla> ad esempio, ``mkdir altra_dir``, ``cd altra_dir`` e poi ``tar -xf ../esercizi.tar esercizi/altro_file.txt`` e potete vedere il risultato
+22:32 <@valhalla> diego71: altre domande?
+22:33 <@diego71> sembra di no
+22:34 <@valhalla> ok, ricordo a chi è arrivato tardi:
+22:34 <@valhalla> abbiamo un account su friendica (social network distribuito) i cui post vengono riportati anche su identica (idem)
+22:34 <@valhalla> se volete ricevere un avviso/promemoria per la prossima lezione potete seguire quegli account
+22:34 <@valhalla> http://social.gl-como.it/profile/lifo ---> su friendica
+22:35 <@valhalla> https://identi.ca/lifo ---> su identica
+22:35 <@valhalla> http://social.gl-como.it/dfrn_poll/lifo ---> feed rss dell'account su friendica, se non siete iscritti a quei social network
+22:35 <@valhalla> detto questo, chiudo la lezione e mi metto a preparare il log da pubblicare