3 155
contributi
Wtf (discussione | contributi) Nessun oggetto della modifica |
Wtf (discussione | contributi) Nessun oggetto della modifica |
||
Riga 364: | Riga 364: | ||
''(Grazie a [http://nerotux.tuxfamily.org Nerotux] per gli esempi sull'utilizzo di tar)'' | ''(Grazie a [http://nerotux.tuxfamily.org Nerotux] per gli esempi sull'utilizzo di tar)'' | ||
== Modificare l'ora di accesso a un file == | == Modificare l'ora di accesso a un file ('''touch''') == | ||
<code>touch</code> è un comando shell che modifica l'orario di accesso o/e modifica di un file (il cosiddetto '''timestamp'''). I file vengono modificati con l'orario corrente. La sintassi del comando è: | <code>touch</code> è un comando shell che modifica l'orario di accesso o/e modifica di un file (il cosiddetto '''timestamp'''). I file vengono modificati con l'orario corrente. La sintassi del comando è: | ||
<pre> | <pre> | ||
Riga 378: | Riga 378: | ||
* <code>-t orario</code>: Usa l'orario specificato come nuovo valore per gli orari cambiati. L'argomento è un numero decimale nella forma [[SS]AA]MMGGoomm[.ss] | * <code>-t orario</code>: Usa l'orario specificato come nuovo valore per gli orari cambiati. L'argomento è un numero decimale nella forma [[SS]AA]MMGGoomm[.ss] | ||
* <code>-d, --date=orario</code>: Usa orario al posto dell'ora corrente. Può contenere il nomi di mese, fusi orari, «am» e «pm», ecc. | * <code>-d, --date=orario</code>: Usa orario al posto dell'ora corrente. Può contenere il nomi di mese, fusi orari, «am» e «pm», ecc. | ||
== Creare un collegamento ('''ln''') == | == Creare un collegamento ('''ln''') == | ||
Riga 614: | Riga 564: | ||
* <code>--delete</code>: elimina dalla directory di destinazione i file non più presenti nella directory sorgente | * <code>--delete</code>: elimina dalla directory di destinazione i file non più presenti nella directory sorgente | ||
Maggiori informazioni [[Rsync | qui]]. | Maggiori informazioni [[Rsync | qui]]. | ||
== Manipolazione di file ('''cat''') == | |||
Un modo veloce (soprattutto negli script) per modificare il contenuto di un file o per accodare altro testo alla sua fine è utilizzare il comando <code>cat</code>.<br> | |||
<code>cat</code> è un comando shell che legge file in sequenza e può scrivere i loro contenuti sullo standard output nella stessa sequenza. Lo scopo di cat è infatti concatenare file (generalmente di testo o che abbiano particolari intestazioni, ad esempio il formato MPEG2 usato dai VOB nei DVD video). Dimenticatevi follie quali "cat file.txt | less" o "cat file.txt | grep foo" perché è definito | |||
[http://en.wikipedia.org/wiki/Cat_%28Unix%29#Useless_use_of_cat UUOC: Useless Use Of Cat] :-) | |||
La sintassi del comando è: | |||
<pre> | |||
cat [opzioni][file ...] | |||
</pre> | |||
Note: | |||
* <code>'''>''' file.estensione</code>: Se nomefile.estensione non esiste, viene creato e viene scritto il valore al suo interno. Nel caso esistesse già, il suo valore '''verrebbe sovrascritto'''. | |||
* <code>'''>>''' nomefile.estensione</code>: Aggiunge alla fine del file il valore che gli date a riga di comando.<br> | |||
Altri comandi utili per la manipolazione veloce di file sono: | |||
* <code>head</code>, che mostra le prime dieci linee di un file. Utile quando si vuole avere un'idea del contenuto di un file senza doverlo aprire con un editor | |||
* <code>tail</code>, che mostra al contrario le ultime dieci linee di un file | |||
=== Esempi === | |||
Se vogliamo mostrare il contenuto del file di testo <code>/home/ferdy/prova.txt</code>, dobbiamo dare il comando: | |||
<pre> | |||
cat /home/ferdy/prova.txt | |||
</pre> | |||
Se vogliamo aggiungere il contenuto del file <code>/home/ferdy/aggiunte.txt</code> alla fine del file, diamo il seguente comando: | |||
<pre> | |||
cat /home/ferdy/aggiunte.txt >> /home/ferdy/prova.txt | |||
</pre> | |||
Se vogliamo unire i due file e crearne un terzo, diamo il comando: | |||
<pre> | |||
cat /home/ferdy/prova.txt /home/ferdy/aggiunte.txt > /home/ferdy/file_finale.txt | |||
</pre> | |||
Per visualizzare le prime dieci o le ultime dieci linee di un file: | |||
<pre> | |||
head /home/ferdy/prova.txt | |||
tail /home/ferdy/prova.txt | |||
</pre> | |||
Un comando preziosissimo per gli amministratori di sistema è il seguente, che permette di vedere in modo interattivo la variazione di un file di log: | |||
<pre> | |||
tail -f /var/log/syslog | ccze | |||
</pre> | |||
Nell'ultimo comando sono stati usati: | |||
* <code>'''-f</code>''' che permette a <code>tail</code> di seguire (follow) il file e i suoi cambiamenti | |||
* <code>'''| ccze'''</code> che dirige l'output di tail verso il programma <code>ccze</code>, che colorerà l'output del log rendendolo facilmente leggibile | |||
In quest'ultimo esempio, per rilasciare il terminale e riottenerne il pieno utilizzo bisogna stoppare <code>tail</code> con la combinazione di tasti <code>CTRL</code>+<code>C</code>. | |||
Un altro uso interessante di cat è creare file di testo sfruttando lo stdin della shell. | |||
Lanciamo questo comando: | |||
<pre> | |||
cat - > file.txt | |||
</pre> | |||
e possiamo scrivere il nostro testo sfruttando lo standard input come editor, si può correggere solo se non si è andati a capo e si termina con ''Ctrl-d''.<br> | |||
{{Autori | {{Autori |
contributi