The touch command in Linux is a versatile tool primarily used for creating new empty files or modifying the access and modification timestamps of existing files. This simple yet powerful command is a staple in any system administrator’s or developer’s toolkit. Whether you’re managing log files, automating scripts, or preparing files for later use, the touch command can make your work faster and more efficient.
In this user guide, we’ll explain how the touch command works, provide examples for common tasks, and cover advanced options to help you get the most out of it.
Prerequisites
Before you begin, ensure that:
- You have access to a Linux terminal, either locally or via SSH.
- You have a basic understanding of navigating the command line and working with files.
Basic Syntax of the touch Command
The general syntax of the touch command is:
touch [options] file_nameWhere:
file_nameis the name of the file you want to create or modify.optionsare optional flags to customize the behavior of the command.
Example:
touch myfile.txtThis command creates a new empty file called myfile.txt if it does not already exist, or updates its timestamps if it does.
Check Out | How to Use the nslookup Command with Example
Practical Examples of the touch Command
Here are five practical examples to help you understand how to use the touch command:
Create a New Empty File
touch newfile.txtThis simple touch command creates an empty file named newfile.txt in the current directory. If the file already exists, its modification and access times are updated to the current date and time.
Update Timestamps of an Existing File
touch report.logIf you run this command for a file that already exists, touch will not modify the file’s contents. Instead, it updates the file’s access and modification times to reflect the moment the command was run.
Create Multiple Empty Files Simultaneously
touch file1.txt file2.txt file3.txtThis command creates three new empty files (file1.txt, file2.txt, and file3.txt) at the same time. This is handy when you need to create several placeholders or log files quickly.
Set a Specific Date and Time for a File
he touch command allows you to set specific timestamps using the -t option:
touch -t 202505310915.00 file.txtThis sets the modification and access time of file.txt to May 31, 2025, at 09:15 AM.
Alternatively, you can use the --date option to specify a human-readable date:
touch --date="2025-05-31 09:15:00" file.txtUpdate Timestamps Only if the File Exists
touch -c oldfile.txtUsing the -c option with touch ensures that the file’s timestamps are updated only if the file exists. If oldfile.txt does not exist, touch will do nothing—this avoids accidentally creating new files.
Change Access and Modification Times to a File’s Reference File
touch -r reference.txt target.txtThis command uses the -r option to copy the timestamp of reference.txt and apply it to target.txt. It’s useful when you want two files to have matching timestamps.
Create an Empty File in a Different Directory
touch /tmp/testfile.logThis creates an empty file called testfile.log the /tmp directory. This helps when you need to create log files or temporary files in system directories.
Create a File Without Changing Its Timestamp
touch -a existingfile.txtBy using the -a option, touch updates only the access time of existingfile.txt, leaving the modification time unchanged. This can be helpful for certain scripts or file management scenarios.
Fixing Common Errors with the touch Command
If you encounter errors when using the touch command, don’t worry—here’s how to identify and fix them.
Permissions: A common issue is permission denial. If you see errors like “Permission denied” when using touch, it means you don’t have the required permissions to create or modify files in that directory. Try using sudo to gain elevated privileges:
sudo touch /protected/path/newfile.txtMake sure you need to create or modify files in sensitive directories before using sudo to avoid unintended system changes.
Filesystem limitations: If the filesystem is mounted as read-only (e.g., external drives or certain system directories), touch will fail to create or modify files. You can check if a filesystem is read-only using:
mount | grep 'ro,'If it is read-only, remount it with read/write permissions or choose a different location to create the file.
Syntax: Another frequent cause of errors is incorrect syntax. Double-check that you’re specifying valid filenames and correct options. For example, if you’re using the -t option to set a timestamp, ensure the date format is precise ([[CC]YY]MMDDhhmm[.ss]).
touch -t 202505311200.00 example.txtIf you’re working with multiple files, separate them with spaces, and ensure there are no typos.
Conclusion
Conclusion
The touch command is a simple yet powerful tool for managing files and timestamps in Linux. It’s perfect for quickly creating new files or updating existing ones without needing complex commands. As you’ve seen, it’s easy to use and works well in various scripts and system tasks. If you run into problems, checking your permissions, filesystem status, and syntax usually does the trick. With a bit of practice, you’ll be using touch confidently as part of your daily Linux work.