Linux touch命令实例图文详解

bobcatkay 2018-02-06

Linux touch命令实例图文详解

touch命令可以用来修改文件的访问/修改时间戳。 更多的时候它会被用来快速创建一个空文件。

touch的一个很好的特性是,与一些诸如cp(用于复制文件和目录)和mv(用于移动或重命名文件和目录)的命令相比,它不会自动覆盖(即,擦除 )具有相同名称的现有文件的内容。 相反,它只是将这些文件的上次访问时间更改为当前时间。

在这篇文章中,我们将向您解释一些使用touch命令修改时间戳或创建文件的简单而快速的例子。

1.如何创建一个空白文件

要使用touch命令创建一个简单的空白文件,请使用以下语法。 如果您选择的文件名已经存在,则只需更改访问时间

linuxidc@linuxidc:~$ touch linuxidc.txt

Linux touch命令实例图文详解

2.如何创建多个文件

如果您想使用touch命令创建多个文件,只需输入带空格的扩展名的文件名即可。 你可以检查下面的语法。

linuxidc@linuxidc:~$ touch linuxidc_com.txt linuxmu.txt linuxidc_net.txt

Linux touch命令实例图文详解

3.如何用一个命令创建批量文件

如果您想要创建批量文件,例如20或30个文件,而不是扩展名。 下面的例子肯定会帮助你。 您可以使用命令ls或ll来检查文件是否被创建。由于我使用的是图形界面的,直接打开文件夹看看更直观吧。

1.创建名称为A到Z的文件

linuxidc@linuxidc:~$ touch {A..Z}​

2.创建从1到100的文件

linuxidc@linuxidc:~$ touch {1..100}​

3.创建带有扩展名的批量文件

linuxidc@linuxidc:~$ touch {2..200}.txt​

4.创建具有扩展名的10000个文件

linuxidc@linuxidc:~$ touch {1..10}{1..1000}.txt​

如下图:

Linux touch命令实例图文详解

打开文件夹看看:

Linux touch命令实例图文详解

4.如何避免创建新文件

你只是想更新现有文件的访问时间? 是的,你当然可以做到这一点,而无需创建一个新的文件。 使用选项“-c”。 如果文件存在,touch将更新访问时间,否则什么都不会做。

linuxidc@linuxidc:~$ touch -c linuxidc.txt

5.如何更改文件的访问时间

要仅更改文件的访问时间,请使用“-a”选项和文件名。 你可以检查下面的例子。

linuxidc@linuxidc:~$ touch -a linuxidc.txt

一旦你完成上述命令,检查是否被改变? 尝试下面的命令。

linuxidc@linuxidc:~$ stat linuxidc.txt

输出如下所示。

  文件:linuxidc.txt
  大小:0         块:0          IO 块:4096  普通空文件
设备:804h/2052d Inode:1451165    硬链接:1
权限:(0644/-rw-r--r--)  Uid:( 1000/linuxidc)  Gid:( 1000/linuxidc)
最近访问:2018-02-06 20:17:54.730291896 +0800
最近更改:2018-02-06 20:17:26.434083956 +0800
最近改动:2018-02-06 20:17:54.730291896 +0800
创建时间:-

如下图:

Linux touch命令实例图文详解

6.如何更改修改时间

使用'-m'选项来更改文件的修改时间。 你可以用stat命令检查下面的时间变化。

linuxidc@linuxidc:~$ touch -m linuxidc.txt

一旦你完成上述命令,检查是否被改变? 尝试下面的命令。

linuxidc@linuxidc:~$ stat linuxidc.txt

输出如下所示。

  文件:linuxidc.txt
  大小:0         块:0          IO 块:4096  普通空文件
设备:804h/2052d Inode:1451165    硬链接:1
权限:(0644/-rw-r--r--)  Uid:( 1000/linuxidc)  Gid:( 1000/linuxidc)
最近访问:2018-02-06 20:17:54.730291896 +0800
最近更改:2018-02-06 20:19:51.999315295 +0800
最近改动:2018-02-06 20:19:51.999315295 +0800
创建时间:-

如下图:

Linux touch命令实例图文详解

7.如何更改多个文件的修改时间

使用通配符更改多个文件的修改时间。

linuxidc@linuxidc:~$ touch -m *.txt

Linux touch命令实例图文详解

8.如何使用访问和修改时间选项

我们一起使用“a”和“m”选项来修改访问和修改时间。 您还可以使用“stat”命令检查更改的时间戳。

linuxidc@linuxidc:~$ touch -am linuxidc.txt

一旦你完成上述命令,检查是否被改变? 尝试下面的命令。

linuxidc@linuxidc:~$ stat linuxidc.txt

输出如下所示。

  文件:linuxidc.txt
  大小:0         块:0          IO 块:4096  普通空文件
设备:804h/2052d Inode:1451165    硬链接:1
权限:(0644/-rw-r--r--)  Uid:( 1000/linuxidc)  Gid:( 1000/linuxidc)
最近访问:2018-02-06 20:24:56.038676993 +0800
最近更改:2018-02-06 20:24:56.038676993 +0800
最近改动:2018-02-06 20:24:56.038676993 +0800
创建时间:-

Linux touch命令实例图文详解

9. 如何设置访问/修改的特定时间

要将访问/修改时间设置为特定的日期时间,请使用t选项并以此格式指定日期时间((CC)YY)MMDDhhmm.(ss)

touch命令的选项列表

  • -a - 更改文件的访问时间
  • -c - 如果不存在,不要创建指定的文件。
  • -m - 改变文件的修改时间。
  • -r --ref_file使用由ref_file命名的文件的相应时间而不是当前时间。
  • -t - time使用指定的时间而不是当前的时间。 时间将是表格的十进制数字
  • MM - 一年中的月份[01-12]
  • DD - 每月的一天[01-31]
  • hh - 一天中的小时[00-23]
  • mm - 小时的分钟[00-59]
  • CC - 年份的前两位数字
  • YY - 年份的后两位数字
  • SS - 第二分钟[00-61]

linuxidc@linuxidc:~$ touch -c -t 201802062036.18 linuxidc.txt

Linux touch命令实例图文详解 

注意:如果省略了c选项,如果不存在,则会使用给定的日期时间创建新文件。

10.如何使用另一个文件的时间戳作为参考

以下命令将linuxmi.txt的访问/修改时间设置为linuxidc.txt的访问/修改时间

linuxidc@linuxidc:~$ touch -r linuxidc.txt linuxmi.txt

Linux touch命令实例图文详解

11.如何指定日期和时间作为字符串

除了选项“t”之外,还有另外一个选项“-d”,它接受一般人类可读格式的日期时间。

以下示例仅提供日期。 时间将自动设置为00:00

linuxidc@linuxidc:~$ touch -c -d '18 Aug' linuxidc.txt

如下图:

Linux touch命令实例图文详解

Linux touch命令实例图文详解 

总结

在这篇文章中,我们介绍了应该更频繁使用的基本touch命令。 您可以从其手册页搜索更多的命令选项。

相关推荐