How to Use touch Command in Linux With Example

The touch command in Linux is a simple yet versatile utility used to manage files. It allows users to create empty files or update the timestamps of existing files without modifying their content. While it might seem like a straightforward tool, the touch command is integral to scripting, file management, and automation tasks.

This guide provides a comprehensive explanation of the touch command, including syntax, examples, and advanced use cases. By mastering touch, users can streamline their workflows, automate repetitive tasks, and efficiently manage file systems.

Whether you are a beginner or an experienced Linux user, this guide offers practical insights into utilizing these powerful Linux commands.

Prerequisites

To follow this guide, you need:

  • Access to the Best Linux Operating System.
  • Basic familiarity with the terminal.
  • Appropriate permissions to create and modify files in the working directory.

Syntax to Use touch Command

The basic syntax of the touch command is:

touch [OPTION]... FILE...
  • OPTION: Various flags to modify the command behavior.
  • FILE: Name(s) of the file(s) you want to create or update.

Explore more Linux file management commands to boost your productivity and master the terminal as a beginner!

Common Use Cases of the touch Command in Linux

1. Create an Empty File

The primary use of the touch command is to create an empty file.

Example:

touch example.txt

This command creates a file named example.txt in the current directory. If the file already exists, its last modified timestamp will be updated.

2. Create Multiple Files Simultaneously

You can create multiple files in one command by specifying numerous file names.

Example:

touch file1.txt file2.txt file3.txt

This creates file1.txt, file2.txt, and file3.txt in the current directory.

3. Update File Timestamps

The touch command updates the access and modification timestamps of existing files to the current time.

Example:

touch existing_file.txt

This updates the timestamps of existing_file.txt without altering its content.

4. Specify a Custom Timestamp

The -t option allows you to set a custom timestamp.

Example:

touch -t 202501090830 example.txt

This sets the timestamp of example.txt to January 9, 2025, 08:30 AM.

5. Use Another File’s Timestamp

You can use the -r option to apply the timestamp of one file to another.

Example:

touch -r source.txt target.txt

This sets the timestamp of target.txt to match source.txt.

Additional Options for touch Command

1. Prevent File Creation

The -c or --no-create option prevents touch from creating a file if it does not exist.

Example:

touch -c missing_file.txt

This does nothing if missing_file.txt does not exist.

2. Verbose Output

The -v or --verbose option provides detailed output of the operation.

Example:

touch -v example.txt

This displays a message indicating the file’s timestamp was updated.

3. Update Only Access Time

The -a option updates only the access time.

Example:

touch -a example.txt

This modifies the access time of example.txt without changing the modification time.

4. Update Only Modification Time

The -m option updates only the modification time.

Example:

touch -m example.txt

This changes the modification time example.txt while leaving the access time unchanged.

Common Errors and Troubleshooting

1. Permission Denied

If you encounter a “Permission denied” error, you might not have written permissions for the directory.

Solution:

Use sudo if you have administrative privileges:

sudo touch restricted_file.txt

2. Invalid Timestamp Format

When using the -t option, ensure the timestamp format is [[CC]YY]MMDDhhmm[.ss].

Example:

touch -t 202501090830 example.txt

Ensure you follow this format strictly to avoid errors.

Practical Scenarios of touch Command

Automating Log File Creation

Log files are essential for monitoring and debugging system and application performance. The touch command can be used in scripts to automate the creation of log files with dynamic names based on the current date and time.

Example:

touch log_$(date +%Y%m%d).txt

This command creates a log file named after the current date, such as log_20250109.txt. The $(date +%Y%m%d) portion dynamically generates the date in the YYYYMMDD format, ensuring unique filenames each day.

Example in a Script:

Create a shell script to automate daily log file creation:

#!/bin/bash
# Script to create a daily log file
LOG_DIR="/path/to/logs"
mkdir -p "$LOG_DIR"  # Ensure the log directory exists
touch "$LOG_DIR/log_$(date +%Y%m%d).txt"
echo "Log file for $(date) created successfully."

This script ensures that a new log file is created in the specified directory every time it runs.

Prepare Placeholder Files

Developers often use touch to create placeholder files during project initialization:

touch index.html style.css script.js

This initializes the basic files for a web project.

Closing Comments

The touch command in Linux is an essential tool for managing files. Whether you’re creating new files, updating timestamps, or automating tasks, mastering touch can streamline your workflow. Practice the examples provided to become comfortable using this versatile command.


Photo of author
Authored by Rohit Sharma
Rohit holds 7+ years of exprience in freelance blog writing. He is a Computer Science Engineer, but his love and passion for reading and writing about technology made him choose the path of freelance tech writing. Besides, he also holds 3+ years of experience in SEO editing and planning.