Linux上的10个Touch命令实例
Linux Touch 命令
Touch命令可以用来修改文件访问或修改的时间戳。实际上,它更常仅仅用于快速的创建一个空白文件。
这篇文章展示了一些非常简单和快速的实例,使用Touch命令来修改时间戳和创建文件。
1.创建空白文件
为了使用touch命令简单的创建一个空白文件,使用以下语法:
# touch abc.txt
如果文件已经存在,它的访问时间将会被更新。
2.用Touch创建多个文件
为了创建多个文件,指定它们的名字并通过空格分隔。
#touch abc.txt cde.txt xyz.txt
3 创建大量文件
如果出于某些原因你希望创建大量文件,然后像这样的命令将非常有帮助。
// Create files with names A to Z
# touch {A..Z}
// Create files with names 1 to 20
# touch {1..20}
//Create files with extension
# touch {1..1000}.txt
// Create 10k files
# touch {1..10}{1..1000}
然后用ls命令查看所有的文件已经被创建了
4.避免创建新文件
如果你只想要更新已经存在文件的访问时间,而不创建它,使用'-c'选项。如果文件存在,touch命令将更新访问时间,否则将什么也不做。
# touch -c hello.txt
5.改变文件的访问时间 -'a'选项
使用-a选项和文件名来只改变文件的访问时间
# touch -a abc.txt
使用stat命令检查访问时间
# stat a.txt
File: ‘a.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 35864114 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-11-10 21:32:12.581976147 +0800
Modify: 2018-11-10 21:32:12.581976147 +0800
Change: 2018-11-10 21:32:12.581976147 +0800
Birth: -
6.改变修改时间 '-m'选项
使用'-m'选项改变文件的修改时间
[root@lanquark ~]# touch -m a.txt
[root@lanquark ~]# stat a.txt
File: ‘a.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 35864114 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-11-10 21:32:12.581976147 +0800
Modify: 2018-11-10 21:33:52.703978421 +0800
Change: 2018-11-10 21:33:52.703978421 +0800
Birth: -
使用通配符改变多个文件的修改时间
# touch -m *.txt
7.同时改变访问和修改时间
使用a和m选项一起修改访问和修改时间
# touch -am a.txt
[root@lanquark ~]# touch -am a.txt
[root@lanquark ~]# stat a.txt
File: ‘a.txt’
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 35864114 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-11-10 21:37:28.352983318 +0800
Modify: 2018-11-10 21:37:28.352983318 +0800
Change: 2018-11-10 21:37:28.352983318 +0800
Birth: -
8.设定一个明确的访问或修改时间
使用t选项设定访问或修改时间为一个明确的日期时间,明确的日期时间格式为[[CC]YY]MMDDhhmm[.ss]
# touch -c -t 1811101015 a.txt
or
# touch -c -t 201811101015 a.txt
注意-如果忽略了c选项,如果文件不存在,一个新的指定了日期时间的文件将被创建。
9.以其他文件的时间戳作为参考
# touch -r ref.txt abc.txt
上面的命令将设定abc.txt的访问或修改时间为ref.txt的访问和修改时间
10.指定时期时间为字符串
除了t选项之外,还有另一个选项'-d', 它接受一般人类可读格式的日期时间。
下面的示例仅仅提供了日期,时间自动的设置为00:00
# touch -c -d '14 Mar' abc.txt
或者只提供时间,将设定为当前的日期
# touch -d '14:24' abc.txt
想了解更多,通过'man touch'查看man帮助信息
原文: https://www.binarytides.com/linux-touch-command/
2018-11-10 by Kennminn