Guide to the Linux touch Command

The Linux touch command is a versatile tool that allows you to create new files and update timestamps on existing files. In this guide, we will explain the basic use of the touch command and some of its advanced options. We will also provide examples of how to use the command and show the corresponding output. By the end of this guide, you'll have a solid understanding of how to use the touch command to manage files on your Linux system.

Basic Usage

The basic syntax of the touch command is as follows ?

touch [options] file

The file argument can be a new file or an existing file. If the file doesn't exist, the touch command will create it. If the file already exists, the touch command will update the access and modification timestamps to the current date and time.

Here is an example of how to use the touch command to create a new file called "example.txt" ?

touch example.txt

As you can see, the touch command does not produce any output when used to create a new file. To verify that the file was created, you can use the ls command to list the contents of the current directory ?

ls -l example.txt
-rw-r--r-- 1 user user 0 Jan 25 15:00 example.txt

The -l option used with the ls command provides a detailed listing of the file, including its permissions, timestamps, and ownership.

Advanced Options

The touch command has several advanced options that can be used to customize its behavior. Some of the most commonly used options are ?

  • -a ? Updates only the access timestamp of the file

  • -m ? Updates only the modification timestamp of the file

  • -d ? Allows you to specify a specific date and time for the timestamps

  • -t ? Allows you to specify a timestamp in MMDDhhmm[[CC]YY][.ss] format

  • -c ? Does not create the file if it doesn't exist

Setting Specific Timestamps

Here's an example of how to use the -d option to change timestamps on an existing file ?

touch -d "2022-01-01 12:00:00" example.txt

To verify that the timestamps have been updated, you can use the ls command with the -l option ?

ls -l example.txt
-rw-r--r-- 1 user user 0 Jan  1 12:00 example.txt

Working with Multiple Files

The touch command can also be used to update timestamps on multiple files at once. To do this, simply specify multiple file arguments ?

touch file1.txt file2.txt file3.txt

You can also use wildcard patterns to touch multiple files ?

touch *.txt

Scripting and Automation

The touch command is not only useful for manual file management but also for scripting and automation. The ability to create new files, update timestamps, and specify specific timestamps makes it a useful tool for automating tasks like backups, log rotations, and other scheduled tasks.

For example, a script that creates a new log file with the current date and time in the file name could use the touch command ?

#!/bin/bash

# Create a new log file with the current date and time
filename="log_$(date +%Y%m%d_%H%M%S).txt"
touch $filename

# Add some content to the log file
echo "Log file created at $(date)" >> $filename

This script creates a new log file with a name that includes the current date and time, and then adds a line of text with the current date and time to the file. This can be useful for tracking when the log file was created and makes it easier to identify which log file contains the information you need.

Common Use Cases

  • Creating placeholder files ? Useful in build systems and deployment scripts

  • Updating file timestamps ? Important for backup and synchronization tools

  • Triggering make builds ? By touching dependency files to force rebuilds

  • Log file management ? Creating dated log files for rotation

Practical Examples

Here are some practical examples of using the touch command ?

Create multiple files at once ?

touch file{1..5}.txt

Update only access time ?

touch -a document.txt

Set a specific timestamp using -t option ?

touch -t 202301011200 example.txt

Conclusion

The Linux touch command is a powerful and versatile tool for file management, timestamp manipulation, and automation tasks. Whether you're creating placeholder files, updating timestamps for build systems, or managing log files in scripts, touch provides a simple yet effective solution. Its ability to work with multiple files and precise timestamp control makes it an invaluable tool for any Linux user or system administrator.

Updated on: 2026-03-17T09:01:38+05:30

995 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements