fts_set - Linux


Overview

fts_set provides a user-friendly interface to manage filesystem timestamps. It allows you to set, adjust, or reset timestamps on files and directories, including the modification, access, and creation times.

Syntax

fts_set [options] <path>

Options/Flags

  • -m, –modification: Set or adjust the modification timestamp.
  • -a, –access: Set or adjust the access timestamp.
  • -c, –creation: Set or adjust the creation timestamp.
  • -t, –time: Specify a timestamp in the format "YYYY-MM-DD hh:mm:ss".
  • -s, –shift: Shift the timestamp by a specified number of seconds.
  • -u, –user: Set the timestamp to the current user’s login time.
  • -g, –group: Set the timestamp to the current group’s login time.
  • -v, –verbose: Print detailed information during execution.
  • -h, –help: Display usage information.

Examples

Set the modification time of a file to 2023-07-14 15:30:00:

fts_set -m "2023-07-14 15:30:00" file.txt

Shift the access time of a file back by 3 days:

fts_set -a -s -259200 file.txt

Set the creation time of a directory to the current user’s login time:

fts_set -c -u directory

Common Issues

  • Timestamps not being set: Ensure you have write permissions to the file or directory.
  • Invalid timestamp format: Verify the timestamp follows the specified format "YYYY-MM-DD hh:mm:ss".
  • Timestamp not changing: Try using sudo to elevate privileges or check for file system permissions that prevent modification.

Integration

Combine with "find":

find . -name "*.txt" -exec fts_set -m "2023-07-14 15:30:00" {} \;

Related Commands

  • touch: Modify file timestamps.
  • exiftool: Extract and edit metadata, including timestamps.
  • stat: Display file and directory status, including timestamps.