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.
Opzione | Descrizione |
---|---|
-un | modificare l'ora di accesso al file |
-m | cambia l'ora modificata del file |
-C | modificare il tempo di accesso del file senza crearne uno nuovo |
-R | usa un file di riferimento per impostare i timestamp di file o directory |
-D | impostare lo stesso timestamp arbitrario per l'accesso e l'ora di modifica utilizzando una data leggibile in formato libero |
-T | creare 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
Parametro | Descrizione |
CC | Prime due cifre di un anno |
YY | Seconde due cifre di un anno |
MM | Mese dell'anno (01-12) |
DD | Giorno del mese (01-31) |
hh | Ora del giorno (00-23) |
mm | Minuti 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.