touch 中文man頁面
名字
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 的執行.注意
#p#
NAME
touch - change file timestamps
SYNOPSIS
touch [OPTION]... FILE...
DESCRIPTION
Update the access and modification times of each FILE to the current time.
Mandatory arguments to long options are mandatory for short options too.
- -a
- change only the access time
- -c, --no-create
- do not create any files
- -d, --date=STRING
- parse STRING and use it instead of current time
- -f
- (ignored)
- -m
- change only the modification time
- -r, --reference=FILE
- use this file's times instead of current time
- -t STAMP
- use [[CC]YY]MMDDhhmm[.ss] instead of current time
- --time=WORD
- set time given by WORD: access atime use (same as -a) modify mtime (same as -m)
- --help
- display this help and exit
- --version
- output version information and exit
Note that the -d and -t options accept different time-date formats.
AUTHOR
Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David MacKenzie, and Randy Smith.
REPORTING BUGS
Report bugs to <bug-coreutils@gnu.org>.
COPYRIGHT
Copyright © 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
SEE ALSO
The full documentation for touch is maintained as a Texinfo manual. If the info and touch programs are properly installed at your site, the command
- info coreutils touch
should give you access to the complete manual.