Come usare il comando touch in Linux

Crea facilmente nuovi file vuoti o aggiorna i timestamp di file/directory esistenti utilizzando il comando "touch"

La principale applicazione del tocco comando è creare file senza alcun contenuto. La creazione di file vuoti può sembrare uno spreco di memoria del sistema, ma qui c'è un problema. tocco Il comando è a tua disposizione quando desideri creare timestamp o registri mentre lavori su un progetto di grandi dimensioni che richiede la conservazione e il monitoraggio dei registri. Puoi semplicemente creare un file vuoto usando tocco comando e il file avrà l'ora e la data in cui è stato creato. (Nelle informazioni sul file e non come contenuto del file).

Il secondo importante utilizzo del tocco comando è quello di modificare l'accesso e l'ora di modifica per un file. Ad ogni file/directory è stato aggiunto un timestamp univoco. Mostra l'ora di accesso e modifica del file/directory. Ma queste informazioni possono essere modificate facilmente utilizzando il tocco comando.

Vediamo l'uso di tocco comando in modo più dettagliato con esempi autoesplicativi.

Opzioni utilizzate con tocco comando

Sono disponibili varie opzioni da utilizzare con il tocco comando.

OpzioneDescrizione
-unmodificare l'ora di accesso al file
-mcambia l'ora modificata del file
-Cmodificare il tempo di accesso del file senza crearne uno nuovo
-Rusa un file di riferimento per impostare i timestamp di file o directory
-Dimpostare lo stesso timestamp arbitrario per l'accesso e l'ora di modifica utilizzando una data leggibile in formato libero
-Tcreare un file utilizzando un tempo specificato

Usando tocco Comando

Il tocco comando può essere utilizzato per creare file vuoti senza utilizzare alcuna opzione. Segui gli esempi forniti di seguito per creare file vuoti singoli o multipli.

Per creare un file vuoto

Puoi usare il tocco comando senza alcuna opzione per creare un singolo file vuoto.

Sintassi:

tocca [nome file]

Esempio:

gaurav@ubuntu:~/workspace$ touch iift.txt

Qui ho creato un file chiamato iift.txt usando tocco comando. Utilizzare il ls comando per vedere se il file è stato creato.

gaurav@ubuntu:~/workspace$ ls iift.txt init1 init2 init3 init4

Per vedere le informazioni sul file puoi usare il statistica comando come segue.

gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensione: 0 Blocchi: 0 Blocco IO: 4096 file vuoto normale Dispositivo: 808h/2056d Inode: 1990385 Link: 1 Accesso: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 10:18:43.318160860 +0530 Modifica: 14/09/2020 10:18:43.318160860 +0530 Modifica: 14/09/2020 10:18:43.318160860 +0530 Nascita: - gaurav@ubuntu:~/workspace$

Per creare più file vuoti

Se desideri creare più file vuoti contemporaneamente puoi usare il tocco comando nel modo seguente.

Sintassi:

tocca [nomefile-1] [nomefile-2] [nomefile-3]

Esempio:

gaurav@ubuntu:~/workspace$ touch log1.txt ssh.txt filemove.c gaurav@ubuntu:~/workspace$ ls -l total 36 -rw-r--r-- 1 gaurav gaurav 0 14 set 10:35 filemove .c -rw-r--r-- 1 gaurav gaurav 0 14 set 10:18 iift.txt -rw-r--r-- 1 gaurav gaurav 0 14 set 10:35 log1.txt -rw-r-- r-- 1 gaurav gaurav 0 Sep 14 10:35 ssh.txt

Qui ho creato tre file "log1.txt", "ssh.txt" e "filemove.c". Questi hanno estensioni di file diverse.

Puoi anche creare file vuoti in blocco nel modo seguente.

Sintassi:

tocca [nome file]-{1..n}.txt

Esempio:

Creeremo 10 file vale a dire. sheldon_log-1.txt, sheldon_log-2.txt e così via fino a sheldon_log-10.txt

gaurav@ubuntu:~/workspace$ touch sheldon_log-{1..0}.txt gaurav@ubuntu:~/workspace$
gaurav@ubuntu:~/workspace$ ls filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt gsy.c log1.txt sheldon_log-1. txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt gaurav@ubuntu:~/workspace$

Modificare o modificare l'ora di accesso al file o alla directory

Il timestamp di accesso è l'ultima volta che un file è stato letto. Ogni volta che un utente legge un file, il timestamp di accesso per quel file viene aggiornato. Il timestamp di accesso indica l'ora dell'ultimo accesso al file. Non è in corso alcuna modifica con questo file o directory, ma viene solo referenziato o letto.

Usando tocco comando con opzione -un modifica il "Tempo di accesso" di un particolare file. Il nuovo "Tempo di accesso" sarà impostato sulla data e l'ora correnti. Per controllare l'ora di accesso e l'ora di modifica correnti utilizzare il pulsante statistica comando.

Modifica del file

Sintassi:

tocco -a [nome file]

Esempio:

Vedremo l'ora di accesso corrente del file da modificare.

gaurav@ubuntu:~/workspace$ stat log1.txt File: log1.txt Dimensioni: 0 Blocchi: 0 Blocco IO: 4096 file vuoto normale Dispositivo: 808h/2056d Inode: 2001385 Link: 1 Accesso: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 2020-09-13 23:52:19.305416141 +0530 Modifica: 2020-09-13 23:52:00.215090207 +0530 Modifica: 13/09/2020 23:52:19.305416141 +0530 Nascita: - gaurav@ubuntu:~/workspace$

Usando tocco -a per modificare l'Ora di accesso del file log1.txt con la data e l'ora correnti.

Produzione:

gaurav@ubuntu:~/workspace$ touch -a log1.txt gaurav@ubuntu:~/workspace$
gaurav@ubuntu:~/workspace$ stat log1.txt File: log1.txt Dimensioni: 0 Blocchi: 0 Blocco IO: 4096 file vuoto normale Dispositivo: 808h/2056d Inode: 2001385 Link: 1 Accesso: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 10:59:24.972855176 +0530 Modifica: 13/09/2020 23:52:00.215090207 +0530 Modifica: 14/09/2020 10:59:24.972855176 +0530 Nascita: - gaurav@ubuntu:~/workspace$

Si può osservare che il tempo di accesso del file log1.txt è ora modificato.

Modifica della directory

tocco -a può essere utilizzato anche per modificare il tempo di accesso di una directory allo stesso modo di un file.

Sintassi:

tocco -a [percorso_directory]

Esempio:

gaurav@ubuntu:~$ stat ./workspace/tomcat File: ./workspace/tomcat Dimensioni: 4096 Blocchi: 8 Blocco IO: directory 4096 Dispositivo: 808h/2056d Inode: 2039942 Collegamenti: 3 Accesso: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 2018-03-30 11:18:28.912666800 +0530 Modifica: 2018-03-30 00:13:02.452194000 +0530 Modifica: 2020-09-14 11 :18:28.912666800 +0530 Nascita: -

Usando tocco -a per modificare il tempo di accesso per la directory tomcat.

gaurav@ubuntu:~$ touch -a ./workspace/tomcat
gaurav@ubuntu:~$ stat ./workspace/tomcat File: ./workspace/tomcat Dimensioni: 4096 Blocchi: 8 Blocco IO: directory 4096 Dispositivo: 808h/2056d Inode: 2039942 Collegamenti: 3 Accesso: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 11:21:10.638538949 +0530 Modifica: 30/03/2018 00:13:02.452194000 +0530 Modifica: 14/09/2020 11 :21:10.638538949 +0530 Nascita: - gaurav@ubuntu:~$

Qui, il tempo di accesso della directory "tomcat" è ora cambiato con la data e l'ora correnti.

Modifica ora di modifica di file/directory

L'ora di modifica indica l'ultima volta che i contenuti di un file sono stati modificati. Un programma o un processo ha modificato o modificato il file. "Modificato" significa che qualcosa all'interno del file è stato modificato, eliminato o sono stati aggiunti nuovi dati.

Usando tocco comando insieme all'opzione -m modifica il "Tempo di modifica" di un file o di una directory. I seguenti metodi possono essere distribuiti per file e directory.

Per file

tocco -m [nome file]

Esempio:

In primo luogo, utilizzando statistica comando per visualizzare l'ora di modifica per il file.

gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensioni: 66 Blocchi: 8 Blocco IO: 4096 file normale Dispositivo: 808h/2056d Inode: 1990385 Link: 1 Accesso: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 11:33:36.927262587 +0530 Modifica: 12/09/2020 08:33:28.339190370 +0530 Modifica: 2020 -09-12 08:33:28.339190370 +0530

Ora usa il tocco -m comando per modificare l'Ora di modifica.

gaurav@ubuntu:~/workspace$ touch -m iift.txt
gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensioni: 66 Blocchi: 8 Blocco IO: 4096 file normale Dispositivo: 808h/2056d Inode: 1990385 Link: 1 Accesso: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 11:33:36.927262587 +0530 Modifica: 14/09/2020 11:34:34.719723531 +0530 Modifica: 2020 -09-14 11:34:34.719723531 +0530 Nascita: - gaurav@ubuntu:~/workspace$

Il "Tempo di modifica" del file iift.txt è ora cambiato con la data e l'ora correnti.

Per la directory

touch -m [percorso_directory] OPPURE [nome_directory]

Esempio:

Cambieremo l'ora di modifica della directory denominata "tomcat" utilizzando il pulsante tocco -m comando. Cerchiamo di scoprire il suo attuale "Tempo di modifica" utilizzando il statistica comando.

gaurav@ubuntu:~/workspace$ stat tomcat File: tomcat Dimensione: 4096 Blocchi: 8 Blocco IO: directory 4096 Dispositivo: 808h/2056d Inode: 2039942 Collegamenti: 3 Accesso: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/ gaurav) Accesso: 2020-09-14 11:21:10.638538949 +0530 Modifica: 2019-07-12 11:43:22.482485281 +0530 Modifica: 2019-07-12 11:43:22.482485281 +0530 Nascita: -

Produzione:

gaurav@ubuntu:~/workspace$ touch -m tomcat
gaurav@ubuntu:~/workspace$ stat tomcat File: tomcat Dimensione: 4096 Blocchi: 8 Blocco IO: directory 4096 Dispositivo: 808h/2056d Inode: 2039942 Collegamenti: 3 Accesso: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 11:21:10.638538949 +0530 Modifica: 14/09/2020 11:43:22.482485281 +0530 Modifica: 14/09/2020 11:43:22.482485281 +0530 Nascita: - gaurav@ubuntu:~/workspace$

Qui, ho cambiato il timestamp di modifica per la directory "tomcat".

Modifica dell'ora di accesso senza creare un nuovo file

tocco comando quando eseguito, crea un nuovo file vuoto. Ma potrebbero verificarsi alcuni casi in cui il file è già stato creato e si desidera solo modificare l'ora di accesso di quel file senza crearne uno nuovo.

In questa situazione, puoi usare tocco comando con il -C opzione che evita la creazione di un nuovo file e consente comunque di modificare il timestamp di accesso.

Sintassi:

tocco -c [nome file]

Esempio:

gaurav@ubuntu:~/workspace$ touch -c iift.txt gaurav@ubuntu:~/workspace$ ls demo gsy.c log1.txt sheldon_log-1.txt sheldon_log-3.txt sheldon_log-5.txt sheldon_log-7.txt sheldon_log-9.txt filemove.c iift.txt sheldon_log-10.txt sheldon_log-2.txt sheldon_log-4.txt sheldon_log-6.txt sheldon_log-8.txt tomcat gaurav@ubuntu:~/workspace$

Allo stesso modo, puoi modificare il tempo di accesso della directory già esistente. È possibile utilizzare il seguente metodo per farlo.

Esempio:

Visualizzazione del timestamp di accesso corrente della directory tomcat.

gaurav@ubuntu:~/workspace$ stat tomcat File: tomcat Dimensione: 4096 Blocchi: 8 Blocco IO: directory 4096 Dispositivo: 808h/2056d Inode: 2039942 Collegamenti: 3 Accesso: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 11:21:10.638538949 +0530 Modifica: 14/09/2020 11:43:22.482485281 +0530 Modifica: 14/09/2020 11:43:22.482485281 +0530 Nascita: - gaurav@ubuntu:~/workspace$ 
gaurav@ubuntu:~/workspace$ touch -c tomcat

Qui, ho cambiato il tempo di accesso della directory già esistente "tomcat".

Produzione:

gaurav@ubuntu:~/workspace$ stat tomcat File: tomcat Dimensione: 4096 Blocchi: 8 Blocco IO: directory 4096 Dispositivo: 808h/2056d Inode: 2039942 Collegamenti: 3 Accesso: (0775/drwxrwxr-x) Uid: ( 1000/ gaurav ) Gid: ( 1000/ gaurav) Accesso: 2020-09-14 20:18:52.625031128 +0530 Modifica: 2020-09-14 20:18:52.625031128 +0530 Modifica: 2020-09-14 20:18:52.625031128 +0530 Nascita: - gaurav@ubuntu:~/workspace$ 

Controllo incrociato dell'output:

gaurav@ubuntu:~/workspace$ touch -c temp.cpp gaurav@ubuntu:~/workspace$ ls temp.cpp ls: impossibile accedere a 'temp.cpp': nessun file o directory di questo tipo gaurav@ubuntu:~/workspace$ 

Ecco, ho provato a usare tocco -c con temp.cpp. Questo file non esiste. Quindi, possiamo dire che usando tocco con opzione -C evita di creare nuovi file vuoti e modifica il timestamp solo per il file esistente.

Modifica dell'accesso e del timestamp di modifica a una data e un'ora specifiche

Nei blocchi precedenti, devi aver osservato che ogni volta che usiamo il tocco comando per modificare i timestamp, viene modificato con l'ora e la data correnti.

Tuttavia, potrebbero verificarsi alcuni casi in cui potrebbe essere necessario utilizzare un'ora e una data personalizzate. Usando tocco comando con -C e -T le opzioni possono servire allo scopo.

Esempio:

Cambierò il timestamp di accesso e modifica nel file iift.txt a un'ora e una data personalizzate.

gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensioni: 66 Blocchi: 8 Blocco IO: 4096 file normale Dispositivo: 808h/2056d Inode: 1990385 Link: 1 Accesso: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 12:04:07.091786565 +0530 Modifica: 14/09/2020 12:04:07.091786565 +0530 Modifica: 2020 -09-14 12:04:07.091786565 +0530 Nascita: -

La data e l'ora possono essere specificate nel formato: {CCYY}MMDDhhmm.ss

ParametroDescrizione
CCPrime due cifre di un anno
YYSeconde due cifre di un anno
MMMese dell'anno (01-12)
DDGiorno del mese (01-31)
hhOra del giorno (00-23)
mmMinuti dell'ora (00-59)

Sto usando il timbro della data come 203011051820 (cioè 5-novembre-2030, ore 18:20).

gaurav@ubuntu:~/workspace$ touch -c -t 203011051820 iift.txt

Questo comando cambierà il timestamp di accesso e modifica per il file iift.txt come segue.

gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensioni: 66 Blocchi: 8 Blocco IO: 4096 file normale Dispositivo: 808h/2056d Inode: 1990385 Link: 1 Accesso: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 2030-11-05 18:20:00.000000000 +0530 Modifica: 2030-11-05 18:20:00.000000000 +0530 Modifica: 2020 -09-14 20:39:55.641781140 +0530 Nascita: - gaurav@ubuntu:~/workspace$ 

Utilizzo di un file di riferimento per impostare il timestamp

tocco il comando può essere utilizzato anche con l'opzione -R per utilizzare il timestamp di un file di riferimento di tua scelta sul file corrente.

Sintassi:

touch -r [file_riferimento] [file_effettivo]

Esempio:

Noi useremo gsy.c file come file di riferimento. Quindi i timestamp di gsy.c verrà utilizzato per il file iift.txt. Controlliamo prima i timestamp correnti di entrambi questi file con statistica comando.

gaurav@ubuntu:~/workspace$ stat gsy.c File: gsy.c Dimensioni: 0 Blocchi: 0 Blocco IO: 4096 file vuoto normale Dispositivo: 808h/2056d Inode: 2001385 Link: 1 Accesso: (0644/-rw-r --r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 10:59:24.972855176 +0530 Modifica: 13/09/2020 23:52:00.215090207 +0530 Modifica: 14/09/2020 10:59:24.972855176 +0530 Nascita: - gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensioni: 66 Blocchi: 8 Blocco IO: 4096 file normale Dispositivo: 808h/2056d Inode : 1990385 Link: 1 Accesso: (0644/-rw-r--r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 2025-10-19 18:20:00.000000000 +0530 Modifica: 2025-10-19 18:20:00.000000000 +0530 Modifica: 2020-09-14 20:39:55.641781140 +0530 

Usando il comando tocco -r Ora.

gaurav@ubuntu:~/workspace$ touch -r gsy.c iift.txt

Produzione:

gaurav@ubuntu:~/workspace$ stat iift.txt File: iift.txt Dimensioni: 66 Blocchi: 8 Blocco IO: 4096 file normale Dispositivo: 808h/2056d Inode: 1990385 Link: 1 Accesso: (0644/-rw-r- -r--) Uid: ( 1000/ gaurav) Gid: ( 1000/ gaurav) Accesso: 14/09/2020 10:59:24.972855176 +0530 Modifica: 13/09/2020 23:52:00.215090207 +0530 Modifica: 2020 -09-14 21:04:27.640026328 +0530 Nascita: - gaurav@ubuntu:~/workspace$

Dall'output, possiamo vedere che i timestamp per il file iift.txt è cambiato. I nuovi timestamp sono ora simili a quelli del file di riferimento gsy.c

Conclusione

In questo tutorial, abbiamo appreso del tocco comando e varie opzioni disponibili con esso per creare nuovi file vuoti e modificare i timestamp dei file esistenti in vari modi.