Comando Touch di Linux
Il comando touch può essere usato per modificare i timestamp di accesso/modifica dei file. È più spesso usato per creare rapidamente un file vuoto.
Questo post mostra alcuni esempi molto semplici e veloci di utilizzo del comando touch per modificare i timestamp o creare file.
Creare un file vuoto
Per creare semplicemente un file vuoto con il comando touch, usa la sintassi seguente.
$ touch abc.txt
Se il file esiste già, il suo tempo di accesso sarà aggiornato.
Crea file multipli con touch
Per creare file multipli, specifica i loro nomi insieme separati da uno spazio.
$ touch abc.txt cde.txt xyz.txt
Creare tanti e tanti file
Se per qualche motivo si desidera creare tanti file, allora comandi come questi sarebbero molto utili
# Create files with names A to Z$ touch {A..Z}# Create files with names 1 to 20$ touch {1..20}# Create files with extension$ touch {1..1000}.txt# Create 10K files$ touch {1..10}{1..1000}
E poi usare il comando ls per vedere cosa è stato creato.
Evitare la creazione di nuovi file
Se volete solo aggiornare il tempo di accesso di un file esistente, senza crearlo, usate l’opzione ‘-c’. Se il file esiste, touch aggiornerà il tempo di accesso, altrimenti non farà nulla
$ touch -c hello.txt
Cambia il tempo di accesso al file – ‘a’
Per cambiare solo il tempo di accesso di un file usa l’opzione ‘-a’ con il nome del file.
$ touch -a abc.txt
Per controllare il tempo di accesso usa il comando stat
$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:04:24.281533071 +0530Modify: 2016-03-10 15:00:16.117864128 +0530Change: 2016-03-10 15:04:24.281533071 +0530
Cambiare il tempo modificato ‘-m’
Usa l’opzione ‘-m’ per cambiare il tempo modificato del file
$ touch -m a.txtThen check the file statistics with the stat command -$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:04:24.281533071 +0530Modify: 2016-03-10 15:05:03.409475551 +0530Change: 2016-03-10 15:05:03.409475551 +0530
Per cambiare il tempo di modifica di più file usando il carattere jolly
$ touch -m *.txt
Modificare il tempo di accesso e di modifica insieme
Utilizzare le opzioni a e m insieme per modificare sia l’orario di accesso e di modifica
$ touch -am a.txt
$ stat a.txt File: ‘a.txt’ Size: 0 Blocks: 0 IO Block: 4096 regular empty fileDevice: 801h/2049d Inode: 5904730 Links: 1Access: (0664/-rw-rw-r--) Uid: ( 1000/enlightened) Gid: ( 1000/enlightened)Access: 2016-03-10 15:07:39.633235119 +0530Modify: 2016-03-10 15:07:39.633235119 +0530Change: 2016-03-10 15:07:39.633235119 +0530
Imposta un orario specifico di accesso/modifica invece dell’orario corrente
Per impostare l’ora di accesso/modifica su una data specifica utilizzare l’opzione t e specificare la data nel formato
YY]MMDDhhmm
$ touch -c -t 1603051015 a.txtor$ touch -c -t 201603051015 a.txt
Nota – Se si omette l’opzione c, verrà creato un nuovo file con il datetime dato se non esiste.
Utilizza il timestamp di un altro file come riferimento
$ touch -r ref.txt abc.txt
Il comando precedente imposterà il tempo di accesso/modifica di abc.txt a quello di ref.txt
Specificare datetime come stringa
Oltre all’opzione t, c’è un’altra opzione ‘-d’ che accetta datetime in formati generali leggibili dall’uomo.
L’esempio seguente fornisce solo la data. L’ora è impostata automaticamente alle 00:00
$ touch -c -d '14 Mar' abc.txt
Oppure basta fornire l’ora, e la data corrente sarà selezionata –
$ touch -d '14:24' abc.txt
Conclusione
Questi erano alcuni degli esempi base del comando touch. Per saperne di più, controlla la pagina man con il comando “man touch”.
O leggi le pagine del manuale online qui:
https://man7.org/linux/man-pages/man1/touch.1.html
https://linux.die.net/man/1/touch