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

原文地址:https://www.cnblogs.com/minn/p/9940809.html