Touch (UNIX)
touchの最も簡単なユースケースは
である。この例では、touchはmyfile.txtの内容を変更せずに、myfile.txtのタイムスタンプのみをコンピューターの現在の日付と時刻に更新する。
次の例は、なぜこのような動作が望ましいのか示す。一般に、作成中のソフトウェアプロジェクトではプログラムをmakeコマンドでビルドすることが多い。その際に、makefileを変更して、makeコマンドで再ビルドする必要があると仮定する。しかし、作業の直後にmakeが以下のような報告をすることがある:
これはソースコードファイルが(ターゲットより以前に)更新されていたからで、touchコマンドでファイルの更新をシミュレートする必要がある。そのようにすると、以下のようにmakeを走らせて、プログラムをリコンパイルできるようになる:
以下の例は、ファイルの日付と時刻を変更する方法を示す:
上記の3つの例は同値である。すなわち、index.htmlの日付と時刻を2007年1月31日の午前8時46分26秒に設定する。
cp, grep, chmodなどのコマンドとは異なり、touchはコマンドを再帰的にサブディレクトリに適用する再帰的なスイッチ(-r または -R または両方)を持っていない(2008年8月時点)。しかし、以下のようにすれば適用できる:
この方法は比較的、実行速度が遅い。これは以下のようにすれば高速化できる:
ファイル名またはサブディレクトリ名に空白が含まれる場合は、以下のようにするとよい:
touch — GNU coreutilsのマニュアル(英語)
touch — OpenBSDのマニュアル(英語)
Manpage of TOUCH JM Project
touch(1) man page(SunOS リファレンスマニュアル)
touch(1) man page(HP-UX リファレンス)