6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Linux】touchコマンドの使い方とタイムスタンプの意味を解説

Posted at

未来電子テクノロジーでインターンをしている田島一毅です。プログラミング初心者であるため、内容に誤りがあるかもしれません。
もし、誤りがあれば修正するのでどんどん指摘してください。

最近Linuxについて勉強をしていて、そこで基本コマンドのtouchコマンドについて勉強しました。

その時に

「タイムスタンプってなんの意味があるん?」

って思って少し調べたので、今回は、touchコマンドの紹介とともにタイムスタンプの意味について紹介します。

#Linuxのコマンドである「touch」とは?

Linuxのコマンドである「touch」では、空のファイルの作成や、更新日時やアクセス日時を刻めるタイムスタンプの変更ができます。

空のファイルを作ることはよくあるかもしれませんが、タイムスタンプの変更ってなんの意味があるんだろう…

僕はそう思いました。

##タイムスタンプの意味とは

どうやらタイムスタンプには2つの意味があるらしいです。

  1. 更新日時やアクセス日時を更新して、いつ更新したか・いつアクセスしたかを明らかにする&その日時以降改ざんがないことを示す

  2. ある日時に確かにデータが存在したことを示す

2)の意味は正直予想外でした。

でもよくよく考えれば、共同開発の場合などはこのタイムスタンプは非常に重要ですね。

##コマンド「touch」の基本的な使い方

###空のファイルを作る

空のファイルを作るのは非常に簡単です。

touch ファイル名

で作れます。

ただし、空のファイルを作成する場合、このファイル名は既に存在するファイル名であってはなりません。

もし存在するファイル名を指定した場合、以下の「タイムスタンプの更新」が実行されます。

###タイムスタンプを更新する
既存のファイルのタイムスタンプを更新する場合、

touch 既存のファイル名

として実行します。

##コマンド「touch」のオプション

コマンド「touch」にはオプションがあるので、以下で確認してください。

###-aオプション

-aオプションは、アクセスの日時のみを更新するためのオプションで、

touch -a ファイル名

で、指定したアクセス日時のみを更新できます。
更新はしてないけど、アクセスはしたということを示すことができます。

###-cオプション
上記の「空のファイルを作る」「タイムスタンプを更新する」で述べたように、存在しないファイル名をtouchしたときは、新しい空のファイルが作成されますが、それを阻止したいときにこのオプションを使います。

使い方は、

touch -c ファイル名

###-dオプション
タイムスタンプの日時を現在ではなく、指定した日時にしたいときにこのオプションを使います。

使い方は、

touch --date="2019/7/1 23:00" ファイル名

###-mオプション
最終更新日時のみを更新する時にこのオプションを使います。

使い方は、

touch -m ファイル名

###-rオプション
指定した別のファイルと同じ日時にタイムスタンプを更新したいときにオプションを使います。

使い方は、

touch -r 基準となるファイル 更新したいファイル

これを知っていると、複数のファイルのタイムスタンプを更新するのが非常に楽になりますね。

#まとめ
今回は、タイムスタンプとLinuxのコマンド「touch」について紹介しました。

これからもどんどん記事をあげていくので楽しみにしていてください!

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?