everyday:linux touch
[TOC]
功能說明
touch 不常用,一般在使用 make 的時候,可能會用到,用來修改文件時間戳,或者新建一個不存在的文件。
命令詳解
-
命令格式
touch [選項]...文件... -
命令功能
touch 可以更改文檔或目錄的日期時間,包括存取時間和更改時間。 -
命令參數(shù)
-a或--time=atime或--time=access或--time=use 只更改存取時間
-c或--no-create 不建立任何文檔
-d 使用指定的日期時間,而韭現(xiàn)在的時間
-f 此參數(shù)將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題
-m或--time=mtime或--time=modify 只更改變動時間
-r 把指定文檔或目錄的日期時間,統(tǒng)統(tǒng)設成和參考文檔或目錄的日期時間相同
-t 使用指定的日期時間,而非現(xiàn)在的時間
-
舉例
- eg1 創(chuàng)建不存在的文件
touch log.txt log.log
// 如果 log.md 不存在,則不創(chuàng)建文件
touch -c log.md
+ eg2 更新log.log的時間和log.txt的時間戳相同
touch -r log.txt log.log
+ eg3 設定文件的時間戳
# `-t time` 使用指定的時間值 time 作為指定文件新的相應時間戳,此處的 time 規(guī)定為如下形式的十進制數(shù): [[CC]YY]MMDDhhmm[.SS]
1. CC為年數(shù)中的前兩位,即”世紀數(shù)”;
2. YY為年數(shù)的后兩位,即某世紀中的年數(shù).如果不給出CC的值,則touch 將把年數(shù)CCYY限定在1969--2068之內(nèi)
3. MM為月數(shù)
4. DD為天數(shù)
5. hh 為小時數(shù)(幾點)
6. mm為分鐘數(shù)
7. SS為秒數(shù),此處秒的設定范圍是0--61,這樣可以處理閏秒
這些數(shù)字組成的時間是環(huán)境變量TZ指定的時區(qū)中的一個時 間.由于系統(tǒng)的限制,早于1970年1月1日的時間是錯誤的。
touch -t 201504072234.55 log.log