當前位置:
首頁 > 知識 > Linux Touch命令的8種使用技巧

Linux Touch命令的8種使用技巧

Linux touch命令不僅可以用於在Linux上創建空文件。 您可以使用它來更改現有文件的時間戳,包括其訪問許可權和修改時間。 本文介紹了8種可以通過Linux終端使用touch命令的方案。

我們在Ubuntu 18.04 LTS/Ubuntu 18.10系統上運行了本文中提到的命令和過程。 由於touch命令是命令行實用程序,因此我們將在本文中使用Ubuntu終端。 您可以通過系統Dash或Ctrl + Alt + T快捷方式打開終端。

linuxidc@linuxidc:~/linuxidc.com$ touch --help

用法:touch [選項]... 文件...

Update the access and modification times of each FILE to the current time.

A FILE argument that does not exist is created empty, unless -c or -h

is supplied.

A FILE argument string of - is handled specially and causes touch to

change the times of the file associated with standard output.

必選參數對長短選項同時適用。

-a 只更改訪問時間

-c, --no-create 不創建任何文件

-d, --date=字元串 使用指定字元串表示時間而非當前時間

-f (忽略)

-h, --no-dereference 會影響符號鏈接本身,而非符號鏈接所指示的目的地

(當系統支持更改符號鏈接的所有者時,此選項才有用)

-m 只更改修改時間

-r, --reference=FILE use this file"s times instead of current time

-t STAMP use [[CC]YY]MMDDhhmm[.ss] instead of current time

--time=WORD change the specified time:

WORD is access, atime, or use: equivalent to -a

WORD is modify or mtime: equivalent to -m

--help 顯示此幫助信息並退出

--version 顯示版本信息並退出

請注意,-d 和-t 選項可接受不同的時間/日期格式。

1.使用touch命令創建一個空文件

touch命令最簡單和最基本的用法是通過命令行創建一個空文件。 如果您是精通終端的人,可以通過以下命令在命令行中快速創建新文件:

$ touch 「filename」

示例:

$ touch linuxidc

在下面的示例中,我通過touch命令創建了一個名為「linuxidc」的空文件。 然後我使用ls命令查看系統中是否存在該文件,因為touch命令不會提示文件是否已創建。

2.使用touch命令一次創建多個文件

儘管cat命令和標準重定向符號也是通過命令行創建文件的方法,但touch命令具有優勢,因為您可以一次創建多個文件。 您可以使用以下語法通過touch命令創建多個文件:

$ touch linuxidc1 linuxidc2 linuxidc3 ….

在下面的示例中,我通過touch命令同時創建了三個文件,然後使用ls命令查看這些文件的存在:

3.強制避免使用touch命令創建新文件

有時,如果新文件不存在,則需要避免創建新文件。 在這種情況下,您可以使用touch命令使用"-c"選項,如下所示:

$ touch -c 「filename」

在下面的示例中,我使用touch命令避免創建上述新文件。

touch -c linuxidc

當我使用ls命令列出該文件時,以下輸出將驗證我的系統中是否存在此類文件。

4.更改文件的訪問和修改時間

touch命令的另一個用途是更改文件的訪問時間和修改時間。

讓我們舉一個例子來說明如何做到這一點。 我通過touch命令創建了一個名為「linuxmi」的文件,並通過stat命令查看了它的統計信息:

然後我輸入了以下touch命令:

$ touch linuxmi

此touch命令將訪問和修改時間更改為再次為「linuxmi」運行touch命令的時間。 您可以在下上圖中看到更改的訪問和修改時間。

5.更改訪問時間或修改時間

我們可以選擇僅通過touch命令更改其中一個,而不是更改訪問和修改時間。

在下面的示例中,我創建了一個名為「linuxidc」的文件,並通過stat命令查看統計信息:

我可以通過此文件上的touch命令使用"-a"選項來僅更改此文件的訪問時間:

$ touch -a linuxidc

stat命令的輸出現在顯示訪問時間已更改為我使用"-a"選項運行touch命令的時間:

我可以通過此文件上的touch命令使用"-m"選項僅更改此文件的修改時間:

$ touch -m linuxidc

stat命令的輸出現在顯示修改時間已更改為使用"-m"選項運行touch命令的時間:

6.如何將訪問和修改時間從一個文件複製到另一個文件

我們假設有一個名為linuxidcA的文件:

另一個名為linuxidcB的文件:

如果要將linuxidcA的訪問和修改時間更改為linuxidcB的訪問和修改時間,可以使用如下touch命令:

$ touch linuxidcA -r sampleFileB

上圖中stat命令的輸出顯示linuxidcA現在具有與samplefileB相同的訪問和修改值。

7.使用指定的時間戳創建新文件

要創建具有指定時間戳的新空文件而不是創建它的實際時間,可以使用touch命令的以下語法:

$ touch -t YYMMDDHHMM.SS 「filename」

以下示例顯示了我的linuxidc上的stat命令如何顯示其訪問和修改時間是基於我通過touch命令創建時提供的時間戳:

創建具有指定時間戳的新文件

touch -t 2006151230.30 linuxidc

8.將文件的時間戳更改為其他時間

您可以使用touch命令的以下語法將現有文件的時間戳更改為其他時間:

$ touch -c -t YYMMDDHHMM.SS 「filename」touch -c -t 2008191130.30 linuxidc

在下面的示例中,我通過touch命令更改了現有文件的時間戳,然後通過該示例文件上的stat命令驗證了更改:

將文件的時間戳更改為其他時間

通過我們在本文中介紹的基本但有用的場景,您可以開始掌握touch命令並使用它通過Linux命令行快速執行一些看似複雜的任務。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 尤沐西子 的精彩文章:

安裝的 Linux 軟體包有多少?
DDOS攻擊詳解

TAG:尤沐西子 |