Articles

Tutorial sul comando touch di Linux per principianti (6 esempi)

Posted on

A volte, mentre si lavora sulla linea di comando in Linux, si potrebbe voler creare un nuovo file. Oppure, ci possono essere momenti in cui il requisito è quello di cambiare i timestamp di un file. Bene, esiste un’utilità che è possibile utilizzare in entrambi questi scenari. Lo strumento in questione è touch, e in questo tutorial, capiremo le sue funzionalità di base attraverso esempi facili da capire.

Si prega di notare che tutti gli esempi che useremo qui sono stati testati su una macchina Ubuntu 16.04.

Comando Touch Linux

Il comando touch è utilizzato principalmente per cambiare i timestamp dei file, ma se il file (il cui nome viene passato come argomento) non esiste, allora lo strumento lo crea.

Di seguito la sintassi generica del comando:

touch ... FILE...

Ed ecco come la pagina man spiega questo comando:

DESCRIPTION
Update the access and modification times of each FILE to the current
time. A FILE argument that does not exist is created empty, unless -c or -h
is supplied. A FILE argument string of - is handled specially and causes touch to
change the times of the file associated with standard output.

I seguenti esempi di tipo Q&A vi daranno un’idea migliore di come funziona lo strumento.

Come cambiare il tempo di accesso/modifica usando il comando touch

Questo è semplice e abbastanza diretto. Prendiamo un file esistente come esempio. La seguente schermata mostra i tempi di accesso e modifica di un file chiamato ‘apl.c.’

Ecco come potete usare il comando touch per cambiare i tempi di accesso e modifica del file:

touch apl.c

La seguente schermata conferma il cambiamento di questi timestamp.

Come cambiare solo il tempo di accesso o di modifica

Di default, il comando touch cambia sia i tempi di accesso che di modifica del file di input. Tuttavia, se vuoi, puoi limitare questo comportamento a uno qualsiasi di questi tempi. Questo significa che si può cambiare il tempo di accesso o il timestamp di modifica.

Nel caso in cui si voglia cambiare solo il tempo di accesso, usare l’opzione da linea di comando -a.

touch -a 

Similmente, se la richiesta è di cambiare solo il tempo di modifica, usare l’opzione da linea di comando -m.

touch -m 

Come far usare a touch i tempi di accesso/modifica di un file esistente

Se volete, potete anche forzare il comando touch a copiare i timestamp di accesso e modifica da un file di riferimento. Per esempio, supponiamo di voler cambiare i timestamp del file ‘apl.c’. Ecco i timestamp attuali per questo file:

E questo è il file che volete che touch usi come riferimento:

Ora, affinché touch usi i timestamp di ‘apl’ per ‘apl.c’, dovrete usare l’opzione -r della linea di comando nel seguente modo:

touch apl.c -r apl

Lo screenshot sopra mostra che i timestamp di modifica e accesso per ‘apl.c’ sono ora uguali a quelli di ‘apl.’

Come creare un nuovo file usando il touch

Creare un nuovo file è anche molto facile. Infatti, avviene automaticamente se il nome del file che si passa come argomento al comando touch non esiste. Per esempio, per creare un file chiamato ‘newfile’, tutto quello che devi fare è eseguire il seguente comando touch:

touch newfile

Come forzare touch a non creare alcun nuovo file

Solo nel caso in cui ci sia un requisito rigido che il comando touch non debba creare alcun nuovo file, allora puoi usare l’opzione -c.

touch -c 

La seguente schermata mostra che, poiché ‘newfile12’ non esiste, e abbiamo usato l’opzione -c della linea di comando, il comando touch non ha creato il file.

Come funziona touch in caso di link simbolici

Di default, se si passa il nome di un file con link simbolico al comando touch, il cambiamento dei timestamp di accesso e modifica sarà per il file originale (quello a cui si riferisce il link simbolico). Tuttavia, lo strumento offre anche un’opzione (-h) che permette di sovrascrivere questo comportamento.

Ecco come la pagina man spiega l’opzione -h:

-h, --no-dereference
affect each symbolic link instead of any referenced file (useful
only on systems that can change the timestamps of a symlink)

Quindi, quando volete cambiare i timestamp di modifica e accesso per il link simbolico (e non per il file originale), usate il comando touch nel modo seguente:

touch -h 

Conclusione

Come sarete d’accordo, touch non è un comando difficile da capire e usare. Gli esempi/opzioni che abbiamo discusso in questo tutorial dovrebbero essere sufficienti per iniziare ad usare lo strumento. Mentre i neofiti si troveranno per lo più ad usare l’utilità per creare nuovi file, gli utenti più esperti ci giocano anche per molti altri scopi. Per maggiori informazioni sul comando touch, andate alla sua pagina man.

Tutorial sul comando touch di Linux per principianti (6 esempi)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *