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)