ホーム > ファイル・ディレクトリ管理 > touch

touch コマンドガイド: ファイルの作成とタイムスタンプの変更

`touch` コマンドは Linux および Unix 系のオペレーティングシステムでファイルのアクセス時間 (atime) と修正時間 (mtime) を更新するか、存在しないファイルを新たに作成するために使用されます。シェルスクリプトで一時ファイルを作成したり、ファイルの変更時間を特定の時点に設定する必要がある場合に便利です。このガイドを通じて `touch` コマンドの基本的な使い方とさまざまなオプションを学んでください。

touch 概要

`touch` コマンドの主な機能はファイルのタイムスタンプを更新することです。ファイルが存在しない場合、`touch` はその名前で空の新しいファイルを作成します。このコマンドはファイルの内容に直接的な影響を与えずにファイルシステムのメタデータを操作する際に活用されます。

touchの主な役割

`touch` コマンドは主に以下の目的で使用されます:

主要な活用分野

  • ファイル作成: 存在しないファイルを迅速に作成します。
  • タイムスタンプ更新: ファイルのアクセス時間 (atime) と修正時間 (mtime) を現在の時間に更新します。
  • 特定時間設定: ファイルのタイムスタンプを過去または未来の特定の時点に設定します。
  • スクリプト自動化: シェルスクリプトで一時ファイルを作成したり、ビルドシステムでファイルの変更の有無を判断する際に使用されます。
  • バックアップおよび同期: バックアップスクリプトでファイルのタイムスタンプを基準にバックアップの有無を決定する際に活用されます。

ファイルタイムスタンプの理解

Linux ファイルシステムではファイルはさまざまな種類のタイムスタンプを持っています:

主要なタイムスタンプ

  • アクセス時間 (atime): ファイルが最後に読み取られた時間です。 (`-a` オプションで変更)
  • 修正時間 (mtime): ファイルの内容が最後に変更された時間です。 (`-m` オプションで変更、基本動作)
  • 変更時間 (ctime): ファイルの inode 情報 (権限、所有者、ハードリンク数など) または内容が最後に変更された時間です。 `touch` コマンドを使用すると `mtime` とともに `ctime` も常に変更されます。 `ctime` は `touch` コマンドで直接変更することはできません。

主要な touch コマンドオプション

`touch` コマンドはファイルの特定のタイムスタンプのみを変更したり、特定の日付と時間でタイムスタンプを設定したりするなど、さまざまなオプションを提供します。

1. 基本動作および作成

2. タイムスタンプの種類を選択

3. 特定の時間に設定

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`touch` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

`touch` コマンドのさまざまな活用例を通じてファイルを作成し、タイムスタンプを効率的に管理する方法を学んでください。

空のファイルを作成

touch new_document.txt

現在のディレクトリに `new_document.txt` という名前の空のファイルを作成します。

既存ファイルの修正時間を更新

touch report.log

`report.log` ファイルの最終修正時間 (mtime) を現在の時間に更新します。ファイルの内容には変化がありません。

昨日の日時にファイルのタイムスタンプを設定

touch -d "yesterday" old_data.txt

`old_data.txt` ファイルの修正およびアクセス時間を昨日の日時に設定します。

特定の日付と時間にタイムスタンプを設定

touch -t 2301010930.00 meeting_notes.txt

`meeting_notes.txt` ファイルのタイムスタンプを 2023 年 1 月 1 日午前 9 時 30 分に設定します。

他のファイルのタイムスタンプをコピー

touch -r source_file.txt target_file.txt

`source_file.txt` の修正およびアクセス時間を `target_file.txt` にそのまま適用します。

複数のファイルを一度に作成または更新

touch file1.txt file2.txt file3.txt

`file1.txt`, `file2.txt`, `file3.txt` の 3 つのファイルを一度に作成するか、既に存在する場合はタイムスタンプを更新します。


同じカテゴリのコマンド