.\"版權所有:Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998. .\"中文版版權所有 曉寒, www.linuxforum.net .\"本檔案可在LDP通用公共許可証(LDP GENERAL PUBLIC LICENSE) .\"(Version 1, September 1998)所描述的條件下自由拷貝. .\"此許可証應與本檔案一起發佈. .\" .TH TOUCH 1 "November 1998" "GNU fileutils 4.0" .SH NAME touch \- 修改檔案的時間戳記. .SH 總覽 .B touch .BI "[\-acm][\-r " ref_file(參照檔案) "|\-t " time(時間值) "] " file(檔名)... .sp 被廢棄的版本: .br .B touch .BI "[\-acm][" ugly_time "] " file(檔案)... .sp GNU版本: .br .B touch .BI "[\-acfm] [\-r " file(參照檔案) "] [\-t " decimtime(時間值) ] .BI "[\-d " time(時間值) "] [\-\-time={atime,access,use,mtime,modify}]" .BI "[\-\-date=" time "] [\-\-reference=" file ] .BI "[\-\-no\-create] [\-\-help] [\-\-version] [\-\-] " file(檔案)... .SH 用法描述 .B touch 修改每個指定檔案 .IR file 的存取(access)和/或修改(modification)時間戳記. 除非使用\-r或\-t選項,這些時間戳記都將修改為當前的時間. 使用\-r選項時,這些戳記將按照檔案 .IR ref_file 的時間戳記來修改(即變得和ref_file時間戳記值相同). 使用\-t選項,則這些戳記將按照給定的時間值 .IR time 進行修改.同時使用或 同時不使用選項\-a和\-m,存取和修改兩個戳記都將被更改.若只使 用選項\-a,則只修改存取戳記.同樣,只使用選項\-m,則只修改修 改戳記.若要修改戳記的檔案尚不存在,除非使用\-c選項,touch 將創建它(作為空檔案,並賦予0666的模式且受umask值的限制). .SH "POSIX標準定義的選項" .TP .B \-a 修改檔案 .IR file 的存取時間. .TP .B \-c 不創建檔案 .IR file . .TP .B \-m 修改檔案 .IR file .IR file .TP .BI "\-r " ref_file 將參照檔案 .I ref_file 相應的時間戳記的數值作為指定檔案 .IR file 時間戳記的新值. .TP .BI "\-t " time 使用指定的時間值 .IR time 作為指定檔案 .IR file 相應時間戳記的新值.此處的 .IR time 規定為如下形式的十進制數: .br .nf [[CC]YY]MMDDhhmm[.SS] .br .fi 這裏,CC為年數中的前兩位,即\(lq世紀數\(rq;YY為年數的 後兩位,即某世紀中的年數.如果不給出CC的值,則touch 將把年數CCYY限定在1969--2068之內.MM為月數,DD為天 將把年數CCYY限定在1969--2068之內.MM為月數,DD為天 數,hh為小時數(幾點),mm為分鐘數,SS為秒數.此處秒 的設定范圍是0--61,這樣可以處理閏秒.這些數字組成 的時間是環境變量TZ指定的時區中的一個時間.由於系統 的限制,早於1970年1月1日的時間是錯誤的. .SH "POSIX標準的細節" 已被廢棄的touch版本使用時會出現模棱兩可的情況: .IR ugly_time 到底是時間值還是檔名?由於此種版本尚未提供\-r或\-t選項, 所以使用時至少要有兩個命令行參數,作為時間值, .IR ugly_time 必須為第一個參數.這裏的 .IR ugly_time 是一個形為MMDDhhmm[yy]的八 位或十位整數.其中,yy是介於69--99之間表示1969--1999之間某 一年的兩位數,如果不給,表示當前這一年. .SH "GNU版本的細節" 如果第一個指定檔案 .I file 的名子從形式上說是選項 .B "\-t" 的有效參 數,並且沒有給出選項 .BR "\-d" , .BR "\-r" 或 .B "\-t" .B "\-t" 數,也沒有給`\-\-'選項,那麼這個檔名將被解釋成時間值. .PP 一般情況下,利用 .B touch 修改檔案的時間戳記時要求使用者時該文 件的所有者.除非只是把檔案的存取和修改兩種時間戳記修改為當 前的時刻,這種情況只要求使用者擁有對該檔案`寫'的權利就行了. .SH "GNU版本選項用法簡介" .TP .B "\-a, \-\-time=atime, \-\-time=access, \-\-time=use" 只修改存取時間. .TP .B "\-c, \-\-no\-create" 如果要修改的檔案不存在,此選項使touch不去創建它. .TP .BI "\-d, \-\-date=" time 使用時間值 .I time 代替指定檔案的戳記值.可以包含月份 名,時區名以及`am'和 `pm'等等. .TP .B "\-f" 此選項用於相容BSD版本的 .BR touch (1). .TP .TP .B "\-m, \-\-time=mtime, \-\-time=modify" 只修改修改時間. .TP .BI "\-r " file ", \-\-reference=" file 使用參照檔案 .I file 的時間戳記值修改指定檔案的時間戳 記. .TP .BI "\-t " decimtime 這裏時間值 .I decimtime 的格式為MMDDhhmm[[CC]YY][.ss] 從左至右分別是月份,日期,小時,分鐘,可選的世紀和 年,以及可選的秒. .B touch 將用這組數值修改指定檔案的 時間戳記.請注意,這個格式與POSIX標準所規定的格式並 不一樣. .SH "GNU版本通用選項" .TP .B "\-\-help" 使程式在標準輸出上顯示該程式的用法信息. .TP .B "\-\-version" 使程式在標準輸出上列印其版本信息. .TP .SH "GNU版本通用選項" .TP .B "\-\-help" 使程式在標準輸出上顯示該程式的用法信息. .TP .B "\-\-version" 使程式在標準輸出上列印其版本信息. .TP .B "\-\-" 用於使程式終止對選項的解析. .SH 運行環境 環境變量TZ一般用來表明所給時刻是哪個時區的.而環境變量LANG, LC_ALL, LC_CTYPE 和 LC_MESSAGES還是一般情況下的意義. .SH "遵循" GNU版touch的\-t選項的參數所用格式並不符合POSIX標準1003.2的描述. .SH "用法實例" 如果檔案\fIfoo\fP並不存在,那麼命令`\fItouch foo\fP'將創建它,並把最 後的修改時間改到現在的時刻.這一特點經常用來引導 .BR make 的執行. .SH 注意 這篇說明描述了fileutils-4.0程式包中的 .B touch. 其它版本的touch可能與此有稍許不同. 對本文的修正和增補請致信aeb@cwi.nl. 程式缺陷請向fileutils-bugs@gnu.ai.mit.edu報告