Linux touch 命令

2015-06-25创建

1、概要:

  Linux touch 命令    

    改变文件的时间戳。将每个文件的访问时间和修改时间变为当前时间。如果访问的文件不存在,那么该文件会被创建,除非使用了选项 -c 或者 -h。

    所以该命令也常用于创建文件

2、命令语法:

  touch [OPTION]... FILE...    中文:touch [选项]... 文件...

3、常用示例:

  touch test   如果没有文件test 那么就创建,有则改变该文件的时间戳。

  touch -c test 如果存在该文件那么改变其时间戳,否则无任何效果,也不会创建新文件。

4、常用命令及参数:

  -a

    只改变访问时间。示例如下:

[root@moban data]# touch -a ttt    ##此时文件不存在,所以-a 无效
[root@moban data]# stat ttt        ##可以查看文件的时间属性
  File: `ttt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d	Inode: 915783      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-06-26 06:08:42.497865566 +0800    ##访问时间
Modify: 2015-06-26 06:08:42.496865502 +0800    ##修改时间
Change: 2015-06-26 06:08:42.497865566 +0800    ##改变时间,只要被访问就会变为当前时间
[root@moban data]# touch -a ttt
[root@moban data]# stat ttt
  File: `ttt'
  Size: 0         	Blocks: 0          IO Block: 4096   regular empty file
Device: 803h/2051d	Inode: 915783      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-06-26 06:09:01.632877204 +0800
Modify: 2015-06-26 06:08:42.496865502 +0800
Change: 2015-06-26 06:09:01.632877204 +0800

  -c, --no-create

    即使文件不存在,那么也不会创建该文件。

  -d, --date=STRING

    解析 STRING ,并且使用它代替当前时间。示例如下:

[root@moban data]# stat aa        ##当前文件时间戳信息
  File: `aa'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 915757      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2015-06-26 05:39:43.382866279 +0800
Modify: 2015-06-26 05:39:43.382866279 +0800
Change: 2015-06-26 05:39:43.382866279 +0800
[root@moban data]# touch -d "2012-12-11 15:23:50" aa    ##替换当前时间戳信息
[root@moban data]# stat aa
  File: `aa'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 915757      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-12-11 15:23:50.000000000 +0800
Modify: 2012-12-11 15:23:50.000000000 +0800
Change: 2015-06-26 06:31:38.958867074 +0800
[root@moban data]# touch --date="2009-09-01" aa
[root@moban data]# stat aa
  File: `aa'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 915757      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-09-01 00:00:00.000000000 +0800
Modify: 2009-09-01 00:00:00.000000000 +0800
Change: 2015-06-26 06:32:17.329870867 +0800

 -m

    只改变修改时间戳信息。

[root@moban data]# stat aa
  File: `aa'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 915757      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-09-01 00:00:00.000000000 +0800
Modify: 2009-09-01 00:00:00.000000000 +0800
Change: 2015-06-26 06:34:01.560872647 +0800
[root@moban data]# touch -m aa        ##只改变 修改时间戳 信息
[root@moban data]# stat aa
  File: `aa'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 915757      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-09-01 00:00:00.000000000 +0800
Modify: 2015-06-26 06:35:59.893881443 +0800
Change: 2015-06-26 06:35:59.893881443 +0800
[root@moban data]# touch -m -d "2020-05-05" aa    ## -m 联合 -d 使用
[root@moban data]# stat aa
  File: `aa'
  Size: 4096      	Blocks: 8          IO Block: 4096   directory
Device: 803h/2051d	Inode: 915757      Links: 4
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2009-09-01 00:00:00.000000000 +0800
Modify: 2020-05-05 00:00:00.000000000 +0800
Change: 2015-06-26 06:36:22.770864951 +0800

 -r, --reference=FILE

    将当前目录及其所有子目录中的所有文件的时间戳记(即文件的日期和时间)修改为当前时间,但文件内容保持不变。

  -t STAMP

    使用[[CC]YY]MMDDhhmm[.ss] 代替文件当前时间戳。与 -d 相似。

 --help

    显示帮助信息并退出

  --version

    输出版本信息并退出


5、当前命令所在位置和类型:  

[root@moban data]# which touch
/bin/touch
[root@moban data]# type touch
touch is hashed (/bin/touch)










你可能感兴趣的:(linux,常用命令,touch)