How to Use the Touch Command in Linux

Introduction to the Touch Command The `touch` command in Linux is a fundamental tool used primarily for creating empty files and updating the timestamps of existing files. It is essential for system administrators and developers who need to manage files efficiently. By leveraging the `touch` command, you can create new…

Introduction to the Touch Command

The `touch` command in Linux is a fundamental tool used primarily for creating empty files and updating the timestamps of existing files. It is essential for system administrators and developers who need to manage files efficiently. By leveraging the `touch` command, you can create new files without opening an editor, modify access and modification times, and more.

If you want to take your Linux skills to the next level, then consider enrolling in our Linux course which includes video lessons and pre-configured IT labs!

Course: Linux Server Administration

This course is a comprehensive course designed to guide learners through the vast landscape of Linux…

51 Lessons
4 Quizzes
2 Labs
5.5 Hr

Primary Functions of the `touch` Command:

1. Creating Empty Files**: Simply type touch filename, and an empty file with the specified name will be created in the current directory.
2. Updating Timestamps**: touch filename updates the access and modification times of an existing file to the current time.
3. Setting Specific Timestamps**: Use the -t option followed by a timestamp in the format [[CC]YY]MMDDhhmm[.ss] to set precise dates and times.

Using the Touch Command

The basic syntax of the `touch` command is straightforward:

touch [OPTION]... FILE...

Creating a File

For example, to create a single empty file:

touch myfile.txt

If `myfile.txt` already exists, `touch` will update its timestamps to the current date and time without altering its content.

Creating Multiple Files

To create multiple files at once:

touch file1.txt file2.txt file3.txt

This creates or updates all specified files’ timestamps.

Updating Specific Timestamps

To change only the access time (atime) or modification time (mtime) of a file, use the `-a` or `-m` options respectively:

touch -a example.txt # Updates only the access time
touch -m example.txt # Updates only the modification time

Touch Command Options

-a Option

The `-a` option updates only the access time of a file:

touch -a filename

-m Option

The `-m` option updates only the modification time of a file:

touch -m filename

Setting Specific Timestamps

Use the `-t` option to set specific timestamps:

touch -t 202310101200.00 myfile.txt

Alternatively, use the `-d` option for a more human-readable format:

touch -d "2023-07-10 10:30" archive.txt

Preventing File Creation

The `-c` or `–no-create` option prevents the creation of a new file if it does not exist:

touch -c filename

Synchronizing Timestamps

The `-r` or `–reference` option allows you to update the timestamps of a file based on another file’s timestamps:

touch -r source.txt destination.txt

Help and Version Information

To quickly access help or check the version of the `touch` command, use the `–help` and `–version` options:

touch --help
touch --version

Practical Examples

Creating Files

To create a single empty file:

touch newfile.txt

For creating multiple empty files:

touch file1.txt file2.txt file3.txt

Setting Specific Timestamps

To set the timestamp of `report.txt` to 5:30 PM on March 27, 2022:

touch -t 202203271730.00 report.txt

Changing Access and Modification Times

To update only the access time of `document.txt`:

touch -a document.txt

To update only the modification time of `log.txt`:

touch -m log.txt

Using Date Strings

To set the timestamp of `archive.txt` to July 10, 2023, at 10:30 AM:

touch -d "2023-07-10 10:30" archive.txt

Or for a more human-friendly approach:

touch -d "next Tuesday" reminder.txt

Conclusion

The touch command is indispensable for quickly creating empty files and updating file timestamps. It allows users to efficiently manage file creation and timestamp updates with simple commands and versatile options like -a, -m, -t, -d, -c, and -r.

Happy touching!

CREATE YOUR FREE ACCOUNT & GET OUR

FREE IT LABS

Posted in
profile avatar

Paul Hill

Paul Hill is the founder of ServerAcademy.com and IT instructor to over 500,000 students online!