GNU/Linux >> Linux Esercitazione >  >> Linux

Modifica degli attributi Data di creazione e Ultima modifica di un file con quelli di un altro file

Puoi usare il touch comando insieme al -r passare per applicare gli attributi di un altro file a un file.

NOTA: Non esiste una data di creazione in Unix, ci sono solo accesso, modifica e cambiamento. Consulta questa domanda e risposta di U&L intitolata:ottieni l'età del file specificato per ulteriori dettagli.

$ touch -r goldenfile newfile

Esempio

A scopo esemplificativo ecco un goldenfile che è stato creato con un timestamp arbitrario.

$ touch -d 20120101 goldenfile
$ ls -l goldenfile 
-rw-rw-r--. 1 saml saml 0 Jan  1  2012 goldenfile

Ora creo un nuovo file:

$ touch newfile
$ ls -l newfile 
-rw-rw-r--. 1 saml saml 0 Mar  7 09:06 newfile

Ora applica goldenfile attributi di newfile .

$ touch -r goldenfile newfile 
$ ls -l goldenfile newfile
-rw-rw-r--. 1 saml saml 0 Jan  1  2012 newfile
-rw-rw-r--. 1 saml saml 0 Jan  1  2012 goldenfile

Ora newfile ha gli stessi attributi.

Modifica tramite Samba

Ho appena confermato che sono in grado di farlo utilizzando il mio laptop Fedora 19 che include la versione 1.16.3-2 collegata a un NAS Thecus N12000 (utilizza una versione modificata di CentOS 5.x).

Sono stato in grado di toccare un file come ho detto sopra e ha funzionato come ho descritto. Il tuo problema è probabilmente un problema con le opzioni di montaggio utilizzate, che potrebbero omettere il tracciamento di determinati attributi temporali, o forse è correlato a uno di questi bug:

  • Bug 461505 - impossibile impostare il timestamp sulle condivisioni samba
  • Bug 693491 - Impossibile impostare attributi/timestamp sulla condivisione CIFS/Samba

Il modo più semplice:l'accesso modificato sarà lo stesso:

touch -a -m -t 201512180130.09 fileName.ext

Dove:

-a = accessed
-m = modified
-t  = timestamp - use [[CC]YY]MMDDhhmm[.ss] time format

Se desideri utilizzare NOW rilascia semplicemente il t e il timestamp

Per verificare che siano tutti uguali:stat fileName.ext

Vedi:tocca l'uomo


Linux
  1. Sostituzione del processo e tubo?

  2. Quando è stato creato il file?

  3. Copiare le ultime N righe da un file all'altro?

  4. Stampa il contenuto del file senza la prima e l'ultima riga?

  5. Modifica del formato della data in syslog

Come ottenere la data e l'ora correnti in Python

Comando Chattr in Linux (attributi dei file)

Come trovare i file modificati nelle ultime 24 ore in Linux

Comando Stat:Visualizza gli attributi di file e directory

Il puntatore del file C cambia dopo fork e (fallito) exec

Memorizza l'output del comando date e watch in un file