Previous: chown invocation, Up: Changing file attributes


13.4 touch: ファイルのタイプスタンプの変更

touchは,指定されたファイルのアクセスと/や編集された時間を変 更します.概要です.

     touch [option]... file...

古いシステムでは,touchは以下のような時代遅れの構文ををサポー トしています.最初のfile-tオプションの有効な引数で, タイムスタンプが-d-r,または-tオプション で全く与えられておらず,‘--’引数が与えられていない場合,その引数 はファイル名としてではなく,その他のファイルに対する時間として解釈され ます.POSIX 1003.1-2001 (see Standards conformance)では, これを許可していません.代わりに-tを使用してください.

存在しないfileはすべて空として作成されます.

アクセスと編集の時間の両方を現在の時間に変更するとき,touch は実行しているユーザがファイルの所有者で無いが,書き込み許可があるもの のタイムスタンプを変更することができます.それ以外では,ユーザはそのファ イルの所有者である必要があります.

touchは,ファイルの二つの時間 – 最後のアクセスと編集 – を 変更するオプションを提供しますが,実際には三番目のinodeの変更時間も同 じです.これはファイルのctimeとしてよく参照されます.inodeの変 更時間は,ファイルのメタ情報が最後に変更された時間を表現します.一般的 な例の一つは,ファイルの許可を変更したときです.許可の変更は,ファイル にアクセスしないのでatimeを変更しませんし,ファイルの編集もしないので mtimeも変更しません.しかし,ファイル自身の何かは変っていまて,これは どこかに記録する必要があります.これはctimeフィールドの仕事です.例え ば,バックアッププログラムが新しい許可値まで含めてファイルの新しいコピー を作成することを可能にするために,これが必要になります.他に影響しない ようにファイルのctimeを編集するもう一つの処理は名前の変更です.通常の 処理では,ユーザがctimeフィールドをユーザが指定した値に変更することは, いかなる場合でも不可能です.

プログラムは以下のオプションも受け入れます.Common optionsも参照 して下さい.

-a
--time=atime
--time=access
--time=use
アクセス時間だけ変更します.
-c
--no-create
存在していないファイルを作成しません.
-d
--date=time
現在の時間の代わりにtimeを指定します.それは,月名,タイムゾーン, ‘am’と‘pm’等を含めることが可能です.See Date input formats.
-f
無視されます.BSD版のtouchの互換性のためです.
-m
--time=mtime
--time=modify
編集時間だけ変更します.
-r file
--reference=file
現在の時間の代わりに参照fileの時間を使用します.このオプションが --date=time (-d time)オプションと組み合 わされている場合,参照するfileの時間は,与えられたものの timeから相対的なものになりますが,それ以外では無視されます.例え ば,‘-r foo -d '-5 seconds'’は,fooの対応するタイムスタン プの五秒前と同じタイムスタンプを指定します.
-t [[CC]YY]MMDDhhmm[.ss]
現在の時間の代わりに引数(オプションの四桁または二桁の年,月,日,時間, 分,オプションの秒)を使用します.年が二桁のみで指定された場合, CCは,0 ... 68に対し20,69 ... 99に対し19になります.年 の数字が指定されない場合,今年の日付として解釈されます.

終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.