Solaris man マニュアル
ユーザーコマンド                                         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 オプション
     は不要です。