Linuxを使い始めると、最初に戸惑うのがファイルの作成方法です。Windowsのように右クリックメニューからファイルを作ることはできず、コマンドを使う必要があります。しかしどのコマンドを使えばよいか、どう書けばよいか分からないという方も多いのではないでしょうか。
Linuxでファイルを作成する方法は主に2つあります。空のファイルを手早く作るtouchコマンドと、ファイルを作成しながらその場で内容を編集できるviコマンドです。この2つを使いこなすだけで、日常的なLinux作業のほとんどに対応できます。
本記事では、それぞれのコマンドの基本から具体的な使い方、ファイル作成後の確認方法、うまく作成できないときの対処法まで、初心者の方でもすぐに実践できるよう順序立てて解説します。
Linuxでファイル作成する基本

Linuxで新規ファイルを作成する主な方法
Linuxでファイルを作成する方法はいくつかあります。代表的なものは以下のとおりです。
| コマンド | 主な用途 |
|---|---|
touch |
空ファイルの作成、タイムスタンプの更新 |
vi / vim |
ファイルの作成と同時に内容を編集 |
echo |
文字列をファイルに書き込みながら作成 |
cat |
標準入力からファイルを作成 |
このうち最もよく使われるのがtouchとviです。用途に応じてどちらを使うかを選びます。
空ファイルを作成する場合と編集する場合の違い
ファイル作成の目的は大きく2つに分かれます。中身のない空のファイルを用意したい場合と、ファイルを作成してすぐに内容を書き込みたい場合です。
空ファイルだけ用意したい場合はtouchが最適です。一方、作成と同時に内容を入力したい場合はviを使います。この違いを理解しておくだけで、コマンド選択に迷うことがなくなります。
コマンドでファイルを作成するメリット
ターミナル上で素早く作成できる
GUIのファイルマネージャーを使わずに、コマンド一行でファイルを作成できます。ディレクトリの移動から作成までをコマンドで一連の流れとして処理できるため、作業効率が大幅に上がります。
スクリプトや開発作業で活用しやすい
シェルスクリプトの中にtouchコマンドを組み込むことで、ファイルの自動生成ができます。開発作業や自動化処理において、コマンドでのファイル作成は欠かせないスキルです。
touchコマンドで空ファイルを作成する方法

touchコマンドとは
touchはLinuxで空ファイルを作成したり、既存ファイルのタイムスタンプ(更新日時)を変更したりするコマンドです。本来はタイムスタンプ更新が主目的ですが、存在しないファイル名を指定すると新規ファイルを作成するという動作が、空ファイル作成の手段として広く活用されています。
touchで新規ファイルを作成する基本構文
touch ファイル名
最もシンプルな形です。この一行を実行するだけで、カレントディレクトリに空のファイルが作成されます。
存在しないファイル名を指定した場合の動作
空のファイルが作成される仕組み
指定したファイル名がまだ存在しない場合、touchはそのファイルを新規作成します。作成されるのは中身が0バイトの空ファイルです。ファイルの器だけを用意するイメージで、後からテキストエディタやリダイレクトで内容を追加します。
作成後にlsコマンドで確認する方法
ファイルが正しく作成されたかはlsコマンドで確認します。
ls -l
詳細表示で確認すると、ファイル名・サイズ・作成日時が一覧で表示されます。作成直後のファイルはサイズが0バイトになっています。
touchコマンドの基本的な使い方

単一ファイルを作成する
最も基本的な使い方です。
touch sample.txt
カレントディレクトリにsample.txtという空ファイルが作成されます。
複数ファイルをまとめて作成する
スペースで区切ることで、一度に複数のファイルを作成できます。
touch file1.txt file2.txt file3.txt
3つのファイルが同時に作成されます。同名ファイルが既に存在する場合はタイムスタンプが更新され、上書き作成はされません。
拡張子付きのファイルを作成する
用途に合わせた拡張子を付けてファイルを作成できます。
touch script.sh
touch config.conf
touch index.html
拡張子はLinuxのファイルシステム上では必須ではありませんが、ファイルの種類を明確にするために付けておくことを推奨します。
指定したディレクトリ内にファイルを作成する
相対パスで指定する方法
カレントディレクトリからの相対パスでファイルの作成場所を指定します。
touch logs/access.log
この場合、カレントディレクトリ内のlogsディレクトリにaccess.logが作成されます。指定したディレクトリが存在しない場合はエラーになります。事前にmkdirでディレクトリを作成しておく必要があります。
絶対パスで指定する方法
ルートディレクトリからの絶対パスで指定することもできます。
touch /home/user/documents/memo.txt
現在位置に関係なく、常に同じ場所にファイルを作成できます。パスの指定に迷う場合は絶対パスを使うとミスが減ります。
touchコマンドのオプション

touch -cの使い方
-cオプションを付けると、指定したファイルが存在しない場合に新規作成を行わないよう指定できます。
touch -c ファイル名
存在しないファイルを作成しない場合の指定
スクリプト内で「ファイルが既に存在する場合だけタイムスタンプを更新したい」という状況で-cオプションが役立ちます。誤って不要なファイルを生成してしまうリスクを防ぐための安全策として使われます。
既存ファイルのタイムスタンプを変更する
既に存在するファイルに対してtouchを実行すると、そのファイルのアクセス日時と更新日時が現在時刻に更新されます。ファイルの内容は変更されません。
touch 既存のファイル名
新規作成ではなく更新日時を変更したい場合
ファイルの内容を変えずに更新日時だけを現在時刻に変更したい場合、touchはシンプルな解決策になります。ビルドシステムやバックアップスクリプトでよく利用されます。
ファイルの存在確認を兼ねて使う場合
touchを実行してエラーが出なければファイルが存在する(またはその場所にファイルを作成できる)ことを確認できます。シェルスクリプト内での簡易的な存在確認に応用できます。
touchコマンドの詳しい使い方については、エンジニアになりたい「Linuxのtouchコマンド完全解説」も参考になります。
viコマンドでファイルを作成して編集する方法
viコマンドとは
viはLinuxに標準搭載されているテキストエディタです。ターミナル上で動作し、ファイルの作成・編集・保存をすべてコマンドラインから行えます。多くのLinuxディストリビューションではvim(vi improved)として拡張版が使われていますが、基本的な操作は共通です。
GUIのテキストエディタと異なり、マウスを使わずキーボードだけで操作するため、最初は独特の操作感があります。しかし基本コマンドを覚えれば、サーバー環境や開発作業で非常に強力なツールになります。
viで新規ファイルを開く基本構文
vi ファイル名
指定したファイルが存在しない場合は新規ファイルとして開かれます。存在する場合はそのファイルが編集モードで開かれます。
ファイルを作成してそのまま編集する流れ
vi ファイル名で編集画面を開く
コマンドを実行するとviの編集画面が開きます。画面の左下に新規ファイルの場合は「New File」と表示されます。この時点ではまだファイルはディスクに保存されていません。
内容を入力して保存する
編集画面が開いただけでは文字を入力できません。インサートモードに切り替えてから入力し、保存コマンドで書き込みを行います。この流れがvi操作の基本です。
viの基本操作
インサートモードに切り替える
viには複数の動作モードがあります。起動直後はノーマルモードの状態で、文字入力はできません。文字を入力するにはインサートモードに切り替える必要があります。
i
iキーを押すと画面左下に「– INSERT –」と表示され、インサートモードに切り替わります。この状態で文字の入力が可能になります。
ファイル内容を入力する
インサートモードになったら、通常のテキストエディタと同様に文字を入力できます。改行はEnterキーで行います。日本語入力も環境が対応していれば使用できます。
編集モードを終了する
入力が完了したらノーマルモードに戻ります。
ESC
ESCキーを押すとインサートモードが終了し、ノーマルモードに戻ります。画面下部の「– INSERT –」表示が消えます。
保存して終了する
iで入力モードに入る
前述のとおり、iキーでインサートモードに入ります。入力前に必ずインサートモードになっているか確認してください。
ESCキーで入力モードを抜ける
入力完了後はESCキーでノーマルモードに戻ります。保存コマンドはノーマルモードでのみ有効です。
:wqで保存して終了する
ノーマルモードで以下を入力してEnterを押します。
:wq
wは「write(書き込み)」、qは「quit(終了)」を意味します。保存して終了する最も基本的なコマンドです。
| コマンド | 動作 |
|---|---|
:w |
保存のみ(終了しない) |
:q |
終了(変更がない場合のみ) |
:wq |
保存して終了 |
:q! |
保存せずに強制終了 |
注意:変更を保存したくない場合は:q!で強制終了します。:qだけでは変更がある場合に終了できません。
touchとviの違い
空ファイル作成に向いているtouch
touchはファイルの器だけを即座に作成したい場合に最適です。コマンド一行で完結し、複数ファイルの一括作成もできます。内容の入力は後から別のコマンドやエディタで行います。
作成後すぐ編集したい場合に向いているvi
viはファイル作成と内容入力を一連の操作で行えます。設定ファイルやスクリプトファイルなど、作成直後に内容を書き込む必要がある場合に向いています。
用途に応じた使い分け方
ファイルだけ用意したい場合
後から内容を追加する予定で、とりあえずファイルの存在だけ確保したい場合はtouchを使います。スクリプトで複数ファイルを一括生成するような場面でも活躍します。
内容を書き込みたい場合
ファイルを作成してすぐにテキストを書き込みたい場合はviが効率的です。エディタを別途起動する手間なく、作成から入力まで一気に完了できます。
設定ファイルを作成・編集したい場合
Linuxの設定ファイル(.conf、.cfgなど)を新規作成して編集する場面では、viが最も使われます。サーバー管理や開発環境の構築では欠かせない操作です。
Linuxでファイル作成後に確認する方法
lsコマンドでファイルの存在を確認する
ファイルが正しく作成されたかを確認するにはlsコマンドを使います。
ls -la
-lで詳細表示、-aで隠しファイルも含めて表示します。作成直後のファイルはタイムスタンプが現在時刻になっているため、一覧の中で見つけやすくなります。
catコマンドで内容を確認する
ファイルの内容を確認するにはcatコマンドを使います。
cat ファイル名
touchで作成した直後は中身が空のため、何も表示されません。viで内容を書き込んだ場合は、その内容が出力されます。
pwdコマンドで現在の場所を確認する
ファイルを作成した後、保存場所が意図した場所かを確認するにはpwdコマンドを使います。
pwd
現在のカレントディレクトリが絶対パスで表示されます。
作成したファイルの保存場所を確認する
カレントディレクトリを把握する
ファイル作成前にpwdでカレントディレクトリを確認する習慣をつけると、「どこに作ったか分からなくなった」というトラブルを防げます。
ディレクトリを間違えた場合の対処
意図しない場所にファイルを作成してしまった場合は、mvコマンドで正しい場所に移動します。
mv ファイル名 移動先のパス
Linuxでファイル作成できないときの原因
権限が不足している
「Permission denied」と表示される場合、現在のユーザーにそのディレクトリへの書き込み権限がありません。
指定したディレクトリが存在しない
パスの途中のディレクトリが存在しない場合、「No such file or directory」エラーが表示されます。touchはディレクトリの自動作成を行わないため、事前にmkdirでディレクトリを作成する必要があります。
mkdir -p 作成したいディレクトリのパス
-pオプションで途中のディレクトリも含めて一括作成できます。
ファイル名に使えない文字を含んでいる
Linuxのファイル名では一部の特殊文字(/など)は使用できません。スペースも使えないわけではありませんが、コマンド上で問題を起こすことがあるため、スペースの代わりにアンダースコア(_)やハイフン(-)を使うことを推奨します。
同名ファイルがすでに存在している
touchでは同名ファイルが存在してもエラーにはなりません。ただしタイムスタンプが更新されます。viでは同名ファイルが開かれ、既存の内容が表示されます。
権限を確認する方法
ls -la
表示される権限フィールド(例:-rw-r--r--)で、現在のユーザーが書き込み権限を持っているか確認します。
パス指定を見直す方法
エラーが出た場合はpwdで現在位置を確認し、指定したパスが正しいかを再確認します。絶対パスで指定し直すと問題の切り分けがしやすくなります。
Linuxでファイル作成するときの注意点
既存ファイルを誤って編集しない
viで新規ファイルのつもりで既存ファイルと同じ名前を指定すると、既存ファイルが開かれて上書きのリスクがあります。作成前にlsで同名ファイルが存在しないか確認する習慣をつけましょう。
保存場所を確認してから作成する
ファイルを作成する前にpwdでカレントディレクトリを確認します。意図した場所にいることを確かめてから作成することで、後から「どこに作ったか分からない」という状況を防げます。
ファイル名をわかりやすく付ける
後から見て内容が分かるファイル名を付けましょう。file1.txtのような名前よりも、server_config.confやbackup_2025.logのように内容や日付を含めた名前の方が管理しやすくなります。
必要に応じて拡張子を付ける
設定ファイルやスクリプトファイルの命名例
- シェルスクリプト:
deploy.sh - 設定ファイル:
nginx.conf - ログファイル:
error.log - テキストファイル:
readme.txt - Pythonスクリプト:
main.py
管理しやすいファイル名にするコツ
スペースを使わない、英数字とアンダースコア・ハイフンのみ使う、小文字で統一する——この3点を守るだけで、コマンドラインでの操作ミスが大幅に減ります。
Linuxファイル作成の実践例
テキストファイルを作成する
メモや覚書き用のテキストファイルを作成する場合:
touch memo.txt
または内容をすぐ書きたい場合:
vi memo.txt
ログファイルを作成する
アプリケーションのログ出力先として空のログファイルを事前に用意する場合:
touch /var/log/myapp.log
注意:/var/logなどのシステムディレクトリへの書き込みには管理者権限が必要な場合があります。権限エラーが出る場合はsudoを付けて実行してください。
シェルスクリプト用ファイルを作成する
シェルスクリプトを新規作成して編集する場合:
vi backup.sh
viが開いたらiでインサートモードに入り、スクリプトの内容を入力します。入力後はESCキーで抜けて:wqで保存します。
設定ファイルを作成して編集する
touchで作成してからviで編集する流れ
touch config.conf
vi config.conf
まずtouchでファイルを用意してからviで開く方法です。ファイルの存在を確認してから編集作業に入れます。
viで直接作成して保存する流れ
vi config.conf
viだけで一気に作成から編集・保存まで完了する方法です。手順が少なく、実務ではこちらが使われることが多いです。
Linuxのファイル作成に関するさらに詳しい情報は、UX MILK「Linuxでファイルを作成する方法まとめ」とラクス Tech Blog「Linuxコマンドでファイル・ディレクトリを操作する」も参考にしてください。
touchコマンドのより詳しい解説は、kakiro-web.com「Linuxのtouchコマンドの使い方」でも紹介しています。
Linuxコマンドをはじめとするデジタルスキルの解説は、kakiro-web.comでも幅広く公開しています。
まとめ
Linuxでファイル作成するならtouchとviを使う
Linuxでファイルを作成する方法は複数ありますが、日常的な作業で最もよく使われるのがtouchとviです。この2つを使いこなすだけで、ほとんどのファイル作成作業に対応できます。
空ファイルを作るならtouchが便利
touch ファイル名の一行で空ファイルを即座に作成できます。複数ファイルの一括作成やタイムスタンプの更新にも使えるため、スクリプトや開発作業での活用場面も豊富です。
作成と編集を同時に行うならviが便利
vi ファイル名でファイルを開き、インサートモードで内容を入力、:wqで保存して終了——この一連の流れで、ファイル作成から内容の書き込みまでを一気に完了できます。
保存場所や権限を確認して正しくファイルを作成する
ファイル作成前にpwdで現在位置を、lsで同名ファイルの有無を確認する習慣が、ミスのない安全なファイル操作につながります。
- 空ファイルの作成は
touch ファイル名 - 作成と編集を同時に行うなら
vi ファイル名 viでの保存はESC→:wqが基本- 作成前に
pwdとlsで場所と既存ファイルを確認する - 権限エラーが出たらファイルの権限と所有者を確認する
- ファイル名はスペースなし・英数字・アンダースコアで統一するのが無難

