良许Linux教程网 Linux命令大全 Linux系统中touch命令详解

Linux系统中touch命令详解

Linux系统中touch命令最基本的功能就是创建空文件,touch还有更改文件的时间戳、修改时间等。

Linux系统中touch命令

用法:touch [选项]… 文件…
Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h
is supplied.

A FILE argument string of – is handled specially and causes touch to
change the times of the file associated with standard output.

必选参数对长短选项同时适用。
-a   只更改访问时间
-c, –no-create 不创建任何文件
-d, –date=字符串 使用指定字符串表示时间而非当前时间
-f   (忽略)
-h, –no-dereference  会影响符号链接本身,而非符号链接所指示的目的地
(当系统支持更改符号链接的所有者时,此选项才有用)
-m   只更改修改时间
-r, –reference=FILE  use this file’s times instead of current time
-t STAMP              use [[CC]YY]MMDDhhmm[.ss] instead of current time
–time=WORD        change the specified time:
WORD is access, atime, or use: equivalent to -a
WORD is modify or mtime: equivalent to -m
–help  显示此帮助信息并退出
–version  显示版本信息并退出

请注意,-d 和-t 选项可接受不同的时间/日期格式。

Linux Touch命令的8种常见使用方法

1.使用touch命令创建一个空文件

touch命令最简单和最基本的用法是通过命令行创建一个空文件。 如果您是精通终端的人,可以通过以下命令在命令行中快速创建新文件:

$ touch “filename”

示例:

$ touch linuxidc

在下面的示例中,我通过touch命令创建了一个名为“linuxidc”的空文件。 然后我使用ls命令查看系统中是否存在该文件,因为touch命令不会提示文件是否已创建。

2.使用touch命令一次创建多个文件

尽管cat命令和标准重定向符号也是通过命令行创建文件的方法,但touch命令具有优势,因为您可以一次创建多个文件。 您可以使用以下语法通过touch命令创建多个文件:

$ touch linuxidc1 linuxidc2 linuxidc3 ….

在下面的示例中,我通过touch命令同时创建了三个文件,然后使用ls命令查看这些文件的存在:

3.强制避免使用touch命令创建新文件

有时,如果新文件不存在,则需要避免创建新文件。 在这种情况下,您可以使用touch命令使用’-c’选项,如下所示:

$ touch -c “filename”

在下面的示例中,我使用touch命令避免创建上述新文件。

touch -c linuxidc

当我使用ls命令列出该文件时,以下输出将验证我的系统中是否存在此类文件。

linuxidc@linuxidc:~$ touch -c linux
linuxidc@linuxidc:~$ ls linux
ls: 无法访问’linux’: 没有那个文件或目录

4.更改文件的访问和修改时间

touch命令的另一个用途是更改文件的访问时间和修改时间。

让我们举一个例子来说明如何做到这一点。 我通过touch命令创建了一个名为“linuxmi”的文件,并通过stat命令查看了它的统计信息:

然后我输入了以下touch命令:

$ touch linuxmi

此touch命令将访问和修改时间更改为再次为“linuxmi”运行touch命令的时间。 您可以在下上图中看到更改的访问和修改时间。

5.更改访问时间或修改时间

我们可以选择仅通过touch命令更改其中一个,而不是更改访问和修改时间。

在下面的示例中,我创建了一个名为“linuxidc”的文件,并通过stat命令查看统计信息:

我可以通过此文件上的touch命令使用’-a’选项来仅更改此文件的访问时间:

$ touch -a linuxidc

stat命令的输出现在显示访问时间已更改为我使用’-a’选项运行touch命令的时间:

Linux Touch命令的8种常见使用方法

我可以通过此文件上的touch命令使用’-m’选项仅更改此文件的修改时间:

$ touch -m linuxidc

stat命令的输出现在显示修改时间已更改为使用’-m’选项运行touch命令的时间:

Linux Touch命令的8种常见使用方法

6.如何将访问和修改时间从一个文件复制到另一个文件

我们假设有一个名为linuxidcA的文件:

Linux Touch命令的8种常见使用方法

另一个名为linuxidcB的文件:

Linux Touch命令的8种常见使用方法

如果要将linuxidcA的访问和修改时间更改为linuxidcB的访问和修改时间,可以使用如下touch命令:

$ touch linuxidcA -r sampleFileB

Linux Touch命令的8种常见使用方法

上图中stat命令的输出显示linuxidcA现在具有与samplefileB相同的访问和修改值。

7.使用指定的时间戳创建新文件

要创建具有指定时间戳的新空文件而不是创建它的实际时间,可以使用touch命令的以下语法:

$ touch -t YYMMDDHHMM.SS “filename”

以下示例显示了我的linuxidc上的stat命令如何显示其访问和修改时间是基于我通过touch命令创建时提供的时间戳:

创建具有指定时间戳的新文件

touch -t 2006151230.30 linuxidc

8.将文件的时间戳更改为其他时间

您可以使用touch命令的以下语法将现有文件的时间戳更改为其他时间:

$ touch -c -t YYMMDDHHMM.SS “filename”

touch -c -t 2008191130.30 linuxidc

在下面的示例中,我通过touch命令更改了现有文件的时间戳,然后通过该示例文件上的stat命令验证了更改:

将文件的时间戳更改为其他时间

通过我们在本文中介绍的基本但有用的场景,您可以开始掌握touch命令并使用它通过Linux命令行快速执行一些看似复杂的任务。

本次教程分享结束,大家还有什么疑问可以在评论区留言啊。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

良许公众号

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部