futimens - Linux


futimens is a powerful Linux command that allows users to update both the access time and modification time of a file or directory. It provides precise control over file timestamps, which can be useful for synchronizing files between systems, preserving file metadata during data transfers, and forensic analysis.


futimens [-f] [-n] [-t] PATH...


  • PATH...: A list of files or directories to modify the timestamps of.



Disable automatic group ownership inheritance, allowing individual file ownership to be set when combined with -n.


Don’t create new timestamps if the file does not already exist. Only the file ownership will be modified.


Use the current time as both the access and modification time of the file. If this flag is not used, the user must specify new values using the -a and -m flags.


Example 1: Set the access and modification times to the current time

$ futimens -t /path/to/file

Example 2: Set specific access and modification times

$ futimens -a 1658038400 -m 1658038460 /path/to/file

Example 3: Disable group ownership inheritance

$ futimens -n -f /path/to/file

Common Issues

  • Ensure you have write permissions to the files you are modifying.
  • When specifying timestamps, use Unix epoch time (seconds since January 1, 1970 UTC). To convert from a human-readable date, use a tool like date +%s.


  • Combine with touch to create files with specific timestamps.
  • Use with rsync to maintain file timestamps during data transfers.
  • Integrate into scripts for automated file modification tasks.

Related Commands

  • touch: Modifies a file’s timestamp without changing the file’s contents.
  • stat: Displays file status information, including timestamps.
  • date: Provides access to the current system time.