歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux中使用touch命令來修改文件的時間

Linux中使用touch命令來修改文件的時間

日期:2017/3/1 17:31:01   编辑:Linux技術

用法:
touch [選項]... 文件...
將每個文件的訪問時間和修改時間改為當前時間。

不存在的文件將會被創建為空文件,除非使用-c 或-h 選項。

如果文件名為"-"則特殊處理,更改與標准輸出相關的文件的訪問時間。

長選項必須使用的參數對於短選項時也是必需使用的。

參數:
-a 只更改訪問時間
-c, --no-create 不創建任何文件
-d, --date=字符串 使用指定字符串表示時間替代當前時間
-f (忽略)
-h, --no-dereference 會影響符號鏈接本身,替代符號鏈接所指示的目的地
(當系統支持更改符號鏈接的所有者時,此選項才有用)
-m 只更改修改時間
-r, --reference=文件 使用指定文件的時間屬性替代當前時間
-t STAMP 使用[[CC]YY]MMDDhhmm[.ss] 格式的時間替代當前時間
--time=WORD 使用WORD 指定的時間:access、atime、use 都等於-a
選項的效果,而modify、mtime 等於-m 選項的效果
--help 顯示此幫助信息並退出
--version 顯示版本信息並退出

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

例:
touch 更新已有文件時間

復制代碼代碼如下:
$ ls -l Firefox_wallpaper.png
-rw-r--r-- 1 siu siu 309597 12月 20 15:03 Firefox_wallpaper.png
$ touch Firefox_wallpaper.png
$ ls -l Firefox_wallpaper.png
-rw-r--r-- 1 siu siu 309597 1月 8 15:18 Firefox_wallpaper.png

touch 無選項,會同時更新文件的修改時間和訪問時間


touch 創建文件

復制代碼代碼如下:
$ touch demo.c
$ ls -l
總用量 372
-rw-r--r-- 1 siu siu 0 1月 8 15:21 demo.c

touch -at 使用參數更新訪問時間
首先看看原來的修改時間和訪問時間,ls -lu用來查看訪問時間

復制代碼代碼如下:
$ ls -l
總用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
總用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 15:17 hs_err_pid2874.log

接著是更新過後的修改時間和訪問時間


復制代碼代碼如下:
$ touch -at 01081010 hs_err_pid2874.log
$ ls -l
總用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ ls -lu
總用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log

可以看到,修改時間沒有變動,但是訪問時間改變了

touch -m 只更新修改時間

復制代碼代碼如下:
$ ls -l
總用量 68
-rw-r--r-- 1 siu siu 66350 12月 23 16:51 hs_err_pid2874.log
$ touch -m hs_err_pid2874.log
$ ls -l
總用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 15:31 hs_err_pid2874.log
$ ls -lu
總用量 68
-rw-r--r-- 1 siu siu 66350 1月 8 10:10 hs_err_pid2874.log

由上面的示例可知,此處訪問時間沒有改變,而修改時間發生了變動

技巧:
1.可以用默認的當前時間來更新文件的訪問時間和修改時間,也可以指定參數來更新

2.通常情況下,touch用的最多的地方還是在於創建新文件

Copyright © Linux教程網 All Rights Reserved