このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】ファイルの作成・タイムスタンプの更新:touchコマンド

touchコマンドの概要

 「touch」コマンドは、Linuxシステム上でファイルのタイムスタンプ(最終アクセス時刻や最終変更時刻)を更新したり、新しい空のファイルを作成するためのコマンドです。ファイルのタイムスタンプを更新する際に、指定したファイルが存在しない場合は新しいファイルを作成します。このコマンドは、ファイルのタイムスタンプを更新することで、ファイルの最終アクセス日時や最終変更日時を現在時刻に設定できます。

主なオプションと説明

オプション説明
-d指定した日時にファイルのタイムスタンプを設定する。
-r他のファイルのタイムスタンプをコピーする。
主なオプションと説明

コマンドの使用例と解説

1.ファイルを作成する。

・「touch sample1.txt」コマンドを実行します。

 このコマンドは、「sample1.txt」というファイルのタイムスタンプを現在時刻に更新します。もし「sample1.txt」が存在しない場合、新しい空のファイルが作成されます。

user01@ubuntu-vm:~$ touch sample1.txt

・「ls -l」コマンドを実行します。

 ファイルの詳細情報を確認します。「sample1.txt」ファイルの更新日時が「5月 8 00:10」となっています。

user01@ubuntu-vm:~$ ls -l
合計 36
-rw-rw-r-- 1 user01 user01    0  5月  8 00:10 sample.txt
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

・再度、「touch sample1.txt」コマンドを実行して「ls -l」コマンドを実行します。

user01@ubuntu-vm:~$ touch sample1.txt
user01@ubuntu-vm:~$ ls -l
合計 36
-rw-rw-r-- 1 user01 user01    0  5月  8 00:19 sample.txt
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

「sample1.txt」ファイルの更新日時が現在の時刻「5月 8 00:19」に更新されました。

2.指定した日時にタイムスタンプを更新する。

・「touch -d "2024-05-07 12:30:00" sample1.txt」コマンドを実行します。

このコマンドは、「sample1.txt」ファイルのタイムスタンプを指定した日時に設定します。

・「ls -l」コマンドを実行して「sample.txt」ファイルの更新日時を確認します。

user01@ubuntu-vm:~$ touch -d "2024-05-07 12:30:00" sample.txt
user01@ubuntu-vm:~$ ls -l
合計 36
-rw-rw-r-- 1 user01 user01    0  5月  7 12:30 sample1.txt
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

「sample1.txt」ファイルの更新日時が指定した日時に更新されています。

3.他のファイルのタイムスタンプをコピーする。

 新しく「sample1.txt」ファイルを作成して、「ls -l」コマンドで「sample1.txt」と「sample2.txt」の更新日時を確認します。次のコマンドを実行します。

・「touch sample2.txt」コマンドを実行します。
・「ls -l」コマンドを実行します。

user01@ubuntu-vm:~$ ls -l
合計 36
-rw-rw-r-- 1 user01 user01    0  5月  7 12:30 sample1.txt
-rw-rw-r-- 1 user01 user01    0  5月  8 00:40 sample2.txt
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

sample1.txtの更新日時・・・5月 7 12:30
sample2.txtの更新日時・・・5月 8 00:40

・「touch -r sample1.txt sample2.txt」コマンドを実行します。

 このコマンドは、「sample1.txt」のタイムスタンプを「sample2.txt」にコピーします。これは、特にファイルのタイムスタンプを他のファイルに合わせたい場合に便利です。

user01@ubuntu-vm:~$ touch -r sample1.txt sample2.txt

ファイルの更新日時を確認します。

・「ls -l」コマンドを実行します。

「sample1.txt」のタイムスタンプが「sample2.txt」にコピーされていることが確認できます。

user01@ubuntu-vm:~$ ls -l
合計 36
-rw-rw-r-- 1 user01 user01    0  5月  7 12:30 sample1.txt
-rw-rw-r-- 1 user01 user01    0  5月  7 12:30 sample2.txt
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

作成したファイルを削除します。

・「rm sample1.txt sample2.txt」コマンドを実行します。

user01@ubuntu-vm:~$ rm sample1.txt sample2.txt

 これらの使用例を通じて、「touch」コマンドを使ってファイルのタイムスタンプを更新したり、新しいファイルを作成する方法をマスターしましょう。