linux的touch命令不經常使用,通常在使用make的時候可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。linux
1.命令格式:文檔
touch [選項]... 文件...test
2.命令參數:變量
-a 或--time=atime或--time=access或--time=use 只更改存取時間。兼容性
-c 或--no-create 不創建任何文檔。im
-d 使用指定的日期時間,而非如今的時間。時間戳
-f 此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。touch
-m 或--time=mtime或--time=modify 只更改變更時間。兼容
-r 把指定文檔或目錄的日期時間,通通設成和參考文檔或目錄的日期時間相同。di
-t 使用指定的日期時間,而非如今的時間。
3.命令功能:
touch命令參數可更改文檔或目錄的日期時間,包括存取時間和更改時間。
4.使用範例:
實例一:建立不存在的文件
命令:
touch log2012.log log2013.log
輸出:
[root@localhost test]# touch log2012.log log2013.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
若是log2014.log不存在,則不建立文件
[root@localhost test]# touch -c log2014.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
實例二:更新log.log的時間和log2012.log時間戳相同
命令:
touch -r log.log log2012.log
輸出:
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 16:01 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -r log.log log2012.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
實例三:設定文件的時間戳
命令:
touch -t 201211142234.50 log.log
輸出:
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 10-28 14:48 log.log
[root@localhost test]# touch -t 201211142234.50 log.log
[root@localhost test]# ll
-rw-r--r-- 1 root root 0 10-28 14:48 log2012.log
-rw-r--r-- 1 root root 0 10-28 16:01 log2013.log
-rw-r--r-- 1 root root 0 2012-11-14 log.log
說明:
-t time 使用指定的時間值 time 做爲指定文件相應時間戳記的新值.此處的 time規定爲以下形式的十進制數:
[[CC]YY]MMDDhhmm[.SS]
這裏,CC爲年數中的前兩位,即」世紀數」;YY爲年數的後兩位,即某世紀中的年數.若是不給出CC的值,則touch 將把年數CCYY限定在1969--2068以內.MM爲月數,DD爲天將把年數CCYY限定在1969--2068以內.MM爲月數,DD爲天數,hh 爲小時數(幾點),mm爲分鐘數,SS爲秒數.此處秒的設定範圍是0--61,這樣能夠處理閏秒.這些數字組成的時間是環境變量TZ指定的時區中的一個時 間.因爲系統的限制,早於1970年1月1日的時間是錯誤的。