wlinux touch命令參數及用法詳解---linux修改文件的時間

touch   -   修改文件的時間戳記.        
總覽  
touch   [-acm][-r   ref_file(參照文件)|-t   time(時間值)]   file(文件名)...    
被廢棄的版本:    
touch  [-acm][ugly_time]   file(文件)...    

GNU版本:    
touch   [-acfm]   [-r   file(參照文件)]   [-t   decimtime(時間值)]   [-d   time(時間值)]   [--time={atime,access,use,mtime,modify}]   [--date=time]   [--reference=file]   [--no-create]   [--help]   [--version]   [--]   file(文件)...        

用法描述  
touch   修改每個指定文件   file   的存取(access)和/或修改(modification)時間戳記.除非使用-r或-t選項,這些時間戳記都將修改爲當前的時間.使用-r選項時,這些戳記將按照文件   ref_file   的時間戳記來修改(即變得和ref_file時間戳記值相同).使用-t選項,則這些戳記將按照給定的時間值   time   進行修改.同時使用或同時不使用選項-a和-m,存取和修改兩個戳記都將被更改.若只使用選項-a,則只修改存取戳記.同樣,只使用選項-m,則只修改修改戳記.若要修改戳記的文件尚不存在,除非使用-c選項,touch   將創建它(作爲空文件,並賦予0666的模式且受umask值的限制).        
POSIX標準定義的選項  
-a    
修改文件   file   的存取時間.    
-c    
不創建文件   file.    
-m    
修改文件   file   file    

-r   ref_file    
將參照文件   ref_file   相應的時間戳記的數值作爲指定文件   file   時間戳記的新值.    
-t   time    
使用指定的時間值   time   作爲指定文件   file   相應時間戳記的新值.此處的   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日的時間是錯誤的.    

POSIX標準的細節  
已被廢棄的touch版本使用時會出現模棱兩可的情況:   ugly_time   到底是時間值還是文件名?由於此種版本尚未提供-r或-t選項,所以使用時至少要有兩個命令行參數,作爲時間值,   ugly_time   必須爲第一個參數.這裏的   ugly_time   是一個形爲MMDDhhmm[yy]的八位或十位整數.其中,yy是介於69--99之間表示1969--1999之間某一年的兩位數,如果不給,表示當前這一年.        
GNU版本的細節  
如果第一個指定文件   file   的名子從形式上說是選項   -t   的有效參數,並且沒有給出選項   -d,   -r   或   -t   -t    
數,也沒有給`--'選項,那麼這個文件名將被解釋成時間值.    

一般情況下,利用   touch   修改文件的時間戳記時要求用戶時該文件的所有者.除非只是把文件的存取和修改兩種時間戳記修改爲當前的時刻,這種情況只要求用戶擁有對該文件`寫'的權利就行了.        

GNU版本選項用法簡介  
-a,   --time=atime,   --time=access,   --time=use    
只修改存取時間.    
-c,   --no-create    
如果要修改的文件不存在,此選項使touch不去創建它.    
-d,   --date=time    
使用時間值   time   代替指定文件的戳記值.可以包含月份名,時區名以及`am'和   `pm'等等.    
-f    
此選項用於兼容BSD版本的   touch(1).    
-m,   --time=mtime,   --time=modify    
只修改修改時間.    
-r   file,   --reference=file    
使用參照文件   file   的時間戳記值修改指定文件的時間戳記.    
-t   decimtime    
這裏時間值   decimtime   的格式爲MMDDhhmm[[CC]YY][.ss]   從左至右分別是月份,日期,小時,分鐘,可選的世紀和年,以及可選的秒.   touch   將用這組數值修改指定文件的時間戳記.請注意,這個格式與POSIX標準所規定的格式並不一樣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章