新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux touch 命令 - 為什么我們需要改變時(shí)間戳?

Linux touch 命令 - 為什么我們需要改變時(shí)間戳?

作者: 時(shí)間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

我們可能在 Linux 下運(yùn)用 touch 命令創(chuàng)建一個(gè)空文件。當(dāng)然我們也可以使用其他命令例如 vi, nano 或是任意一個(gè)編輯工具來實(shí)現(xiàn)。但是你可能需要更多的步驟來完成操作。其實(shí)你要知道 touch 命令的主要功能并不是為了創(chuàng)建一個(gè)空文件哦。

本文引用地址:http://m.butianyuan.cn/article/201610/305667.htm

什么是 touch 命令

眾所周知,每個(gè)文件都被附有時(shí)間戳。這個(gè)時(shí)間戳記包括訪問時(shí)間和修改時(shí)間。而 Touch 命令主要就是用來修改文件的訪問時(shí)間和修改時(shí)間。

為什么我們需要使用 touch 命令

既然 touch 命令描述的是改變時(shí)間戳,那么我們可能會(huì)想為什么我們需要去改變時(shí)間戳呢?這個(gè)問題會(huì)引發(fā)我們的深思。然而,我想有個(gè)理由可以解釋為什么我們需要使用它。如果你參加了一個(gè)全球范圍的開源項(xiàng)目,那么時(shí)間戳可能變得很重要。編譯源代碼文件可能需要同一地區(qū)的時(shí)間戳。如果未統(tǒng)一,程序可能會(huì)編譯失敗。(譯注:有強(qiáng)迫癥的同學(xué)也很喜歡這個(gè)命令——就看不得亂七八糟的時(shí)間,;>)

不帶任何選項(xiàng)下運(yùn)行 touch

最簡(jiǎn)單的使用 touch 命令。只需鍵入:

$ touch file_name

請(qǐng)觀察下面的一張截圖。

Touch command

File_1.txt原來的時(shí)間戳是 12:42。在我們使用 touch 命令后,它改變?yōu)榱?17:08。由此看出,默認(rèn)情況下,touch 會(huì)將文件的時(shí)間戳改為當(dāng)前時(shí)間。

只改變?cè)L問時(shí)間

正如我們之前提到的,每個(gè)文件都附有訪問時(shí)間和修改時(shí)間。上面的時(shí)間戳是 17:08。我們可以看更多的細(xì)節(jié)。

Detail timestamp

我們發(fā)現(xiàn)訪問時(shí)間和修改時(shí)間的值是相同的都是 17:08:35 ,還有它們屬于同一時(shí)區(qū) GMT +7。

如果現(xiàn)在我們要只改變?cè)L問時(shí)間,我們需要使用-a選項(xiàng)。

$ touch -a file_1.txt

Touch -a option

如你所見,訪問時(shí)間變?yōu)榱?17:51:37 ,但是修改時(shí)間仍為17:08:35。[譯注:原文為 Change time(狀態(tài)改變時(shí)間)應(yīng)是作者筆誤]

只改變修改時(shí)間

我們可以使用-m選項(xiàng)來實(shí)現(xiàn)?,F(xiàn)在我們用file_2.txt作個(gè)示例。

File_2.txt detail timestamp

$ touch -m file_2.txt

Touch -m option

現(xiàn)在修改時(shí)間從 12:42:20 改為了 17:57:20。請(qǐng)注意,當(dāng)文件被訪問或修改時(shí),狀態(tài)改變時(shí)間域的值總會(huì)對(duì)其記錄。

更改為自定義時(shí)間戳

-a和-m選項(xiàng)都會(huì)將文件的時(shí)間戳改為現(xiàn)在當(dāng)前時(shí)間。當(dāng)然我們也可以更改為自定義時(shí)間戳。使用-t選項(xiàng)實(shí)現(xiàn)。

從上面示例示例中的 file_2.txt,我們看出它的時(shí)間戳是:

訪問時(shí)間:12:42:20

修改時(shí)間:17:57:20

執(zhí)行日期:2014-01-14

假如我們想要將訪問時(shí)間和修改時(shí)間改為2014年1月12日 09:58:27。我們可以用下列命令來完成:

$ touch -t 201401120958.27 file_2.txt

Touch using -t option

-t 選項(xiàng)語(yǔ)法組成 :

[[CC]YY]MMDDhhmm [.SS]

CC - 年份的前兩位

YY - 年份的后兩位

MM - 月份 [01-12]

DD - 日期 [01-31]

hh - 時(shí) [00-23]

mm - 分 [00-59]

SS - 秒 [00-61]

改變?nèi)掌诤蜁r(shí)間的另一種方式

如果你覺得[[CC]YY]MMDDhhmm [.SS]格式不適合你,我們也可以使用 -d 選項(xiàng)。下面是-d選項(xiàng)使用的一個(gè)示例。

更改指定日期

舉例來說,我們有個(gè)名為 file_3.txt 的文件,它的相關(guān)屬性在下面的截圖中展示了。

File_3.txt detail timestamp

現(xiàn)在我們要將日期2014年1月14日改為2013年12月20日。可以使用下列命令:

$ touch -d '10-December-2013' file_3.txt

Change date using -d option

不出意料,訪問時(shí)間和修改時(shí)間的日期已經(jīng)改為了2013年12月10日。

改變時(shí)區(qū)

如果我們想改變指定GMT的時(shí)間,我們也可以使用-d選項(xiàng)。先讓file_3.txt 移回當(dāng)前時(shí)間。

$ touch file_3.txt

Reset file_3.txt timestamp

不難發(fā)現(xiàn) file_3.txt 的時(shí)區(qū)為 GMT +0700。要改為 GMT3 時(shí)區(qū),我們只需要鍵入如下命令:

$ touch -d GMT3 file_3.txt

Change into GMT3 timezone

好的,現(xiàn)在時(shí)間已經(jīng)改為了 10:00:00 AM。

結(jié)合參數(shù)下使用-d選項(xiàng)

還可以用很酷的方式使用-d選項(xiàng)。請(qǐng)觀察下面的圖片。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉