當前位置: 首頁>>技術教程>>正文


Linux Touch命令的8種常見用法

, ,

除了在Linux上簡單地創建一個空文件之外,Linux touch命令還有更多的用途。您也可以使用它來更改現有文件的時間戳,包括它們的訪問和修改時間。本文介紹了8種通過Linux終端使用touch命令的方法。

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

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

touch命令最簡單,最基本的用法是通過命令行創建一個空文件。如果您是Terminal-savvy用戶,則可以在命令行中通過以下命令快速創建一個新文件:

$ touch “filename”

例:

$ touch samplefile

在以下示例中,我通過touch命令創建了一個名稱為“samplefile”的空文件。然後,我使用ls命令查看了係統上文件是否存在,因為touch命令不提示是否已創建文件。

Create empty file with touch command

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

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

$ touch samplefile1 samplefile2 samplefile3 ….

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

Create multiple files with touch command

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

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

$ touch -c “filename”

在以下示例中,我使用了touch命令來強製避免創建新文件。

當我使用ls命令列出該文件時,以下輸出驗證該文件在係統中不存在。

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

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

讓我們舉一個例子來展示如何做到這一點。我通過touch命令創建了一個名為“testfile”的文件,並通過stat命令查看了其統計信息:

Change modification time of file

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

$ touch testfile

該觸摸命令將訪問和修改時間更改為我再次為“testfile”運行touch命令的時間。您可以在下圖中看到更改的訪問和修改時間:

File modification and access time changed

5.更改訪問時間或修改時間[隻修改某一個]

無需同時更改訪問和修改時間,我們可以選擇通過touch命令僅更改其中之一。

在以下示例中,我創建了一個名為“samplefile”的文件,並通過stat命令查看了它的統計信息:

File details

通過對該文件使用touch命令,使用“ -a”選項,僅更改該文件的訪問時間:

$ touch -a samplefile

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

Change access time

通過在此文件上通過touch命令使用“ -m”選項,僅更改該文件的修改時間:

$ touch -m samplefile

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

Change modification time

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

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

First sample file

另一個名為samplefileB的文件:

Second sample file

如果您想將文件samplefileA的訪問和修改時間更改為samplefileB的,您可以按以下方式運行touch命令:

$ touch samplefileA -r sampleFileB

Copy modification and access time from file a to b

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

7.創建一個帶有指定時間戳的新文件

為了用指定的時間戳而不是創建的實際時間創建一個新的空文件,可以使用touch命令的以下語法:

$ touch -t YYMMDDHHMM.SS ”filename”

如下圖所示,stat示例文件顯示其訪問和修改時間是通過touch命令創建它時提供的時間戳:

Create a new file with a specified timestamp

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

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

$ touch -c -t YYMMDDHHMM.SS “filename”

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

Change timestamp of a file to some other time

通過在本文中介紹的基礎但有用的方案,我們可以掌握touch命令從而能夠通過Linux命令行快速執行一些看似複雜的任務。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/7760.html,未經允許,請勿轉載。