【Linuxコマンド】touchでタイムスタンプを変更する方法

Linuxではファイルのタイムスタンプを変更するときに便利な「touch」コマンドがあります。

ここでは「touch」コマンドについて以下の内容で解説していきます。

touch_image

この記事では「touch」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

目次

touchコマンドとは

shutterstock_739550311

「touch」コマンドはファイルのタイムスタンプを変更するときに使用します。

タイムスタンプとはファイルが持つ更新時刻などの情報で以下の3つのタイムスタンプがあります。

  • atime:ファイルの最終アクセス日
  • mtime:ファイルの最終更新日
  • ctime:アクセス権の最終更新日

「touch」コマンドを使用すると、タイムスタンプのmtimeとctimeを更新することができます。

・「touch」コマンドの書式

$ touch ファイル名

ファイル名を指定すれば最終更新日を変更することが可能です。

touchコマンドの使い方

ここでは「touch」コマンドの使い方を見ていきましょう

タイムスタンプを変更する

ファイル名test.txtのタイムスタンプを変更するには、以下のように記述します。

$ touch test.txt

実行結果:
touch_image01

更新日が変更されていることがわかりますね!

複数ファイルを変更する

複数ファイルのタイムスタンプを変更するには、ファイル名を連続して指定すればOKです。

以下の例では「test01.txt」「test02.txt」のタイムスタンプをまとめて変更しています。

touch test01.txt test02.txt

実行結果:
touch_image02

ファイルを新規に作成する

ファイルを新規に作成する場合も「touch」コマンドでファイル名を指定すればOKです。

すでにファイルが存在する場合は、上で説明したように指定したファイルの更新日時が変更されます。

$ touch new.txt

実行結果:
touch_image03

このようにファイルnew.txtがサイズ0で作成されていることがわかりますね!

touchコマンドのオプション

以下はtouchコマンドで使用する主なオプションです。

オプション説明
-aアクセス日時のみを変更する
-cファイルが存在しない場合はファイルを新規作成しない
-t指定した日時で変更する
-r他のファイルに日時をあわせる

-cオプションでタイムスタンプのみを変更

タイムスタンプを変更することが目的で、誤って存在しないファイルを指定して新規作成されるのを防ぐためには「-c」オプションを使用します。

「-c」オプションを指定すれば、存在しないファイルを指定したファイルが作成されません。

$ touch -c new.txt

実行結果:
touch_image04

「-c」オプションを使用すればファイルが新規に作成されないことがわかりますね!

-tで指定した時刻に変更する

touchコマンドで現在時刻ではなく、指定した日時に変更したい場合は「-t」オプションを使用します。

たとえば、「YYYYMMDDHHmm.ss」形式で日時を変更したい場合は以下のように記述します。

$ touch -t 201804011200.00 new.txt

実行結果:
touch_image05

指定した日時でタイムスタンプが変更されていることがわかりますね!

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



まとめ

ここでは、Linuxでファイルのタイムスタンプを変更する「touch」コマンドについて、

  • touchコマンドとは
  • touchコマンドの使い方
  • touchコマンドのオプションと使い方

について解説しました。

ソースファイルなどを指定した更新日に合わせるときなどに「touch」コマンドを使用することはよくありますので使い方はよく理解しておきましょう。

もし、touchコマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次