GNU/Linux >> Linux Esercitazione >  >> Linux

Come utilizzare il comando touch in Linux

Introduzione

Il touch la funzione principale del comando è quella di modificare un timestamp. Comunemente, l'utilità viene utilizzata per la creazione di file, sebbene questa non sia la sua funzione principale. Il programma del terminale può modificare la modifica e il tempo di accesso per un determinato file. Il touch comando crea un file solo se il file non esiste già.

Questo tutorial spiega come utilizzare il touch comando con opzioni di base e avanzate.

Prerequisiti

  • Un sistema che esegue Linux.
  • Accesso alla riga di comando/terminale.
  • Comandi di base del terminale, come ls .

tocca Sintassi dei comandi

La sintassi fondamentale per il touch il comando è:

touch <options> <file or directory name>

L'utilità touch funziona senza alcuna opzione o con più opzioni per query avanzate. Alcune opzioni hanno un formato lungo e corto. Se un'opzione richiede informazioni aggiuntive, i dati sono obbligatori sia per i moduli lunghi che per quelli brevi.

tocca Opzioni comando

Di seguito è riportata una tabella di riferimento per tutti i touch disponibili opzioni di comando:

Opzione Descrizione
-a Modifica il tempo di accesso.
-c
--no-create
Evita di creare un nuovo file.
-d=<string>
--date=<string>
Modifica un timestamp utilizzando una stringa di data.
-f Nessun effetto. Nei vecchi BSD l'opzione forza le modifiche.
-h
--no-dereference
Modifica il timestamp di un collegamento simbolico.
-m Modifica l'ora di modifica.
-r=<file>
--reference=<file>
Modifica un timestamp nel timestamp del file di riferimento.
-t <stamp> Modifica un timestamp, dove il timbro è il formato data/ora.
--help Apre il menu della guida.
-v
--version
Stampa la versione del programma.

Esempi di tocco Linux

Quando si lavora con i file in Linux, ci sono tre timestamp di cui tenere conto:

1. Tempo di accesso o tempo cambia quando un comando legge il contenuto del file, come grep o cat. Il ls -lu il comando visualizza l'ora per i file.

2. Cambia ora o tempo cambia quando la proprietà di un file cambia, ad esempio rinominando i file, modificando l'autorizzazione del file o spostando il file. Il ls -lc comando mostra il ctime per i file.

3. Tempo di modifica o mtime cambia quando il contenuto di un file cambia. Il ls -l il comando mostra l'mtime per i file.

Gli esempi seguenti sono tutti eseguiti dal terminale e mostrano come utilizzare il touch di Linux comando con varie opzioni e quale output aspettarsi.

Crea file

Il modo più semplice per utilizzare il touch comando è senza opzioni:

touch <filename>

Se un file non esiste, tocca crea il file. Ad esempio, per creare un file chiamato test , esegui:

touch test

Elenca il contenuto della directory per vedere il file usando il comando ls.

Se il file esiste già, tocca cambia il timestamp con l'ora corrente.

Il contenuto del file e le autorizzazioni rimangono invariati.

Crea più file

Il touch comando può anche creare più file. Per farlo, elenca i nomi dei file separati da spazi:

touch <filename> <filename>

Ad esempio:

touch test1 test2

Un modo utile per applicare touch consiste nel creare grandi batch di file. Per farlo, aggiungi le parentesi graffe e indica il primo e l'ultimo elemento oltre al nome del file:

touch <filename{<start>..<finish>}>

Ad esempio, per creare dieci file con numerazione aggiunta, eseguire:

touch test{1..10}

Il comando funziona anche con le lettere. Ad esempio:

touch test_{a..j}

Importante :Il comando non può combinare numeri e lettere.

Imposta timestamp specifico

Usa il touch comando per impostare un timestamp specifico per un file esistente, ad esempio:

touch -t <timestamp> <filename>

Il formato del timestamp segue uno schema specifico:

[[CC]YY]MMDDhhmm[.ss]
  • CC - le prime due cifre per un anno
  • YY - le ultime due cifre per un anno
  • MM - il mese
  • DD - il giorno
  • hh - l'ora
  • mm - il verbale
  • ss - i secondi

Le cifre tra parentesi quadre sono facoltative. Quando si utilizza il formato anno a due cifre, impostare YY a qualsiasi numero compreso tra 0 e 68 presuppone automaticamente CC è 20, mentre 69-99 presuppone CC è 19.

Ad esempio, per modificare il timestamp di un file chiamato test a mezzanotte del 1 gennaio 1999 , esegui:

touch -t 199901010000 test

Usa il --full-time opzione con ls per vedere i dettagli del timestamp.

Imposta il timestamp del file utilizzando la stringa di data

Il touch il comando usa il -d opzione per impostare un timestamp utilizzando una stringa di data. La sintassi è:

touch -d <string> <filename>

La stringa della data è un formato orario flessibile e accetta molte diverse forme testuali leggibili dall'uomo. Alcuni esempi includono:

  • Date del calendario, ad esempio 19 August 2020 .
  • Ora del giorno, ad esempio 9:27pm o 8:02am .
  • Giorni della settimana, ad esempio Sunday , Monday , ecc.
  • Tempo relativo, ad esempio 5 years ago , yesterday , next tuesday , ecc.

Ad esempio, modifica il timestamp utilizzando il -d opzione per tomorrow :

touch -d tomorrow test

Per vedere un elenco completo delle possibili opzioni di input di stringhe, visita la documentazione GNU sui formati di input della data.

Modifica l'ora di accesso a quella attuale

Usa il -a tag per modificare il tempo di accesso di un file. La sintassi generale è:

touch -a <filename>

Ad esempio, per mostrare il tempo di accesso di un file, esegui:

ls -lu

Quindi, modifica il tempo di accesso per il file denominato test con:

touch -a test

Infine, visualizza l'ora modificata eseguendo:

ls -lu

L'ora di accesso cambia nel timestamp corrente.

Modifica esplicitamente l'ora di accesso

Modifica il tempo di accesso a un timestamp specifico combinando il -a e -t opzioni:

touch -at <timestamp> <filename>

Verificare il tempo di accesso ai file prima di modificarlo:

ls -lu

Modificare il tempo di accesso per il file test a mezzanotte 1 gennaio 1999 , aggiungendo il timestamp:

touch -at 9901010000 test

Infine, controlla il tempo di accesso dopo la modifica:

ls -lu

Dopo aver eseguito il comando, il tempo di accesso cambia al valore impostato con il -t tag.

Modifica l'ora di modifica in quella attuale

Il touch comando offre un'opzione per modificare l'ora di modifica. La sintassi di base è:

touch -m <filename>

Ad esempio, controlla l'mtime del file prima di modificare il timestamp:

ls -l

Quindi, cambia l'ora di modifica per il file di prova:

touch -m test

Infine, controlla il tempo dopo la modifica:

ls -l

Il -m l'opzione cambia l'ora di modifica al timestamp corrente per impostazione predefinita.

Modifica esplicitamente l'ora di modifica

Combina il -m opzione con -t per indicare esplicitamente il timestamp di modifica. La sintassi generale è:

touch -mt <timestamp> <filename>

Controlla l'ora del file prima di cambiarlo:

ls -l

Modifica l'ora di modifica alla mezzanotte del 1 gennaio 1999 , eseguendo:

touch -mt 9901010000 test

Infine, ricontrolla l'ora di modifica:

ls -l

Aggiunta del -t l'opzione aggiorna l'ora di modifica a un valore specifico.

Modifica sia la modifica che il tempo di accesso

L'utility touch permette di modificare la modifica e il tempo di accesso con un solo comando. Per farlo, esegui:

touch -am <filename>

Prima di modificare atime e mtime, verificarlo con:

ls -lu
ls -l

Quindi, cambia entrambe le volte per il test file al timestamp corrente:

touch -am test

Controllare l'ora e l'ora dopo la modifica:

ls -lu
ls -l

Le opzioni combinate cambiano entrambe le volte in una volta sola all'ora corrente. Combina ulteriormente con il -t tag per indicare un timestamp esplicito.

Evita di creare un nuovo file

Per impostazione predefinita, il tocco genera un nuovo file se non esiste. Tuttavia, alcune situazioni richiedono l'override di questa funzionalità. Aggiungi il -c opzione per evitare di creare un nuovo file quando si richiama il touch comando:

touch -c <filename>

Ad esempio, prova a eseguire touch con il -c opzione con un file inesistente:

touch -c new_test

Elenca il contenuto della directory per confermare che il file non è presente:

ls -l

Se invece il file esiste, il touch comando esegue le operazioni fornite sul file esistente come al solito.

Imposta il timestamp utilizzando un file di riferimento

Il touch Il comando offre un'utile opzione per modificare il timestamp di un file in base al timestamp di un altro file.

Per eseguire tale modifica, eseguire:

touch -r <reference file> <file>

Ad esempio, crea un nuovo file e fai riferimento al timestamp di un test esistente file:

touch -r test new_test

Controlla il timestamp di entrambi i file con:

ls -l

Il nuovo_test eredita il timestamp dal test file.

Imposta il timestamp utilizzando un collegamento simbolico

Il touch Il comando consente di modificare il timestamp per i collegamenti simbolici senza modificare il timestamp del file di riferimento. Usa il -h opzione per modificare l'ora di un collegamento simbolico:

touch -h <filename>

Ad esempio, controlla l'ora di un collegamento simbolico esistente prima di qualsiasi modifica:

ls -l

Modificare il timestamp per il collegamento simbolico all'ora corrente:

touch -h link

Infine, ricontrolla il timestamp per confermare la modifica:

ls -l

Senza il -h opzione, il touch comando cambia solo il test timestamp del file.

In questo caso, il timestamp del collegamento simbolico rimane invariato.


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando cronologia di Linux

  4. Come utilizzare il comando Tar in Linux

  5. Come utilizzare il comando touch di Linux + esempi

Come utilizzare un comando file in Linux

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come usare il comando xargs in Linux?

Come utilizzare il comando Gzip in Linux?

Come usare il comando lsof in Linux