linux的touch命令不常用,一般在使用make的時候可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。
1.命令格式:
touch [選項]... 文件...2.命令參數:
-a 或–time=atime或–time=access或–time=use 只更改存取時間。-c 或–no-create 不建立任何文檔。-d 使用指定的日期時間,而非現在的時間。-f 此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題。-m 或–time=mtime或–time=modify 只更改變動時間。-r 把指定文檔或目錄的日期時間,統統設成和參考文檔或目錄的日期時間相同。-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日的時間是錯誤的。
新聞熱點
疑難解答