Commands.page Logo

Which Option Preserves Timestamps in Ubuntu Linux Archives

This article outlines the method for maintaining original file metadata when working with compressed archives on Ubuntu. It identifies the specific command-line option required to ensure modification times and permissions remain unchanged during the extraction process.

The Tar Command and Preservation

The standard tool for handling archives in Ubuntu is tar. When creating an archive, tar stores the original modification times of files by default. However, ensuring these timestamps are restored correctly upon extraction requires specific attention to command flags.

The option that explicitly preserves original permissions and timestamps during extraction is --preserve or its shorthand -p. While modern versions of tar often restore modification times by default, using the preserve flag guarantees that all file attributes, including ownership and timestamps, match the original source exactly.

How to Use the Preserve Option

To extract an archive while keeping the original timestamps, use the following command structure in the terminal:

tar -xvpf archive.tar.gz

In this command: * -x: Extracts the archive. * -v: Verbose output (optional, shows progress). * -p: Preserves permissions and timestamps. * -f: Specifies the filename of the archive.

Alternatively, you can use the long-form option for clarity:

tar --extract --preserve --file=archive.tar.gz

Avoiding Timestamp Changes

To ensure timestamps are not altered, avoid using the --touch option. The --touch flag forces the extraction process to set the file modification time to the time of extraction rather than the original stored time. By sticking to the default behavior or explicitly using --preserve, you maintain the integrity of the file history within your Ubuntu environment.