Come usare il comando Touch in Linux

Come usare il comando Touch in Linux
Computer portatile nero e argento con funzione mobile Immagine Touch Command

Vuoi creare un file velocemente, ma non vuoi aprire un editor di testo o navigare attraverso un’interfaccia grafica? Non cercare oltre il touchcomando. Questo comando è utile per creare file vuoti e aggiornare i timestamp dei file, il che è fondamentale per gestire i backup ed eseguire gli script in modo efficace.

Questa guida esplorerà come utilizzare il comando touch in Linux per creare uno o più file vuoti o per modificare i timestamp in base alle esigenze di scripting.

Come funziona il comando Touch

Nei sistemi UNIX/Linux, il touchcomando è spesso utilizzato per creare rapidamente file vuoti. Inoltre, è possibile utilizzarlo per modificare i timestamp, in particolare gli orari di accesso e modifica dei file già esistenti.

Se il file non esiste, touch lo genererà, anche se senza alcun contenuto. Inoltre, la sua capacità di modificare i timestamp lo rende inestimabile nello scripting e nella gestione dei file system.

La sintassi del comando touch è la seguente:

Crea un file vuoto

Creare un file vuoto con il comando touch è molto semplice. Basta usare il touchcomando senza flag/opzioni:

Per verificare la creazione del file, puoi controllarne la dimensione utilizzando il statcomando:

Controllo della dimensione del file vuoto tramite il comando stat.

Nell’output, cerca il campo Size . Se mostra 0, il file è vuoto.

Inoltre, se il file esiste già, il comando touch aggiorna gli orari di accesso (atime) e di modifica (mtime) all’ora corrente, senza influire sul contenuto o sui permessi del file.

Crea più file vuoti

E se ti serve più di un file vuoto? Con Touch, puoi creare più file contemporaneamente. Ad esempio, creiamo più file separati da spazi, come questo:

È possibile verificare la creazione di questi file vuoti multipli eseguendo questo comando:

Creazione e controllo della dimensione dei file vuoti multipli.

È anche possibile creare una serie di file con nomi composti da lettere o numeri utilizzando le parentesi graffe.

Creiamo più file con nomi numerati:

Per confermarlo, visualizza i file nella directory specificata.

Visualizzazione di più file vuoti nella directory specificata.

Allo stesso modo, puoi anche creare file con nomi composti da lettere:

Opzioni del comando touch

Come detto in precedenza, quel comando touch non riguarda solo la creazione di file, ma anche uno strumento per gestire i timestamp dei file. Per manipolare questi timestamp, devi sapere come funzionano le opzioni del comando touch. Diamo un’occhiata:

Opzione Descrizione
-UN Aggiorna solo l’orario di accesso al file.
-C Impedisce la creazione di un nuovo file se non esiste già.
-d=, –data= Modifica la marca temporale di un file utilizzando una stringa di data specificata.
-M Aggiorna solo l’ora di modifica del file.
-R Utilizza atime e mtime da un file di riferimento.
-T Modifica la marca temporale di un file utilizzando una data e un’ora specificate.

Modifica dell’ora di accesso al file

Il tempo di accesso, o atime, è il timestamp che si aggiorna ogni volta che si accede al contenuto di un file utilizzando strumenti da riga di comando come grep o cat, oppure editor di testo come vim o nano.

Di default, touch aggiorna sia gli orari di accesso che di modifica. Tuttavia, se vuoi modificare solo l’orario di accesso, puoi usare l’ -aopzione con il touchcomando. Ciò è particolarmente utile per simulare l’utilizzo dei file o per regolare i log per determinate operazioni.

Tempo di accesso al file specificato prima della modifica.

Ora puoi modificare l’ora di accesso di un file specificato utilizzando touch -ail comando:

Inoltre, il comando sopra riportato aggiornerà l’ora di accesso del file specificato all’ora corrente senza influenzare l’mtime.

Verifichiamo la modifica eseguendo:

Visualizzazione dell'ora di accesso del file specificato nella finestra del terminale dopo la modifica.

Inoltre, puoi anche impostare un orario di accesso specifico combinando le opzioni -ae -t. Ad esempio, per modificare l’orario di accesso al file specificato a mezzanotte del 1° giugno 2010:

Qui, l’ -aopzione modifica l’ora di accesso e -tspecifica l’ora nel formato [[CC]YY]MMDDhhmm[.ss] .

Ancora una volta, per verificare le modifiche, puoi usare questo comando:

Assegnazione di un tempo di accesso specifico a un file utilizzando le opzioni del comando touch.

Modifica del tempo di modifica

L’ora di modifica, o time, è il timestamp che cambia ogni volta che il contenuto di un file viene modificato. Tuttavia, non tiene traccia delle modifiche relative ai permessi o alla proprietà del file.

Per aggiornare solo l’ora dell’ultima modifica di un file senza alterare l’ora di accesso, è possibile utilizzare l’ -mopzione del comando touch:

Per verificare le modifiche, utilizzare il statcomando:

Visualizzazione dell'ora di modifica dopo averla modificata utilizzando l'opzione -m.

In questo modo mtime viene modificato nel momento presente, lasciando invariato il tempo di accesso (atime).

Se hai bisogno di impostare un timestamp specifico per l’ora di modifica, devi combinare le -mopzioni con l’ -topzione. Ad esempio, per impostare l’ora di modifica alle 08:45 del 19 giugno 2014, esegui:

Successivamente, verifica l’ora di modifica aggiornata eseguendo:

Visualizzazione dell'ora di modifica del file tramite il comando stat.

Modifica Orario di modifica e accesso

Ci sono casi in cui potresti aver bisogno di aggiornare sia atime che mtime contemporaneamente. Per farlo, usa il comando touch indipendentemente da qualsiasi opzione.

L’esecuzione di questo comando modifica sia atime che mtime all’ora corrente. Utilizzalo quando vuoi aggiornare i timestamp di un file per riflettere interazioni o modifiche recenti senza modificare il contenuto del file.

Inoltre, è possibile utilizzare l’ opzione -aand -minsieme al touchcomando per modificare sia l’orario di accesso che quello di modifica:

Puoi verificare gli orari aggiornati eseguendo questo:

Creazione di file utilizzando il tempo specificato

A volte, potresti voler impostare il timestamp di un file su un orario e una data specifici anziché sul momento corrente. L’ -topzione seguita dal timestamp desiderato nel formato [[CC]YY]MMDDhhmm[.ss] , ti consente di fare proprio questo.

Ad esempio, se si desidera impostare gli orari di accesso e modifica di un determinato file al 1° gennaio 2024 alle 12:30, è necessario immettere:

Per confermare la modifica, eseguire:

Visualizzazione dei valori atime e mtime dopo averli modificati utilizzando l'opzione -t del comando touch.

Puoi anche usare l’ -ropzione per aggiornare il timestamp di un file per farlo corrispondere a quello di un altro file. Ad esempio, cambiamo il happy.txttimestamp del file in base al new_file.txttimestamp.

Ma prima di apportare modifiche, diamo un’occhiata all’ora di modifica dei file specificati:

elencando tutti i file con la loro data di modifica.

Dopodiché, modifica la marca temporale di un file in modo che corrisponda alla marca temporale di un altro file:

Verificare la modifica con:

Elencare tutti i file insieme alla loro data di modifica dopo aver modificato il timestamp con l'opzione -r.

Alternativa al comando Touch

Sebbene il touch sia il mio strumento preferito per la creazione rapida di file e la manipolazione di timestamp, ci sono altri metodi che puoi usare. Esploriamo alcune di queste alternative.

Comando del gatto

Spesso si usa il comando cat per visualizzare il contenuto dei file, ma può anche creare file. Utilizzando cat con un operatore di reindirizzamento, è possibile generare un file vuoto:

Questo comando crea filename.txte ti inserisce in modalità input. Se premi Ctrl+ D, termina l’input e lascia il file vuoto.

Operatore di reindirizzamento

Gli operatori di reindirizzamento (>, >>) sono un altro metodo per creare file. Utilizzando l’ >operatore, puoi creare un file vuoto o sovrascriverne uno esistente:

È possibile utilizzare anche l’ >>operatore , ma in questo caso il contenuto viene aggiunto a un file esistente anziché crearne uno nuovo o lasciarlo vuoto.

Editor di testo

Esistono molti editor di testo a riga di comando, come nano, vim o emacs, che consentono di creare e modificare file. Inoltre, è possibile utilizzare questi editor di testo per creare un file vuoto.

Ad esempio, per creare un file vuoto con Vim, esegui:

Quando apri Vim, sarai in modalità comando per impostazione predefinita. Premi iper passare alla modalità inserimento, dove puoi digitare o modificare il contenuto.

Dopo essere entrati in modalità inserimento, premete Esc per tornare alla modalità comando. Quindi, digitate :wqe premete Invio per salvare il vostro lavoro e uscire da Vim. Ed ecco fatto: avete creato un file vuoto usando Vim!

Conclusione

Linux offre diversi modi per gestire i file, ma touch utility si distingue per la sua semplicità ed efficacia. Puoi anche imparare come eseguire altre operazioni su Linux come concatenare file, trovare file o rimuovere file e altro.

Credito immagine: Unsplash . Tutte le modifiche e gli screenshot sono di Haroon Javed.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *