comando touch
Finalità
Aggiorna i tempi di accesso e modifica di un file.
Sintassi
touch [- a c m f] [-r ref_file | -t tempo | -d date_time ] file... | Directory
Descrizione
Il comando touch aggiorna i tempi di accesso e modifica di ogni file specificato dal parametro File di ogni directory specificata dal parametro Directory . Se non si specifica un valore per la variabile Tempo , il comando touch utilizza l'ora corrente. Se si specifica un file che non esiste, il comando touch crea il file a meno che non venga specificato il flag -c .
Il codice di ritorno dal comando touch è il numero di file per i quali i tempi non potrebbero essere modificati con successo (inclusi i file che non esistavano e non sono stati creati).
Gli indicatori -a e -m sono attivi anche quando non si specificano nel comando touch .
Indicatori
| Elemento | Descrizione |
|---|---|
| -a | Cambia l'orario di accesso del file specificato dalla variabile File . Non cambia il tempo di modifica a meno che non sia specificato anche -m . |
| -c | Non crea il file se non esiste già. Non sono scritti messaggi diagnostici riguardanti questa condizione. |
| -d Tempo Date_Tempo | Utilizza la data e l'ora specificate invece dell'ora corrente. La variabile date_time è specificata nel formato decimale, YYYY - MM - DDThh:mm: SS [ .frac] [ tz] o YYYY - MM - DDThh:mm: SS [, frac] [ tz], dove:
|
| -F | Tenta di forzare il tocco nonostante le autorizzazioni di lettura e scrittura su un file. |
| -m | Cambia il tempo di modifica di File. Non cambia il tempo di accesso a meno che non sia specificato anche -a . |
| -r RefFile | Utilizza l'ora corrispondente del file specificato dalla variabile RefFile invece dell'ora corrente. |
| Ora | Specifica la data e l'ora della nuova registrazione data / ora nel formato MMDDhhmm[ YY], dove:
Se il valore delle cifre YY è compreso tra 70 e 99, il secolo si presume sia di 19. Se il valore delle cifre YY è compreso tra 00 e 37, il secolo si presume sia di 20. |
| -t Tempo | Utilizza il tempo specificato invece del tempo corrente. La variabile Tempo viene specificata nella forma decimale [ [CC]YY]MMDDhhmm[.SS] dove:
|
- Il comando touch richiama la sottoroutine utimenstat () per modificare i tempi di modifica e di accesso del file toccato. Questo può causare il malfunzionamento del comando touch quando gli indicatori vengono utilizzati se non si possiede in realtà il file, anche se è possibile avere l'autorizzazione di scrittura al file.
- Non specificare il nome percorso completo /usr/bin/touch se si riceve un messaggio di errore quando si utilizza il comando touch .
Stato uscita
Questo comando restituisce i seguenti valori di uscita:
| Elemento | Descrizione |
|---|---|
| 0 | Il comando eseguito correttamente. Tutte le modifiche richieste sono state apportate. |
| > 0 | Si è verificato un errore. |
Sicurezza
HM
Esempi
- Per aggiornare i tempi di accesso e modifica di un file, inserire:
Questo imposta gli ultimi tempi di accesso e di modifica dellaprogram.cfile alla data e ora corrente. Se il comandoprogram.cil file non esiste, il comando touch crea un file vuoto con tale nome.touch program.c - Per evitare di creare un nuovo file, inserire:touch -c program.c
- Per aggiornare solo il tempo di modifica, inserire:touch -m *.oQuesto aggiorna gli ultimi tempi di modifica (non i tempi di accesso) dei file che terminano con un.oestensione nella directory corrente. Il comando touch viene spesso utilizzato in questo modo per alterare i risultati del comando make .
- Per impostare esplicitamente i tempi di accesso e di modifica, inserire:Questo imposta le date di accesso e modifica su 1 4: 25 (2:25 p.m.) 17 febbraio dell'anno in corso.
- Per utilizzare la data ora di un altro file invece del tempo corrente, inserire:touch -r file1 program.cQuesto dà ilprogram.cfile la stessa ora timbrofile1.xlsx.
- Per toccare un file utilizzando un tempo specificato diverso dall'ora corrente, inserire:touch -t 198503030303.55 program.cQuesto dà ilprogram.cuna data / ora di 3:03:55 a.m. il 3 marzo 1985.
File
| Elemento | Descrizione |
|---|---|
| /usr/bin/touch | Contiene il comando touch . |