Il comando Touch è un comando Linux utilizzato principalmente per creare file vuoti e modificare timestamp di file o cartelle. Le informazioni sul timestamp dei file sono costituite da tre attributi:ora di accesso, ora di modifica e ora di modifica.
Questo tutorial spiegherà il comando touch di Linux, le sue opzioni e i suoi utilizzi fornendo utili esempi.
Cos'è un timestamp in Linux
In Linux, ogni file e cartella ha un timestamp associato che fornisce informazioni su quando il contenuto di un file o i suoi attributi sono stati modificati. Esistono tre tipi di timestamp:
- Ora di accesso (atime) – l'ultima volta che un file è stato letto
- Tempo di modifica (mtime) – l'ultima volta che il contenuto di un file è stato modificato. Come il tempo di accesso, fa anche parte dei metadati sullo stato dei file
- Ora modificata (ctime):l'ultima volta che i metadati di un file sono stati modificati (ad es. autorizzazioni)
Poiché atime e mtime fanno parte dei metadati di stato di un file, la modifica di atime o mtime di un file risulta in ctime che viene impostato automaticamente sull'ora corrente. Non è possibile impostare o modificare manualmente ctime. Il comando touch di Linux viene utilizzato principalmente per manipolare l'accesso e il tempo di modifica dei file utilizzando varie opzioni come descritto di seguito. Ricorda, prima di utilizzare il comando touch devi accedere al tuo VPS tramite SSH!
Sintassi dei comandi Linux Touch
La sintassi del comando touch è:
touch [options] [file_name]
La sezione seguente elenca gli utilizzi del comando touch di Linux includendo ciascuna opzione.
Crea un file usando Touch
Il comando touch senza opzioni crea un nuovo file. Se il file esiste, il comando touch aggiornerà l'accesso e la modifica all'ora corrente senza cambiarne il contenuto:
touch file_name.txt
Crea più file usando Touch
È anche possibile creare più file utilizzando un solo comando touch. Per fare ciò, specifica i nomi dei file con spazi tra di loro. Sembrerebbe così nella riga di comando:
touch file_name1.txt file_name2.txt file_name3.txt
Puoi generare automaticamente nomi di file usando parentesi graffe mentre crei più file come nell'esempio seguente:
touch file_name{1..3}.txt
Il comando touch sopra creerà tre file denominati nome_file1.txt , nome_file2.txt, e nome_file3.txt .
Modifica l'ora di accesso utilizzando il tocco
Per modificare l'ora di accesso di un file all'ora corrente, utilizza la a opzione seguita dal nome del file con il comando touch come nell'esempio seguente:
touch -a file_name.txt
Modifica il tempo di modifica utilizzando il tocco
Il m insieme al comando touch cambia l'ora di modifica di un file nell'ora corrente:
touch -m file_name1.txt
Modifica il tempo di accesso e modifica utilizzando il tocco
Per modificare sia l'ora di accesso che l'ora di modifica con un unico comando, utilizza le opzioni a e mi insieme:
touch -am file_name1.txt
Modifica l'ora di accesso senza creare un nuovo file
In alcune situazioni, si desidera modificare l'ora di accesso e modifica di un file esistente all'ora corrente senza creare effettivamente un nuovo file. Per farlo usa la c opzione seguita dal nome del file con il comando touch.
touch -c file_name.txt
Imposta il tempo di accesso e modifica specifico utilizzando il tocco
È anche possibile impostare l'accesso e l'ora di modifica di un file a una data particolare utilizzando t opzione seguita da datetime. Sarebbe simile a questo:
touch -t 201903081047.30 file_name.txt
Il formato data e ora deve essere in CCYYMMDDhhmm.ss dove:
- MM – Il mese dell'anno [01-12]
- DD – Il giorno del mese [01-31]
- hh – L'ora del giorno [00-23]
- mm – Il minuto dell'ora [00-59]
- CC – Le prime due cifre dell'anno
- YY – Le seconde due cifre dell'anno
- SS – I secondi del minuto [00-59]
Modifica il timestamp di un file collegato simbolicamente
Quando si utilizza un nome di file collegato simbolicamente con il comando touch di Linux, le informazioni sul timestamp per il file originale, ovvero il file a cui punta il file di collegamento, vengono modificate. Per modificare l'ora di accesso e modifica all'ora corrente per un file collegato simbolicamente, utilizzare la h opzione:
touch -h symbolic_link_file
Imposta il timestamp utilizzando un altro file come riferimento
Il comando touch di Linux può anche impostare l'accesso e l'ora di modifica di un file leggendo le informazioni sul timestamp da un altro file. Ad esempio, il seguente comando touch con la r l'opzione eseguirà la scansione delle informazioni sul timestamp da reference.txt e imposta questi valori di timestamp su nome_file.txt . Ecco un esempio del comando:
touch -r reference.txt file_name.txt
Specifica data e ora come stringa usando il tocco
Puoi anche specificare data e ora come stringa utilizzando la d opzione. Il seguente esempio di comando touch Linux imposta la data sull'8 marzo e l'ora viene automaticamente impostata su 00:00
touch -d '8 Mar' file_name.txt
Invece di specificare la data come stringa, puoi specificare l'ora come stringa. In tal caso, la data verrà impostata automaticamente sulla data corrente:
touch -d '20:10' file_name.txt
Conclusione
Questo tutorial copre gli usi del comando touch di Linux includendo le opzioni più comuni. Per qualsiasi difficoltà relativa al comando touch di Linux, puoi richiamare la sua pagina di manuale nel terminale!