linux每日命令(10):touch命令

聽風。發表於2018-11-01

linux的touch命令一般用來修改檔案時間戳,或者新建一個不存在的檔案。

一.命令格式:

touch [引數]... 檔案...

二.命令引數:

引數 描述
-a 或–time=atime或–time=access或–time=use  只更改存取時間。
-c 或–no-create  不建立任何文件。
-d  使用指定的日期時間,而非現在的時間。
-f  此引數將忽略不予處理,僅負責解決BSD版本touch指令的相容性問題。
-m 或–time=mtime或–time=modify  只更改變動時間。
-r 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同。
-t  使用指定的日期時間,而非現在的時間。

三.命令功能:

touch命令引數可更改文件或目錄的日期時間,包括存取時間和更改時間。

四.使用例項:

1. 建立file1和file2兩個空檔案

命令:

 touch file1 file2

輸出:

hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
hc@hc-virtual-machine:~/test$ touch file1 file2
hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:48 file1
-rw-r--r--  1 hc hc    0 11月  1 09:48 file2

說明:

如果加入 -c 引數,當目標檔案不存在時,不會建立新檔案,如果目標檔案存在,則會修改檔案時間屬性為當前系統時間

hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:48 file1
-rw-r--r--  1 hc hc    0 11月  1 09:48 file2
hc@hc-virtual-machine:~/test$ touch -c file2
hc@hc-virtual-machine:~/test$ touch -c file3
hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:48 file1
-rw-r--r--  1 hc hc    0 11月  1 09:50 file2

2. 將file1的時間改為file2的時間

命令:

touch -r file2 file1

輸出:

hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:48 file1
-rw-r--r--  1 hc hc    0 11月  1 09:50 file2
hc@hc-virtual-machine:~/test$ touch -r file2 file1
hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:50 file1
-rw-r--r--  1 hc hc    0 11月  1 09:50 file2

3.指定檔案的日期時間

命令:

touch -t 201810011003.17 file2

輸出:

hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:50 file1
-rw-r--r--  1 hc hc    0 11月  1 09:50 file2
hc@hc-virtual-machine:~/test$ touch -t 201810011003.17 file2
hc@hc-virtual-machine:~/test$ ll
總用量 8
drwxr-xr-x  2 hc hc 4096 11月  1 09:48 ./
drwxr-xr-x 25 hc hc 4096 10月 31 19:52 ../
-rw-r--r--  1 hc hc    0 11月  1 09:50 file1

說明:

-t time 使用指定的時間值 time 作為指定檔案相應時間戳記的新值。此處的 time規定為如下形式的十進位制數:

 [[CC]YY]MMDDhhmm[.SS]     

這裡,CC為年數中的前兩位,即”世紀數”;YY為年數的後兩位,即某世紀中的年數。如果不給出CC的值,則touch 將把年數CCYY限定在1969–2068之內。MM為月數,DD為天將把年數CCYY限定在1969–2068之內。MM為月數,DD為天數,hh 為小時數(幾點),mm為分鐘數,SS為秒數。此處秒的設定範圍是0–61,這樣可以處理閏秒。這些數字組成的時間是環境變數TZ指定的時區中的一個時 間。由於系統的限制,早於1970年1月1日的時間是錯誤的。

相關文章