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.