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

空のファイルを作成する:touchコマンド

 Linuxシステムでファイル操作の基本を学ぶ際、最初に理解しておきたいのがファイルの作成方法です。ファイルを作成する方法はいくつかありますが、ここではtouchコマンドを使用して新しいファイルを作成する方法を解説します。

touchコマンドとは

touchコマンドは、指定したファイルのタイムスタンプ(日時情報)を更新するためのコマンドです。しかし、対象のファイルが存在しない場合には、新しく空のファイルを作成します。この特性を利用して、手軽に新しいファイルを作成することができます。

【書式】
touch <ファイル名> <ファイル名>...

touchコマンドの基本

 touchコマンドは指定したファイルが存在しない場合には、空のファイルを新規作成します。また、すでに存在しているファイルを指定した場合、そのファイルの内容を変更することなく、タイムスタンプ(ファイルの作成日時や更新日時)を更新するためにも使用されます。

機能説明
コマンド名touch
用途空のファイルを作成する、または既存ファイルのタイムスタンプを更新する。
基本書式touch ファイル名
複数ファイル作成touch ファイル1 ファイル2 ...
touchコマンドの基本

touchコマンドの使用例

まず、練習用のディレクトリworkに移動します。

user01@ubuntu:~$ cd work

新しい空ファイルを作成するには、次のようにコマンドを入力します。

user01@ubuntu:~/work$ touch newrfile
user01@ubuntu:~/work$ ls
newrfile

 このコマンドで、新しいファイルnewfileが作成されます。この時点では、ファイルの中身は空のままです。また、複数のファイルを同時に作成する場合は、ファイル名をスペースで区切って指定します。

user01@ubuntu:~/work$ touch file1 file2 file3
user01@ubuntu:~/work$ ls
file1  file2  file3  newfile

これで、file1file2file3という3つの空ファイルが作成されます。

既存ファイルのタイムスタンプを更新

 touchコマンドはもともと、ファイルのタイムスタンプを更新するために使用されるコマンドです。すでに存在するファイルを指定すると、そのファイルの「最終更新日時」が現在の日時に更新されますが、ファイルの中身は変わりません。

newfileのタイムスタンプを確認します。

user01@ubuntu:~/work$ ls -l newrfile 
-rw-rw-r-- 1 user01 user01 0  9月 28 21:44 newrfile

newfileのタイムスタンプを更新します。

user01@ubuntu:~/work$ touch newrfile 
user01@ubuntu:~/work$ ls -l newrfile 
-rw-rw-r-- 1 user01 user01 0  9月 28 21:50 newrfile

 上記の例では、existingfileのタイムスタンプが更新され、ファイルが最後にアクセスされた日時が記録されます。

不要なファイルの削除

不要となったファイルを削除しておきます。

user01@ubuntu:~/work$ rm file* newrfile

touchコマンドの安全性

 touchコマンドは、誤って既存のファイルを指定しても、その内容を変更することがないため安全です。空ファイルの作成だけでなく、ファイルのタイムスタンプを管理する上でも非常に便利なコマンドです。

まとめ

touchコマンドは、ファイルのタイムスタンプを更新する本来の目的だけでなく、空のファイルを簡単に作成する方法としてもよく利用されます。既存のファイルを誤って指定しても内容が変更されないため、安全にファイル操作を行うことができます。これからLinuxのファイル操作を練習する際は、touchコマンドを活用してファイルの作成を試してみてください。