Provided by: manpages-zh_1.5.2-1_all bug

NAME

       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標準所規定的格式並
              不一樣.

GNU版本通用選項

       --help 使程式在標準輸出上顯示該程式的用法信息.

       --version
              使程式在標準輸出上列印其版本信息.

       GNU版本通用選項

       --help 使程式在標準輸出上顯示該程式的用法信息.

       --version
              使程式在標準輸出上列印其版本信息.

       --     用於使程式終止對選項的解析.

運行環境

       環境變量TZ一般用來表明所給時刻是哪個時區的.而環境變量LANG,     LC_ALL,     LC_CTYPE    和
       LC_MESSAGES還是一般情況下的意義.

遵循

       GNU版touch的-t選項的參數所用格式並不符合POSIX標準1003.2的描述.

用法實例

       如果檔案foo並不存在,那麼命令`touch                                   foo'將創建它,並把最
       後的修改時間改到現在的時刻.這一特點經常用來引導 make 的執行.

注意

       這篇說明描述了fileutils-4.0程式包中的      touch.     其它版本的touch可能與此有稍許不同.
       對本文的修正和增補請致信aeb@cwi.nl. 程式缺陷請向fileutils-bugs@gnu.ai.mit.edu報告