TOUCH(1)

名前
touch - ファイルのアクセス時刻と修正時刻を変更する

書式
touch [-acm][-r ref_file|-t time] file...

今後使われなくなる書式:
touch [-acm][ugly_time] file...

GNU 版:
touch [-acfm] [-r file] [-t time] [-d time] [--time={atime,access,use,mtime,modify}] [--date=time] [--reference=file] [--no-create] [--help] [--version] [--] file...

説明
touch コマンドは指定したそれぞれの file のアクセス時刻、修正時刻またはいずれかを変更する。 特に指定がない場合は現在時刻に変更する。-r オプションを使った場合、 ref_file の時刻を使い変更し、-t オプションを使った場合には time で指定した時刻に変更する。 -a と -m オプションのいずれも指定しないか、同時に指定すると両方の時刻(訳注：アクセス時刻と 修正時刻)を変更する。-a と -m オプションのいずれか1つを指定すると、アクセス時刻もしくは 修正時刻のいずれかのみを変更する。

POSIX オプション

-a  file のアクセス時刻のみを変更する。

-c  file を作成しない。

-m  file の修正時刻を変更する。

-r ref_file
    ref_file で指定したファイルの時刻を使い変更する。

-t time
    time で指定した時刻を使い変更する。 引数は次のような明確な意味を持つ10進数の形式で指定する。
        [[CC]YY]MMDDhhmm[.SS]
    CCを指定しない場合、年CCYYは 1969-2068の範囲となる(訳注：YY=69-99の場合CC＝19、 YY=00-68の場合CC=20と見倣される)。YYを指定しない場合には、現在の年が使われる。 SSを指定しない場合、0として見倣される。うるう秒を参照できるように0-61の範囲で指定できる。 結果の時刻は環境変数TZにより指定されたタイムゾーンでの時刻となる。結果の時刻が1970年1月1日 以前になった場合エラーとなる。

POSIX 詳細
2つ目の形式では ugly_time が時刻なのかファイルを指定する引数なのかはっきりしないという不利な面がある。-r もしくは -t オプションを指定せず、少なくても2つの引数を指定し、最初の引数が8桁もしくは10桁の10進数 である場合には時刻として見倣す。 ugly_time の書式は MMDDhhmm[yy] で、yyは69-99の範囲で指定し1969年から1999年を表す。 yyが指定されない場合は現在の年をあらわす。 この書式は今後使われない。

GNU 詳細
最初の file が -t に対する有効な引数で、 -d, -r, もしくは -t オプションで時刻を指定せず、また `--' を指定しない場合、その引数はファイル名としてではなく その他のファイルの時刻として解釈される。

touch コマンドでファイルのアクセス時間や修正時間を現在時刻に変更する場合、 実行するユーザーはファイルの所有者でなくても、そのファイルに対する書き込みアクセス権があれば良い。 そうでない場合には、そのファイルの所有者である必要がある。

GNU オプション

-a, --time=atime, --time=access, --time=use
    アクセス時刻のみ変更する。

-c, --no-create
    指定したファイルが存在しない場合、作成しない。

-d, --date=time
    現在時刻の代わりに、 time で指定した時刻を使う。月の名前や、タイムゾーン、`am' や `pm'、等を含めることができる。

-f  無視される; BSD 版の touch(1) との互換性のために用意されている。

-m, --time=mtime, --time=modify
    修正時刻のみを変更する。

-r file, --reference=file
    現在時刻の代わりに、参照用に指定した file の時刻を使う。

GNU 標準オプション

--help
    標準出力に使用方法のメッセージを出力して正常終了する。

--version
    標準出力にバージョン情報を出力して正常終了する。

--  オプションリストを終了する。

環境変数
変数 TZ が明示的に与えられた時刻を解釈するのに使われる。 変数 LANG, LC_ALL, LC_CTYPE, LC_MESSAGES が通常の意味を持つ。

準拠
POSIX 1003.2 では -t オプションの引数の書式が GNU での実装で使われているものとは違っている。

注意
このページでは fileutils-4.0 パッケージでの touch コマンドについて説明している; その他のバージョンでは少し違いがあるかもしれない。修正や 追加は aeb@cwi.nl と aw@mail1.bet1.puv.fi そして ragnar@lightside.ddns.org 宛てメイルしてください。プログラムのバグについては bug-fileutils@gnu.org へ報告してください。