在Linux命令中,我們會(huì)經(jīng)常使用到cd、ls等命令,但像touch這樣的命令就比較少用了,那么touch命令有什么作用呢?下面隨小編一起來了解下Linux下touch命令的用法吧。
linux的touch命令不常用,一般在使用make的時(shí)候可能會(huì)用到,用來修改文件時(shí)間戳,或者新建一個(gè)不存在的文件。
1.命令格式:
touch [選項(xiàng)]。。。 文件。。。
2.命令參數(shù):
-a 或--time=atime或--time=access或--time=use 只更改存取時(shí)間。
-c 或--no-create 不建立任何文檔。
-d 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間。
-f 此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題。
-m 或--time=mtime或--time=modify 只更改變動(dòng)時(shí)間。
-r 把指定文檔或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文檔或目錄的日期時(shí)間相同。
-t 使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間。
3.命令功能:
touch命令參數(shù)可更改文檔或目錄的日期時(shí)間,包括存取時(shí)間和更改時(shí)間。
4.使用范例:
實(shí)例一:創(chuàng)建不存在的文件
命令:
touch log2012.log log2013.log
輸出:
[root@localhost test]# touch log2012.log log2013.log
?。踨oot@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不存在,則不創(chuàng)建文件
[root@localhost test]# touch -c log2014.log
?。踨oot@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
實(shí)例二:更新log.log的時(shí)間和log2012.log時(shí)間戳相同
命令:
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
?。踨oot@localhost test]# touch -r log.log log2012.log
?。踨oot@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
實(shí)例三:設(shè)定文件的時(shí)間戳
命令:
touch -t 201211142234.50 log.log
輸出:
?。踨oot@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
?。踨oot@localhost test]# touch -t 201211142234.50 log.log
?。踨oot@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 使用指定的時(shí)間值 time 作為指定文件相應(yīng)時(shí)間戳記的新值.此處的 time規(guī)定為如下形式的十進(jìn)制數(shù):
[[CC]YY]MMDDhhmm[.SS]
這里,CC為年數(shù)中的前兩位,即”世紀(jì)數(shù)”;YY為年數(shù)的后兩位,即某世紀(jì)中的年數(shù).如果不給出CC的值,則touch 將把年數(shù)CCYY限定在1969--2068之內(nèi).MM為月數(shù),DD為天將把年數(shù)CCYY限定在1969--2068之內(nèi).MM為月數(shù),DD為天數(shù),hh 為小時(shí)數(shù)(幾點(diǎn)),mm為分鐘數(shù),SS為秒數(shù).此處秒的設(shè)定范圍是0--61,這樣可以處理閏秒.這些數(shù)字組成的時(shí)間是環(huán)境變量TZ指定的時(shí)區(qū)中的一個(gè)時(shí) 間.由于系統(tǒng)的限制,早于1970年1月1日的時(shí)間是錯(cuò)誤的。
上面就是Linux下touch命令的用法介紹了,使用touch命令可以修改文件時(shí)間戳,其修改的是指定日期時(shí)間而不是現(xiàn)在時(shí)間,你學(xué)會(huì)了嗎?