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)