4

I'm copying files and folders over from one filesystem to another (both are ext3) via cp in the terminal. The 'date modified' on all of the files are being changed to the current time although I am not modifying the folder or the files. I'd like for them to keep their existing 'last modified date' which vary within the past 5 years.

I am not interested in changing them to a specific date as described this previous question, but to maintain the existing 'last modified' date.

EDIT: This is still applicable for versions of ubuntu 12.04+ and newer

1 Answer 1

4
cp --preserve=timestamps <source> <destination>

If you are recursively copying you could use:

cp -a <source> <destination>

From the cp manual page:

-a, --archive
       same as -dR --preserve=all

-d     same as --no-dereference --preserve=links

-R, -r, --recursive
       copy directories recursively

--preserve[=ATTR_LIST]
       preserve  the specified attributes (default: mode,ownership,timestamps),
       if possible additional attributes: context, links, xattr, all
2
  • Thanks, I read over the cp man page again and found it as well ! Will mark this as answer once I'm eligible to. For anyone else interested, the p parameter, a shortcut of --preserve also does this, as well as the mode and ownership.
    – Will
    Jun 24, 2013 at 16:35
  • 1
    'cp -p' works and is simplest. From man page: -p is same as --preserve=mode,ownership,timestamps. Also rsync -a for archive mode.
    – gaoithe
    May 24, 2016 at 11:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .