Linux touch命令实例图文详解
touch命令可以用来修改文件的访问/修改时间戳。 更多的时候它会被用来快速创建一个空文件。
touch的一个很好的特性是,与一些诸如cp(用于复制文件和目录)和mv(用于移动或重命名文件和目录)的命令相比,它不会自动覆盖(即,擦除 )具有相同名称的现有文件的内容。 相反,它只是将这些文件的上次访问时间更改为当前时间。
在这篇文章中,我们将向您解释一些使用touch命令修改时间戳或创建文件的简单而快速的例子。
1.如何创建一个空白文件
要使用touch命令创建一个简单的空白文件,请使用以下语法。 如果您选择的文件名已经存在,则只需更改访问时间
linuxidc@linuxidc:~$ touch linuxidc.txt
2.如何创建多个文件
如果您想使用touch命令创建多个文件,只需输入带空格的扩展名的文件名即可。 你可以检查下面的语法。
linuxidc@linuxidc:~$ touch linuxidc_com.txt linuxmu.txt linuxidc_net.txt
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
如下图:
打开文件夹看看:
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
创建时间:-
如下图:
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
创建时间:-
如下图:
7.如何更改多个文件的修改时间
使用通配符更改多个文件的修改时间。
linuxidc@linuxidc:~$ touch -m *.txt
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
创建时间:-
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
注意:如果省略了c选项,如果不存在,则会使用给定的日期时间创建新文件。
10.如何使用另一个文件的时间戳作为参考
以下命令将linuxmi.txt的访问/修改时间设置为linuxidc.txt的访问/修改时间
linuxidc@linuxidc:~$ touch -r linuxidc.txt linuxmi.txt
11.如何指定日期和时间作为字符串
除了选项“t”之外,还有另外一个选项“-d”,它接受一般人类可读格式的日期时间。
以下示例仅提供日期。 时间将自动设置为00:00
linuxidc@linuxidc:~$ touch -c -d '18 Aug' linuxidc.txt
如下图:
总结
在这篇文章中,我们介绍了应该更频繁使用的基本touch命令。 您可以从其手册页搜索更多的命令选项。