touchコマンドとは、Linuxで空のファイルを作成したり、ファイルの更新日時を変更したりするためのコマンドです。
Linux初心者向けの記事では「touchは空ファイルを作るコマンド」と説明されることが多いですが、正確にはファイルのタイムスタンプを更新するコマンドです。
指定したファイルが存在しない場合は、新しく空ファイルが作成されます。
指定したファイルがすでに存在する場合は、ファイルの中身はそのままで、更新日時などのタイムスタンプが変更されます。
この記事では、Linux初心者向けにtouchコマンドの意味、基本的な使い方、空ファイルの作成、複数ファイルの作成、タイムスタンプの変更、mkdirコマンドとの違い、よくあるエラーまでわかりやすく解説します。
- touchコマンドとは?
- touchコマンドの基本的な使い方
- touchコマンドを使う基本の流れ
- touchコマンドの実行例
- touchコマンドで作成される場所
- 絶対パスでファイルを作成する
- 相対パスでファイルを作成する
- touchコマンドで複数のファイルを作成する
- touchコマンドで既存ファイルを指定するとどうなる?
- touchコマンドでファイルの中身は消える?
- タイムスタンプとは?
- touch -cで存在しないファイルを作成しない
- touch -tで日時を指定して更新する
- touch -dで日付文字列を指定して更新する
- touch -aでアクセス日時を変更する
- touch -mで更新日時を変更する
- touchコマンドでよく使うオプション一覧
- touchコマンドでスペースを含むファイル名を作成する
- touchコマンドで日本語名のファイルを作成する
- touchコマンドで作るファイル名の付け方
- touchコマンドとmkdirコマンドの違い
- touchコマンドとechoコマンドの違い
- touchコマンドとcatコマンドの違い
- touchコマンドとvi・nanoの違い
- touchコマンドでよくあるエラー
- touchコマンドで作成できないときの確認ポイント
- touchコマンドを安全に使うコツ
- touchコマンドを使った練習手順
- touchコマンドを覚えると何ができるようになる?
- touchコマンドのよくある質問
- まとめ
touchコマンドとは?
touchコマンドとは、Linuxでファイルのタイムスタンプを更新するためのコマンドです。
ただし、指定したファイルが存在しない場合は、新しい空ファイルを作成します。
そのため、Linux初心者が最初に覚える使い方としては「空ファイルを作成するコマンド」と考えるとわかりやすいです。
たとえば、sample.txtという空ファイルを作成したい場合は、次のように実行します。
touch sample.txt
このコマンドを実行すると、現在いるディレクトリにsample.txtという空ファイルが作成されます。
touchコマンドの基本的な使い方
touchコマンドの基本的な使い方は、次の通りです。
touch ファイル名
たとえば、test.txtというファイルを作成したい場合は、次のように実行します。
touch test.txt
実行しても、通常は成功メッセージは表示されません。
Linuxでは、何も表示されなければ正常に実行できていることが多いです。
作成できたか確認したい場合は、lsコマンドを使います。
ls
一覧の中にtest.txtが表示されていれば、ファイルを作成できています。
touchコマンドを使う基本の流れ
Linux初心者は、touchコマンドを単体で覚えるよりも、pwd、ls、mkdir、cdとセットで覚えると理解しやすいです。
基本の流れは次の通りです。
pwd
ls
touch sample.txt
ls -l
まずpwdで現在いるディレクトリを確認します。
次にlsで、現在のディレクトリに何があるか確認します。
touchで新しいファイルを作成します。
最後にls -lで、作成したファイルの詳細情報を確認します。
この流れを覚えると、Linuxでファイルを作成して確認する基本操作が理解しやすくなります。
touchコマンドの実行例
実際にtouchコマンドを使う例を見てみましょう。
まず、現在地を確認します。
pwd
次のように表示されたとします。
/home/user
次に、現在のディレクトリの中身を確認します。
ls
ここで、sample.txtという空ファイルを作成します。
touch sample.txt
作成後、lsで確認します。
ls
次のようにsample.txtが表示されれば、ファイル作成は成功です。
sample.txt
詳細情報を確認したい場合は、ls -lを使います。
ls -l sample.txt
次のように表示されることがあります。
-rw-r--r-- 1 user user 0 Jul 6 10:00 sample.txt
この例では、ファイルサイズが0になっています。
つまり、中身のない空ファイルが作成されたことがわかります。
touchコマンドで作成される場所
touchコマンドでファイル名だけを指定した場合、新しいファイルは現在いるディレクトリに作成されます。
たとえば、現在「/home/user」にいる状態で次のコマンドを実行します。
touch sample.txt
この場合、作成されるファイルは次の場所です。
/home/user/sample.txt
つまり、touchでどこにファイルが作られるかは、現在いるディレクトリによって変わります。
作成場所を間違えないためには、touchを実行する前にpwdで現在地を確認しておくことが大切です。
pwd
絶対パスでファイルを作成する
touchコマンドでは、絶対パスを指定してファイルを作成できます。
絶対パスとは、ルートディレクトリ「/」から始まるパスのことです。
たとえば、/tmpの中にsample.txtを作成したい場合は、次のように実行します。
touch /tmp/sample.txt
この場合、現在どのディレクトリにいても、/tmpの中にsample.txtが作成されます。
絶対パスを使うと、作成場所を明確に指定できます。
相対パスでファイルを作成する
touchコマンドでは、相対パスを指定してファイルを作成することもできます。
相対パスとは、現在いるディレクトリを基準にしたパスです。
たとえば、現在「/home/user」にいて、その中にworkディレクトリがあるとします。
workディレクトリの中にmemo.txtを作成したい場合は、次のように実行できます。
touch work/memo.txt
この場合、作成されるファイルは次の場所です。
/home/user/work/memo.txt
相対パスは便利ですが、現在いる場所によって意味が変わります。
迷ったときは、pwdで現在地を確認しましょう。
touchコマンドで複数のファイルを作成する
touchコマンドでは、複数のファイルをまとめて作成できます。
たとえば、file1.txt、file2.txt、file3.txtを一度に作成したい場合は、次のように実行します。
touch file1.txt file2.txt file3.txt
実行後にlsで確認すると、3つのファイルが作成されていることがわかります。
ls
file1.txt
file2.txt
file3.txt
複数の空ファイルをまとめて用意したいときに便利です。
touchコマンドで既存ファイルを指定するとどうなる?
touchコマンドで、すでに存在するファイルを指定すると、新しいファイルは作成されません。
その代わり、ファイルのタイムスタンプが更新されます。
たとえば、すでにsample.txtが存在している状態で次のコマンドを実行します。
touch sample.txt
この場合、sample.txtの中身は消えません。
ファイルの更新日時などが、現在の日時に更新されます。
touchは既存ファイルの内容を変更するコマンドではありません。
ただし、ファイルの更新日時は変わるため、更新日時を管理している場面では注意が必要です。
touchコマンドでファイルの中身は消える?
touchコマンドを既存ファイルに対して実行しても、ファイルの中身は消えません。
たとえば、sample.txtに文章が入っている状態で次のコマンドを実行しても、中身はそのままです。
touch sample.txt
変更されるのは、主にファイルのタイムスタンプです。
ファイルの内容を書き換えたい場合は、vi、vim、nano、echo、catなど別のコマンドを使います。
touchは、あくまで空ファイルの作成やタイムスタンプ更新に使うコマンドです。
タイムスタンプとは?
タイムスタンプとは、ファイルの時刻情報のことです。
Linuxのファイルには、更新日時やアクセス日時などの情報があります。
ls -lを使うと、ファイルの更新日時を確認できます。
ls -l sample.txt
次のように表示されることがあります。
-rw-r--r-- 1 user user 0 Jul 6 10:00 sample.txt
この表示の中にある「Jul 6 10:00」が、ファイルの日時情報です。
touchコマンドを既存ファイルに対して実行すると、このような日時情報が更新されます。
touch -cで存在しないファイルを作成しない
touch -cを使うと、指定したファイルが存在しない場合に新規作成しないようにできます。
touch -c sample.txt
通常のtouchでは、sample.txtが存在しない場合、新しい空ファイルが作成されます。
一方で、touch -cを使うと、sample.txtが存在しない場合でも新規作成されません。
既存ファイルがある場合だけタイムスタンプを更新したいときに使えます。
touch -tで日時を指定して更新する
touch -tを使うと、日時を指定してファイルのタイムスタンプを変更できます。
基本的な形式は次の通りです。
touch -t 日時 ファイル名
たとえば、sample.txtの日時を2026年7月6日10時30分にしたい場合は、次のように実行します。
touch -t 202607061030 sample.txt
指定形式は、基本的に次のような並びです。
YYYYMMDDhhmm
| 部分 | 意味 |
|---|---|
| YYYY | 年 |
| MM | 月 |
| DD | 日 |
| hh | 時 |
| mm | 分 |
日時を指定してテスト用ファイルを用意したいときなどに使えます。
touch -dで日付文字列を指定して更新する
touch -dを使うと、日付文字列を指定してタイムスタンプを変更できます。
たとえば、次のように実行します。
touch -d "2026-07-06 10:30:00" sample.txt
touch -tよりも、人間が読みやすい形式で日時を指定できます。
ただし、環境によって使える日付形式が異なる場合があります。
初心者のうちは、まず通常のtouchで空ファイルを作成する使い方を覚え、必要になったらtouch -tやtouch -dを学ぶとよいです。
touch -aでアクセス日時を変更する
touch -aを使うと、アクセス日時を更新できます。
touch -a sample.txt
アクセス日時とは、ファイルにアクセスした時刻のことです。
通常の学習では頻繁に使う場面は多くありませんが、ファイルの日時情報を細かく扱う場合に使うことがあります。
touch -mで更新日時を変更する
touch -mを使うと、更新日時を変更できます。
touch -m sample.txt
更新日時とは、ファイルの内容が変更された時刻を表す情報です。
touchコマンドでは、アクセス日時や更新日時を指定して変更することもできます。
ただし、初心者が最初に覚える段階では、touchは空ファイル作成とタイムスタンプ更新に使う、と理解しておけば十分です。
touchコマンドでよく使うオプション一覧
touchコマンドで初心者が知っておきたい使い方をまとめると、次の通りです。
| コマンド | 意味 | 使う場面 |
|---|---|---|
| touch sample.txt | 空ファイルを作成する | 新しいファイルを用意したいとき |
| touch file1 file2 | 複数ファイルを作成する | 複数の空ファイルをまとめて作りたいとき |
| touch -c sample.txt | 存在しない場合は作成しない | 既存ファイルだけを対象にしたいとき |
| touch -t 202607061030 sample.txt | 指定日時に変更する | 日時を指定して更新したいとき |
| touch -d “2026-07-06 10:30:00” sample.txt | 日付文字列で日時を指定する | 読みやすい形式で日時指定したいとき |
最初は、touch ファイル名、touch 複数ファイル名、touch -cを覚えれば十分です。
touchコマンドでスペースを含むファイル名を作成する
ファイル名にスペースを含めたい場合、そのまま入力すると意図しない動きになることがあります。
たとえば、次のように実行したとします。
touch my file.txt
この場合、「my file.txt」という1つのファイルではなく、「my」と「file.txt」という2つのファイルが作成されることがあります。
スペースを含む名前で1つのファイルを作成したい場合は、引用符で囲みます。
touch "my file.txt"
または、スペースの前にバックスラッシュを付けます。
touch my\ file.txt
ただし、Linuxのコマンド操作では、スペースを含むファイル名は扱いにくいことがあります。
初心者のうちは、my-file.txtやmy_file.txtのように、ハイフンやアンダースコアを使うのがおすすめです。
touchコマンドで日本語名のファイルを作成する
Linuxでは、日本語名のファイルを作成できる環境もあります。
たとえば、メモ.txtというファイルを作成したい場合は、次のように実行します。
touch メモ.txt
ただし、サーバー環境や文字コードの設定によっては、日本語名が扱いにくいことがあります。
また、スクリプトや他のツールと組み合わせる場合、日本語名が原因でトラブルになることもあります。
Linuxサーバーで作業する場合は、ファイル名を英数字にしておくと管理しやすいです。
たとえば、memo.txt、sample.txt、log.txt、config.txtのような名前にすると扱いやすくなります。
touchコマンドで作るファイル名の付け方
ファイル名は、あとから見ても用途がわかる名前にすると管理しやすくなります。
たとえば、次のような名前は用途がわかりやすいです。
- memo.txt
- sample.txt
- test.txt
- log.txt
- config.txt
- backup.txt
- readme.txt
一時的な練習であれば、test.txtやsample.txtでも問題ありません。
ただし、実際の作業で使うファイルには、何のためのファイルなのかがわかる名前を付けると後から管理しやすくなります。
touchコマンドとmkdirコマンドの違い
touchコマンドとmkdirコマンドは、どちらも新しいものを作るときに使う基本コマンドです。
ただし、作成するものが違います。
| コマンド | 作成するもの | 例 |
|---|---|---|
| touch | 空ファイル | touch sample.txt |
| mkdir | ディレクトリ | mkdir work |
ファイルを作るのがtouchです。
ディレクトリを作るのがmkdirです。
Linux初心者は、この違いを最初に理解しておくと、ファイル操作で迷いにくくなります。
touchコマンドとechoコマンドの違い
touchコマンドは、空ファイルを作成するために使えます。
一方、echoコマンドは、文字列を表示したり、ファイルに文字を書き込んだりするときに使います。
たとえば、空ファイルを作成するだけならtouchを使います。
touch memo.txt
ファイルに文字を書き込みたい場合は、echoを使うことがあります。
echo "hello" > memo.txt
この例では、memo.txtにhelloという文字列を書き込みます。
空ファイルを作るのがtouch、文字を書き込むのがechoと考えるとわかりやすいです。
touchコマンドとcatコマンドの違い
touchコマンドは、空ファイルを作成したりタイムスタンプを更新したりするコマンドです。
catコマンドは、ファイルの中身を表示するコマンドです。
| コマンド | 役割 |
|---|---|
| touch | 空ファイル作成、タイムスタンプ更新 |
| cat | ファイルの中身を表示 |
touchで作成した直後の空ファイルをcatで表示しても、基本的には何も表示されません。
touch sample.txt
cat sample.txt
これは、sample.txtの中身が空だからです。
touchコマンドとvi・nanoの違い
touchコマンドは、空ファイルを作るために使えます。
vi、vim、nanoなどのエディタは、ファイルの中身を編集するために使います。
たとえば、まずtouchで空ファイルを作ります。
touch memo.txt
その後、nanoで編集する場合は次のように実行します。
nano memo.txt
viで編集する場合は次のように実行します。
vi memo.txt
touchはファイルを用意するコマンド、viやnanoはファイルの中身を編集するコマンドと覚えるとわかりやすいです。
touchコマンドでよくあるエラー
touchコマンドを使っていると、エラーが表示されることがあります。
初心者がよく見るエラーを確認しておきましょう。
No such file or directory
No such file or directoryは、「そのようなファイルやディレクトリはありません」という意味です。
たとえば、存在しないディレクトリの中にファイルを作成しようとすると、次のようなエラーが出ることがあります。
touch logs/sample.txt
touch: cannot touch 'logs/sample.txt': No such file or directory
この場合、logsディレクトリが存在しない可能性があります。
まずlsで確認しましょう。
ls
logsディレクトリもまとめて作成したい場合は、先にmkdir -pを使います。
mkdir -p logs
touch logs/sample.txt
Permission denied
Permission deniedは、「権限がありません」という意味です。
書き込み権限がない場所にファイルを作成しようとすると表示されることがあります。
たとえば、一般ユーザーで/rootの中にファイルを作成しようとした場合です。
touch /root/sample.txt
touch: cannot touch '/root/sample.txt': Permission denied
/rootは管理者ユーザーrootのホームディレクトリであり、一般ユーザーは通常書き込めません。
権限エラーが出た場合は、その場所に本当にファイルを作成する必要があるのかを確認しましょう。
練習用のファイルであれば、自分のホームディレクトリ配下に作成するのが安全です。
Read-only file system
Read-only file systemは、「読み取り専用のファイルシステムです」という意味です。
書き込みできない場所にファイルを作成しようとした場合に表示されることがあります。
通常の学習環境ではあまり多くありませんが、サーバーや特殊なマウント環境では発生することがあります。
このエラーが出た場合は、その場所が書き込み可能か確認する必要があります。
touchコマンドで作成できないときの確認ポイント
touchコマンドでファイルを作成できないときは、次のポイントを確認しましょう。
- 現在地をpwdで確認したか
- 作成先のディレクトリが存在しているか
- 作成先に書き込み権限があるか
- ファイル名にスペースが含まれていないか
- パスの指定を間違えていないか
- 読み取り専用の場所に作成しようとしていないか
エラーが出たら、まず次のコマンドで現在地と中身を確認すると原因を探しやすくなります。
pwd
ls -l
指定したパスの途中にあるディレクトリが存在しているかも確認しましょう。
touchコマンドを安全に使うコツ
touchコマンドは、基本的には安全に使いやすいコマンドです。
新しい空ファイルを作成したり、既存ファイルのタイムスタンプを更新したりするだけで、ファイルの中身を直接削除するコマンドではありません。
ただし、既存ファイルに対してtouchを実行すると更新日時が変わります。
更新日時をもとにファイルを管理している場合は注意が必要です。
安全に使うには、次の流れを習慣にしましょう。
pwd
ls -l
touch ファイル名
ls -l
作業前にpwdで現在地を確認します。
ls -lで既存ファイルを確認します。
touchでファイルを作成または更新します。
最後にls -lで結果を確認します。
touchコマンドを使った練習手順
Linux初心者は、実際に手を動かしてtouchコマンドを練習すると理解しやすくなります。
次の手順で練習してみましょう。
1. 現在地を確認する
pwd
2. ホームディレクトリへ移動する
cd
3. 練習用ディレクトリを作成する
mkdir touch-practice
4. 練習用ディレクトリへ移動する
cd touch-practice
5. 空ファイルを作成する
touch sample.txt
6. 作成できたか確認する
ls -l
7. 複数の空ファイルを作成する
touch file1.txt file2.txt file3.txt
8. もう一度確認する
ls -l
9. 既存ファイルのタイムスタンプを更新する
touch sample.txt
10. 更新日時を確認する
ls -l sample.txt
この練習を行うと、空ファイル作成とタイムスタンプ更新の両方を確認できます。
touchコマンドを覚えると何ができるようになる?
touchコマンドを覚えると、Linuxで空ファイルを素早く作成できるようになります。
具体的には、次のような作業に役立ちます。
- 練習用の空ファイルを作成する
- 設定ファイルのひな形を用意する
- ログファイル用の空ファイルを作成する
- スクリプト用のファイルを作成する
- 複数ファイルをまとめて用意する
- 既存ファイルのタイムスタンプを更新する
- テスト用ファイルを作成する
Linuxでは、ファイルを作成して編集する作業がよくあります。
touchコマンドを使えるようになると、ファイル操作の基本が理解しやすくなります。
touchコマンドのよくある質問
touchコマンドは何の略ですか?
touchは、特定の英単語の頭文字を取った略語ではなく、ファイルの時刻情報に「触れる」という意味合いで使われるコマンド名です。
Linuxでは、ファイルのタイムスタンプを更新したり、存在しないファイルを空ファイルとして作成したりするときに使います。
touchコマンドは何に使いますか?
touchコマンドは、空ファイルの作成や既存ファイルのタイムスタンプ更新に使います。
Linux初心者は、まず空ファイルを作成するコマンドとして覚えるとわかりやすいです。
touchで作成したファイルの中身は空ですか?
はい、存在しないファイルをtouchで作成した場合、中身は空です。
ls -lで確認すると、ファイルサイズが0と表示されることがあります。
touchで既存ファイルを指定すると中身は消えますか?
いいえ、touchで既存ファイルを指定しても中身は消えません。
主に更新日時などのタイムスタンプが変更されます。
touchとmkdirの違いは何ですか?
touchは空ファイルを作成するコマンドです。
mkdirはディレクトリを作成するコマンドです。
ファイルを作るのがtouch、ディレクトリを作るのがmkdirです。
touchとechoの違いは何ですか?
touchは空ファイルを作成するために使えます。
echoは文字列を表示したり、ファイルに文字を書き込んだりするときに使います。
空ファイルを作るならtouch、文字を書き込むならechoと覚えるとわかりやすいです。
touchで複数ファイルを作成できますか?
はい、できます。
複数のファイル名をスペースで区切って指定します。
touch file1.txt file2.txt file3.txt
touch -cとは何ですか?
touch -cは、指定したファイルが存在しない場合に新規作成しないためのオプションです。
既存ファイルがある場合だけタイムスタンプを更新したいときに使えます。
touch -tとは何ですか?
touch -tは、日時を指定してファイルのタイムスタンプを変更するためのオプションです。
touch -t 202607061030 sample.txt
touchでファイルを作成できない原因は何ですか?
作成先のディレクトリが存在しない、書き込み権限がない、パスを間違えている、読み取り専用の場所に作成しようとしている、などが考えられます。
まずはpwdとls -lで現在地と権限を確認しましょう。
まとめ
touchコマンドとは、Linuxで空ファイルを作成したり、ファイルのタイムスタンプを更新したりするための基本コマンドです。
存在しないファイルを指定すると、新しい空ファイルが作成されます。
touch sample.txt
複数の空ファイルをまとめて作成することもできます。
touch file1.txt file2.txt file3.txt
すでに存在するファイルを指定した場合、ファイルの中身は消えず、主にタイムスタンプが更新されます。
touch -cを使うと、存在しないファイルを新規作成しないようにできます。
touch -tやtouch -dを使うと、日時を指定してタイムスタンプを変更できます。
Linux初心者は、pwdで現在地を確認し、touchで空ファイルを作成し、ls -lで作成結果を確認する流れを覚えると理解しやすくなります。
まずはtouchコマンドを使って、Linuxのファイル作成に慣れていきましょう。





コメント