Ricerca nel sito web

Tutorial sui comandi touch di Linux per principianti (6 esempi)


Su questa pagina

  1. Comando Linux Touch
  2. 1. Come modificare l'orario di accesso/modifica tramite il comando touch
  3. 2. Come modificare solo l'accesso o l'orario di modifica
  4. 3. Come fare in modo che il tocco utilizzi i tempi di accesso/modifica del file esistente
  5. 4. Come creare un nuovo file usando touch
  6. 5. Come forzare il tocco per non creare alcun nuovo file
  7. 6. Come funziona il tocco in caso di collegamenti simbolici
  8. Conclusione

A volte, mentre lavori sulla riga di comando in Linux, potresti voler creare un nuovo file. Oppure, potrebbero esserci momenti in cui il requisito è modificare i timestamp di un file. Bene, esiste un'utilità che puoi utilizzare in entrambi questi scenari. Lo strumento in questione è il touch, e in questo tutorial ne capiremo le funzionalità di base attraverso esempi di facile comprensione.

Tieni presente che tutti gli esempi che utilizzeremo qui sono stati testati su una macchina Ubuntu 22.04.

Comando Linux Touch

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

Di seguito la sintassi generica dei comandi:

touch [OPTION]... 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 domande e risposte ti daranno un'idea migliore di come funziona lo strumento.

1. Come modificare l'orario di accesso/modifica tramite il comando touch

Questo è semplice e piuttosto diretto. Prendiamo un file esistente come esempio. Lo screenshot seguente mostra i tempi di accesso e modifica per un file chiamato apl.c.

Ecco come è possibile utilizzare il comando touch per modificare i tempi di accesso e modifica dei file:

touch apl.c

Lo screenshot seguente conferma la modifica di questi timestamp.

2. Come modificare solo l'orario di accesso o di modifica

Per impostazione predefinita, il comando touch modifica sia l'orario di accesso che quello di modifica del file di input. Tuttavia, se lo desideri, puoi limitare questo comportamento a uno qualsiasi di questi timestamp. Ciò significa che è possibile modificare l'ora di accesso o il timestamp di modifica.

Nel caso in cui desideri modificare solo l'ora di accesso, utilizza l'opzione della riga di comando -a.

touch -a [filename]

Analogamente, se il requisito è modificare solo l'ora di modifica, utilizzare l'opzione della riga di comando -m.

touch -m [filename]

3. Come fare in modo che il tocco usi i tempi di accesso/modifica del file esistente

Se lo desideri, puoi anche forzare il comando touch per copiare i timestamp di accesso e modifica da un file di riferimento. Ad esempio, supponiamo di voler modificare i timestamp per il file apl.c. Ecco i timestamp correnti per questo file:

E questo è il file che vuoi utilizzare come riferimento:

Ora, affinché touch utilizzi i timestamp di apl per apl.c, dovrai utilizzare l'opzione della riga di comando -r nel modo seguente:

touch apl.c -r apl

Lo screenshot sopra mostra che i timestamp di modifica e accesso per apl.c sono ora gli stessi di apl.

4. Come creare un nuovo file usando il tocco

Anche la creazione di un nuovo file è molto semplice. Infatti, accade automaticamente se il nome del file passato come argomento al comando touch non esiste. Ad esempio, per creare un file denominato newfile, tutto ciò che devi fare è eseguire il seguente comando touch:

touch newfile

5. Come forzare il tocco per non creare alcun nuovo file

Nel caso in cui ci sia un requisito rigoroso che il comando touch non dovrebbe creare nuovi file, allora puoi usare l'opzione -c.

touch -c [filename]

Lo screenshot seguente mostra che poiché newfile12 non esisteva e abbiamo utilizzato l'opzione della riga di comando -c, il comando touch non ha creato il file.

6. Come funziona il tocco in caso di collegamenti simbolici

Per impostazione predefinita, se si passa il nome di un file di collegamento simbolico al comando touch, i timestamp di modifica e accesso saranno per il file originale (quello a cui fa riferimento il collegamento simbolico). Tuttavia, lo strumento offre anche un'opzione (-h) che consente di ignorare 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 si desidera modificare i timestamp di modifica e accesso per il collegamento simbolico (e non il file originale), utilizzare il comando touch nel modo seguente:

touch -h [sym link file name]

Conclusione

Come saresti d'accordo, toccare non è un comando difficile da capire e usare. Gli esempi/le opzioni che abbiamo discusso in questo tutorial dovrebbero essere sufficienti per iniziare con lo strumento. Mentre i neofiti si troveranno principalmente a utilizzare l'utilità per creare nuovi file, gli utenti più esperti ci giocano anche per molti altri scopi. Per ulteriori informazioni sul comando touch, vai al comando tee.