GNU/Linux >> Linux Esercitazione >  >> Linux

Linux – Cp perdendo i metadati del file?

Ho un NAS Asustor che gira su Linux; Non so quale distribuzione usano.

Sono in grado di accedere utilizzando SSH e utilizzare tutti i comandi Shell. Il volume interno utilizza ext2 e gli HD USB esterni utilizzano NTFS.

Quando provo a usare cp comando per copiare qualsiasi file in giro, i metadati della data di quel file vengono modificati in datetime corrente.

Ad esempio, se utilizzo Windows per copiare il file da SMB e il file è stato modificato nel 2007, il nuovo file viene contrassegnato come creato ora nel 2017 ma modificato nel 2007. Ma con Linux cp comando anche la sua data di modifica è cambiata in 2017.

Questa data modificata è molto importante per me perché mi consente di ordinare i file su Esplora risorse di Windows in base alla data di modifica. Se viene sovrascritto, non riesco a ordinare e sembra che siano stati tutti creati ora. Uso anche la data modificata per sapere quando ho acquisito alcuni vecchi file rari.

C'è qualche parametro che posso usare in cp comando per preservare i metadati del file originale?

Aggiornamento:ho provato cp --preserve=timestamps ma non ha funzionato, ha stampato:

cp: unrecognized option '--preserve=timestamps'
BusyBox v1.19.3 (2017-03-22 17:23:49 CST) multi-call binary.

Usage: cp [OPTIONS] SOURCE DEST

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY

        -a      Same as -dpR
        -R,-r   Recurse
        -d,-P   Preserve symlinks (default if -R)
        -L      Follow all symlinks
        -H      Follow symlinks on command line
        -p      Preserve file attributes if possible
        -f      Overwrite
        -i      Prompt before overwrite
        -l,-s   Create (sym)links

Se provo solo -p dice cp: can't preserve permissions of '...': Operation not permitted , ma per quanto ho testato, i timestamp vengono conservati.

Risposta accettata:

Se usi man cp per leggere la pagina di manuale del comando di copia troverai -p and --preserve bandiere.

-p come --preserve=mode,ownership,timestamps

e

--preserve[=ATTR_LIST] conserva gli attributi specificati (predefinito:mode,ownership,timestamps ), se possibile attributi aggiuntivi:context , links , xattr , all

Ciò a cui questo si riduce è che dovresti usare cp -p invece di solo cp .


Linux
  1. Come spostare un file in Linux

  2. Nozioni di base sui permessi dei file Linux

  3. Linux:tutto è un file?

  4. Come rinominare un file in Linux?

  5. Comando wc Linux

Comando Gunzip in Linux

Comando Stat in Linux

Cos'è umask in Linux?

Come collegare simbolicamente un file in Linux

Estrai il file tar.gz in Linux

Che cos'è il file .bashrc in Linux?