Connect with us

Website Tutorials

Getting Started With The Touch Command In Linux

Published

on

Getting Started With The Touch Command In Linux

In the realm of Linux file management, simplicity often conceals powerful tools. Understanding the significance of creating and handling files is fundamental for anyone navigating the command line. Enter the unassuming yet versatile touch command, quietly contributing to essential tasks for system administrators and users. In this post, we will explore the functionalities of the touch command, ranging from creating files to managing file timestamps.

Introduction

If you asked a Linux system administrator to create a blank file, I would venture to say that many would instinctively turn to the simplicity and efficiency of the Linux touch command. Yet, the touch command is not confined to mere file creation, it also allows users to manipulate timestamps. This dual functionality positions touch as an indispensable tool. At the core lies timestamps – the markers that chronicle a file’s creation and modification. This aspect is crucial in system administration, scripting, and everyday computing tasks. Let’s explore the syntax, examples, and applications of the touch command as we delve into its capabilities to not only create empty files effortlessly but also to wield precise control over timestamps.

Using Touch to Create a File

While its primary function involves updating timestamps, touch also serves as a swift and efficient means to initiate new, empty files. Let’s explore how to wield the prowess of the touch command for this task.

Basic File Creation

The first thing you think when you hear about the touch command is using the touch command to create a new file. You generate an empty file with the specified name by simply typing touch filename in the terminal.

touch example.txt

Creating Multiple Files

It’s possible to create more than one file using the touch command by providing multiple filenames as arguments to the command.

Advertisement
touch file1.txt file2.txt file3.txt

Timestamp

While the touch command can create empty files, its core functionality lies in updating access and modification times with precision. Let’s delve into the individual options available through the touch command, a crucial aspect of Linux file management.

Updating Access and Modification Timestamps

Simply executing touch filename in the terminal on an existing file updates the access time and modification time of the specified file to the current time.

touch filename

Update Last Accessed Time

The touch command can specifically alter the last Accessed time of a file using the -a option.

touch -a filename

Update Last Modified Time

The touch command can specifically alter the last modified time of a file using the -m option.

touch -m filename

Preventing File Creation

The -c flag is particularly useful when you want to update timestamps but avoid creating new files.

Advertisement
touch -c existingfile.txt

Specifying Custom Timestamps

For more nuanced control, touch enables you to specify custom timestamps using the -t option followed by a timestamp in the format [[CC]YY]MMDDhhmm[.ss].

touch -t 202012251200.00 filename

In this example, the file filename receives a timestamp corresponding to December 25, 2020, at 12:00:00.

Changing The Timestamp Based On A Reference File

Leveraging a reference file, you can synchronize the timestamps of one file with another.

touch -r referencefile.txt targetfile.txt

This means the timestamp of the reference file will also be set on the target file.

Changing Timestamps Relatively

By understanding the relative nature of timestamps, you can use the -d option to change timestamps based on a specified time or date.

Advertisement
touch -d '2 days ago' filename

This example modifies the timestamps of the filename to be two days older than the current timestamp.

Running the command on symbolic links is possible, and it alters the timestamps of the link itself, not the linked file. The -h or –no-dereference option is particularly useful in this context, allowing you to affect each symbolic link instead of any referenced file.

touch -h symlink

This example updates the timestamps of the symbolic link named symlink without impacting the linked file. The -h option ensures that only the symbolic link’s timestamps are modified, and not those of the linked file. Note that this feature is available only on systems that support changing the timestamps of a symlink.

There are a handful of commands that prove to be invaluable with the touch command. As you work with timestamps you’re going to want to check to make sure any changes worked. So below let’s go over two that you can verify a file’s existence and its timestamps. These companion tools enrich your capabilities, offering nuanced perspectives and insights into your files.

The Stat Command Line Utility

The stat command provides comprehensive information about a file, including access time and modification time, permissions, and more. This is useful for verifying the changes made by the touch command.

Advertisement
stat filename

The Ls Command In Linux

The ls command is fundamental for listing files in a directory. When used with specific options, such as -l for a detailed list, it provides information about timestamps and permissions.

ls -l

Conclusion

In the realm of Linux file management, the touch command stands out as a versatile tool, for creating multiple files with a single command and allowing for precise timestamp manipulation. From setting custom timestamps using reference files to altering access and modification times, this tutorial has explored the touch command’s diverse capabilities. Whether you’re creating new files modifying timestamps, or synchronizing timestamps the touch command proves invaluable. This tutorial serves as a comprehensive guide, empowering both seasoned Linux users and newcomers to master the touch command.

Stephen Oduntan is the founder and CEO of SirsteveHQ, one of the fastest growing independent web hosts in Nigeria. Stephen has been working online since 2010 and has over a decade experience in Internet Entrepreneurship.

Continue Reading
Advertisement
Comments

Trending

Copyright © 2024 SirsteveHQ. All Rights Reserved.