GB | BIG5
|
| 首頁 > 系統管理 > 其它 > 正文 |
 |
| 中文man手冊:touch - 修改文件的時間戳記 |
| 本文出自:http://www.cmpp.net 作者: (2001-09-24 12:00:00) |
TOUCH
Section: User Commands (1) Updated: November 1998
名字
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報告?
[中文版維護人]
曉寒 E-mail:xiaohan@sina.com
[中文版最新更新]
2000/10/19
[中國Linux論壇man手冊頁翻譯計劃]
www.cmpp.net/
(http://www.fanqiang.com)
進入【UNIX論壇】
|
|
| 相關文章 |
中文man手冊:touch - 修改文件的時間戳記 (2001-09-24 12:00:00) Linux 指令篇:檔案目錄管理--touch (2001-04-30 14:09:56)
|
|
|
|
 |
★ 樊強制作 歡迎分享 ★ |