ユーザーコマンド touch(1)
【名前】
touch, settime - ファイルのアクセス日時および更新日時の変更
【形式】
touch [-acm] [-r ref_file | -t time] file ...
touch [-acm] [date_time] file ...
settime [-f ref_file] [date_time] file ...
【機能説明】
touch ユーティリティは、各ファイルのアクセス日時または更新日
時 を設定します。指定した file が存在しない場合には、file が
作成されます。
新たに設定する日時は、-t time、-r ref_file に指定したファ イ
ル の時刻フィールド、または date_time オペランドによって、指
定することができます。これらのオプションやオペランドを 1 つ
も指定しない場合には、touch は、time(2) 関数によって返される
現在の日時を設定します。
-a オプションと -m オプションの両方が省略された場 合、 touch
は更新日時とアクセス日時の両方を更新します。
ファイルへの書き込み権を持つが、そのファイルの所有者で は な
く、スーパーユーザーでもないユーザーは、ファイルの更新日時と
アクセス日時を現在の日時にだけ変更できます。touch で特定の日
時に設定しようとするとエラーになります。
settime ユーティリティは、touch -c [date_time] file と同等で
す。
【オプション】
[touch]
touch には、以下のオプションを指定できます。
-a file のアクセス日時だけを変更します。-m オプ
ションも同時に指定された場合を除き、更新日時
は変更しません。
-c file が示す名前のファイルが存在しない場 合、
そのファイルを作成しません。また、この状態に
ついての診断メッセージを出力しません。
-m file の更新日時だけを変更します。-a オプショ
ンも同時に指定しなければ、アクセス日時は更新
しません。
-r ref_file 設定する日時として、現在の日時の 代 わ り に
ref_file が示すファイルの日時を使用します。
-t time 設定する日時として、現在の日時の 代 わ り に
time が示す値を使用します。time は以下の形式
の 10 進数です。
[[CC]YY]MMDDhhmm [.SS]
各 2 桁の値は次のような意味を持ちます。
MM 月 [01-12]
DD 日 [01-31]
hh 時 [00-23]
mm 分 [00-59]
CC 西暦年の上 2 桁
YY 西暦年の下 2 桁
SS 秒 [00-61]
CC と YY はともに省略可能です。両方とも省略すると、現在の 年
と見なされます。YY を指定して CC を省略すると、CC は以下に示
す値と見なされます。
____________________________________________________________
| YY の値 CC のデフォルト |
| 69-99 19 |
| 00-38 20 |
| 39-68 エラー |
|___________________________________________________________|
結果として得られる日時の値は、環境変数 TZ の値によって影響を
受 けます。日時の値が 1970 年 1 月 1 日 0 時 0 分 0 秒 (グリ
ニッジ標準時) 以前を示しているとき、touch はエラーとなりただ
ちに実行を終了します。許される日時の値の範囲は、1970 年 1 月
1 日 0 時 0 分 0 秒 (グリニッジ標準時) 以後から 2038 年 1 月
18 日までです。
SS の範囲は、[00-59] ではなく [00-61] です。これはうるう秒を
考 慮しているためです。SS が 60 または 61、TZ により加工され
た後の時刻の値がうるう秒を表していない場合、結果の時刻 値 は
SS を 59 とした時刻の 1 秒後または 2 秒後となります。SS を省
略すると 0 と見なされます。
[settime]
settime には、以下のオプションを指定できます。
-f ref_file 現在の日時の代わりに、ref_file に指定され た
ファイルの日時を使用します。
【オペランド】
touch および settime には、以下のオペランドを指定できます。
file 日時を変更するファイルのパス名
date_time 現在の日時の代わりに date_time を使 用 し ま
す。date_time は以下の形式の 10 進数です。
MMDDhhmm[YY]
各 2 桁の値は次のような意味を持ちます。
file 日時を変更するファイルのパス名。
MM 月 [01-12]
DD 日 [01-31]
hh 時 [00-23]
mm 分 [00-59]
YY 西暦年の下 2 桁。
YY は省略可能です。省略すると、現在
の 年 と見なされます。YY を指定する
と、年は以下に示す値と見な さ れ ま
す。
____________________________________________________________
| YY 対応する年 |
| 69-99 1969-1999 |
| 00-38 2000-2038 |
| 39-68 エラー |
|___________________________________________________________|
-r オプションと -t オプションの両方 を 省 略
し、 最低 2 つのオペランドが指定され、そのう
ちの先頭のオペランドの値が 8 または 10 桁 の
10 進 数 で あ るとき、その先頭オペランドは
date_time であると見なされます。それ以外の場
合には、先頭オペランドは file であると見なさ
れます。
【使用法】
ファイルが 2 ギガバイト (2**31 バイト) 以上ある場合の touch
の動作については、largefile(5) を参照してください。
【環境】
touch の実行に影響を与える環境変数 LANG、LC_ALL、 LC_CTYPE、
LC_MESSAGES、NLSPATH についての詳細は、environ(5) を参照して
ください。
TZ time オプション引数や date_time オペランドに適用 す
るタイムゾーンを指定します。
【終了ステータス】
以下の終了ステータスが返されます。
0 touch の実行が正常終了し、要求されたすべての変更 が
行われた
>0 エラーが発生した。touch は、日時の変更を実施でき な
かったファイルの数を返す
【属性】
次の属性については attributes(5) のマニュアルページを参照 し
てください。
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWcsu |
|_____________________________|_____________________________|
| CSI | 対応済み |
|_____________________________|_____________________________|
【関連項目】
time(2), attributes(5), environ(5), largefile(5)
【注意事項】
BSD 環境に熟知しているユーザーは、-f オプションが touch に受
け入れられたのに -f オプションは無視されることに気づくでしょ
う。ファイル上のアクセス権にかかわりなく、touch はユーザーが
所 有するすべてのファイルに対して成功するので、-f オプション
は不要です。
|
|