Definition:
In the terminal, when you use the touch
command on a file that already exists, it remains unchanged.
If the file is already present, touch
only updates its last accessed and modified time—it does not create a new file.
Syntax:
touch [option] filename
Options:
- -a: Updates just the file’s access time, leaving the modification time unchanged.
- -m: Updates only the modification time of the file, not the access time.
- -c: If the file does not exist, it will not create a new file; it just skips.
- -t: You can give the file your own date and time instead of the system’s current time.
Example 1 – Create a new file
Command:
touch file.txt
Explanation: If file.txt does not appear in the directory when checked in the terminal, the touch
command creates an empty file. If file.txt already exists, it only updates the modified and access time.
Output:
$ ls -l -rw-r--r-- 1 user group 0 Sep 9 12:30 file.txt
Example 2 – Create multiple files
Command:
touch file1.txt file2.txt file3.txt
Explanation: This command creates three new files at once or updates their timestamps if they already exist.
Output:
$ ls -l -rw-r--r-- 1 user group 0 Sep 9 12:30 file1.txt -rw-r--r-- 1 user group 0 Sep 9 12:30 file2.txt -rw-r--r-- 1 user group 0 Sep 9 12:30 file3.txt
Example 3 – Change date & time
Command:
touch -t 202509091230 file.txt
Explanation: This sets the file’s last modified/access time to 2025-09-09, 12:30.
Output:
$ ls -l -rw-r--r-- 1 user group 0 Sep 9 12:30 file.txt
Option Examples:
touch -a file.txt
Before: -rw-r--r-- 1 user user 0 Sep 8 10:00 file.txt After: -rw-r--r-- 1 user user 0 Sep 8 11:15 file.txt
touch -m file.txt
Before: -rw-r--r-- 1 user user 0 Sep 8 10:00 file.txt After: -rw-r--r-- 1 user user 0 Sep 8 11:20 file.txt
touch -c file_not_exist.txt
(no output)
touch -t 202509091230.45 file.txt
-rw-r--r-- 1 user user 0 Sep 9 12:30 file.txt