「Windowsならドラッグ&ドロップでできることが、コマンドだと全然わからない。」
こうした声は、Linux初心者からもっとも多く寄せられる悩みの一つです。
Windowsではマウスでファイルをコピーしたり、ゴミ箱に入れたりしていた操作を、Linuxではコマンドで行います。最初は戸惑うかもしれませんが、覚えるコマンドはたった5つです。
この記事では、Linuxでのファイル操作の基本コマンド(touch、mkdir、cp、mv、rm)を、
Windowsでの操作と対比しながら初心者向けに解説します。
さらに、ファイルの中身を確認する cat や文字を書き込む echo の使い方、入力ミスを減らすTab補完やコマンド履歴まで、ファイル操作に必要な知識をまとめて身につけられます。
すべてのコマンドは実際の実行例付きなので、手元のLinux環境で一緒に試しながら読み進められます。
実行環境: Ubuntu 24.04 LTS(WSL2)で動作確認済み
この記事のポイント
・touch、mkdir、cp、mv、rmの5コマンドでファイル操作の基本が身につく
・catとecho >でファイルの中身確認・書き込みもできる
・Tab補完とコマンド履歴で入力ミスを大幅に減らせる
・Permission deniedなどのエラーへの対処法もわかる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
なぜコマンドでファイルを操作するのか?
Windowsではファイルのコピーや移動をマウスで行いますが、Linuxではコマンド(キーボード入力)で操作するのが基本です。「マウスのほうが簡単じゃないの?」と感じるかもしれません。
確かに1つのファイルを操作するだけならマウスでも十分です。しかし、実際のサーバー運用では次のような場面に直面します。
・画面がない:サーバーには通常モニターが接続されておらず、コマンドだけで操作する
・大量のファイル:数百~数千のファイルをまとめて処理する必要がある
・自動化:同じ操作を毎日繰り返す場合、コマンドならスクリプトで自動実行できる
つまり、コマンド操作はLinuxの「正しい使い方」であり、サーバーを運用するうえで避けて通れないスキルです。
Windowsの操作とLinuxコマンドの対応表
まずは全体像をつかみましょう。普段Windowsで行っている操作が、Linuxではどのコマンドに対応するかを一覧にしました。
| Windowsの操作 | Linuxコマンド | 説明 |
|---|---|---|
| 新しいファイルを作る | touch ファイル名 |
空のファイルを作成する |
| 新しいフォルダを作る | mkdir ディレクトリ名 |
ディレクトリ(フォルダ)を作成する |
| ファイルをコピーする | cp コピー元 コピー先 |
ファイルを複製する |
| ファイルを移動する | mv 移動元 移動先 |
ファイルを移動する(名前変更にも使う) |
| ファイルをゴミ箱に入れる | rm ファイル名 |
ファイルを削除する(ゴミ箱はない) |
| ファイルの中身を見る | cat ファイル名 |
ファイルの内容を画面に表示する |
| ファイルに文字を書き込む | echo "文字列" > ファイル名 |
文字列をファイルに出力する |
ファイルとディレクトリを作成する
1. touch ~ 空のファイルを作成する
touch は空のファイルを新しく作るコマンドです。Windowsでいえば、「右クリック → 新規作成 → テキスト ドキュメント」と同じ操作です。
# 空のファイルを作成する touch memo.txt
# ファイルの存在を確認する ls -l memo.txt
-rw-r--r-- 1 tomohiro tomohiro 0 Apr 12 10:30 memo.txt
複数のファイルをまとめて作ることもできます。
# 3つのファイルを一度に作成する touch file1.txt file2.txt file3.txt
2. mkdir ~ ディレクトリ(フォルダ)を作成する
mkdir(Make Directory)は、新しいディレクトリ(フォルダ)を作成するコマンドです。# projectsディレクトリを作成する mkdir projects
# 作成されたか確認する ls -ld projects
drwxr-xr-x 2 tomohiro tomohiro 4096 Apr 12 10:32 projects
深い階層のディレクトリを一度に作りたい場合は、
-p オプションを使います。# 深い階層のディレクトリを一気に作成する mkdir -p projects/web/html
-p をつけないと、途中のディレクトリ(web)が存在しない場合にエラーになります。階層を一気に作りたいときは
-p をつける、と覚えておきましょう。ファイルをコピー・移動する
3. cp ~ ファイルをコピーする
cp(Copy)は、ファイルをコピー(複製)するコマンドです。Windowsでの「Ctrl+C → Ctrl+V」にあたる操作です。
# memo.txtをmemo_backup.txtとしてコピーする cp memo.txt memo_backup.txt
# コピーされたか確認する ls -l memo*.txt
-rw-r--r-- 1 tomohiro tomohiro 0 Apr 12 10:30 memo.txt -rw-r--r-- 1 tomohiro tomohiro 0 Apr 12 10:35 memo_backup.txt
ディレクトリごとコピーする場合は
-r(recursive: 再帰的)オプションが必要です。# projectsディレクトリをまるごとコピーする cp -r projects projects_backup
-r を忘れると「cp: -r not specified; omitting directory 'projects'」というエラーが出ます。ディレクトリのコピーには
-r が必須、と覚えてください。4. mv ~ ファイルを移動する・名前を変更する
mv(Move)は、ファイルの移動と名前変更の両方に使うコマンドです。Windowsでの「切り取り → 貼り付け」や「右クリック → 名前の変更」に相当します。
# memo.txtをprojectsディレクトリに移動する mv memo.txt projects/
# 移動されたか確認する ls projects/
memo.txt web
名前を変更する場合も mv を使います。
# file1.txtをreport.txtに名前変更する mv file1.txt report.txt
mv で「別の名前に移動する = 名前を変える」と覚えておいてください。
ファイルを削除する
5. rm ~ ファイルを削除する
rm(Remove)は、ファイルを削除するコマンドです。重要:Linuxにはゴミ箱がありません。
rm で削除したファイルは元に戻せません。Windowsのゴミ箱のように「間違えたから戻す」ということができないため、慎重に操作してください。
# file2.txtを削除する rm file2.txt
-i(interactive: 対話的)オプションを使います。# 確認付きで削除する rm -i file3.txt
rm: remove regular empty file 'file3.txt'? y
ディレクトリを削除する場合は
-r オプションが必要です。# projects_backupディレクトリを丸ごと削除する rm -r projects_backup
【重要】rm -rf の危険性
Linuxの解説記事やQ&Aサイトでrm -rf というコマンドを見かけることがあります。-r は再帰的(ディレクトリごと)、-f は強制(確認なし)という意味で、指定したディレクトリ以下をすべて問答無用で削除します。絶対にやってはいけない例:
# これは絶対に実行しないでください rm -rf /
現在のLinux(Ubuntu 24.04 LTS等)では安全装置が組み込まれているため実際には実行されませんが、
rm -rf は常に危険なコマンドです。初心者のうちは
rm -rf は使わず、rm -ri(確認付き再帰削除)を使うようにしてください。ファイルの中身を確認する・書き込む
ファイルを作成したりコピーしたりしたら、中身を確認したくなることがあります。ここでは、ファイルの内容を表示する cat と、ファイルに文字を書き込む echo を紹介します。
6. cat ~ ファイルの中身を表示する
cat(Concatenate)は、ファイルの内容を画面に表示するコマンドです。Windowsでメモ帳を使ってファイルを開くような感覚で、中身をすぐに確認できます。
# /etc/hostnameファイルの内容を表示する cat /etc/hostname
ubuntu-server
/etc/hostname はコンピュータの名前が書かれた設定ファイルです。このように、設定ファイルの内容を素早く確認したいときに
cat が重宝します。先ほど touch で作成した memo.txt は中身が空なので、
cat memo.txt を実行しても何も表示されません。次の echo コマンドを使えば、ファイルに文字を書き込めます。
7. echo > ~ ファイルに文字を書き込む
echo は、指定した文字列を画面に表示するコマンドです。>(リダイレクト)と組み合わせると、画面への出力をファイルに書き込めます。# memo.txtに文字を書き込む echo "サーバー設定の覚書き" > memo.txt # 書き込めたか確認する cat memo.txt
サーバー設定の覚書き
> は既存の内容を上書きします。既存の内容を残したまま追記したい場合は >>(二重リダイレクト)を使います。# 既存の内容に追記する echo "Apache: ポート80で稼働中" >> memo.txt # 内容を確認する cat memo.txt
サーバー設定の覚書き Apache: ポート80で稼働中
> と >> の違いは、サーバー運用でログを追記したり設定メモを残したりする場面で重要になります。応用:ワイルドカードで複数ファイルをまとめて操作する
ファイル操作に慣れてきたら、ワイルドカード(* )を使って複数のファイルをまとめて操作してみましょう。*(アスタリスク)は「任意の文字列」を意味する特殊文字です。# .txtファイルをすべてprojectsディレクトリにコピーする cp *.txt projects/
# reportで始まるファイルを一覧表示する ls report*
report.txt
ただし、
rm *.txt のように削除系コマンドでワイルドカードを使う場合は注意が必要です。意図しないファイルまで削除してしまう危険があるため、実行前に
ls *.txt で対象ファイルを確認する習慣をつけましょう。入力を楽にする2つの機能 ~ Tab補完とコマンド履歴
ファイル操作ではファイル名やディレクトリ名をたくさん入力します。ここで紹介する2つの機能を使うと、入力ミスを大幅に減らせます。
1. Tabキー補完 ~ ファイル名を自動で補完する
ファイル名やディレクトリ名を途中まで入力してTab キーを押すと、残りを自動で補完してくれます。# "pro"まで入力してTabキーを押す cd pro[Tab] # → cd projects/ と自動補完される
Tab を2回連続で押すと一覧が表示されます。# "m"まで入力してTabを2回押す cat m[Tab][Tab]
memo.txt memo_backup.txt
cp や mv でファイル名を指定するときに特に威力を発揮します。
2. コマンド履歴 ~ 過去のコマンドを再利用する
キーボードの↑(上矢印)キーを押すと、過去に実行したコマンドが順番に表示されます。同じ cp や rm を繰り返し実行したいときに、最初から入力し直す必要がありません。
過去のコマンドの一覧を確認したいときは
history コマンドを使います。# コマンド履歴を表示する history
1 touch memo.txt 2 ls -l memo.txt 3 mkdir projects 4 cp memo.txt memo_backup.txt 5 mv memo.txt projects/ 6 rm file2.txt 7 history
さらに
Ctrl + R を押すと、履歴の中から文字列で検索できます。「さっき打った cp のコマンド、何だっけ?」というときに非常に便利です。
エラーが出た時の対処法 ~ 初心者がよくある3つのミス
ファイル操作をしていると、エラーメッセージに遭遇することがあります。ここでは、初心者がぶつかりやすい3つのエラーと対処法を紹介します。
1. 「command not found」が出る
# コマンド名を大文字で打ってしまった例 CP memo.txt backup.txt
-bash: CP: command not found
CP ではなく cp(すべて小文字)と入力してください。Windowsでは大文字・小文字を区別しないため、ここで戸惑う人が多いです。
2. 「No such file or directory」が出る
# ファイル名のスペルを間違えた例 cp meno.txt backup.txt
cp: cannot stat 'meno.txt': No such file or directory
ls で実際に存在するファイル名を確認し、Tab補完を使って入力すればミスを防げます。3. 「Permission denied」が出る
cp: cannot create regular file '/etc/test.txt': Permission denied
Linuxでは、ファイルやディレクトリに対して「誰が読み書きできるか」という権限(パーミッション)が細かく設定されています。
自分のホームディレクトリ(
/home/ユーザー名)の中では自由に操作できますが、システムの設定ファイルが置かれた /etc や、すべてのユーザーに影響する領域では管理者権限が必要です。管理者権限でコマンドを実行するには、先頭に
sudo をつけます。# 管理者権限でファイルをコピーする sudo cp memo_backup.txt /etc/test.txt
ただし、sudo は「本当に必要な時だけ」使ってください。
管理者権限ですべてのファイルを操作できるということは、間違えた時の被害も大きいということです。
普段の練習では、自分のホームディレクトリの中で操作しましょう。
パーミッション(権限)の詳しい仕組みは「Linuxのパーミッション入門|ファイルの権限と読み書き実行の仕組み」で解説しています。
コマンドの使い方を自分で調べる方法
この記事で紹介したコマンドには、まだまだ便利なオプションがあります。Linuxには「コマンドの使い方をコマンドで調べる」仕組みが用意されています。
1. --help オプション
ほとんどのコマンドは、末尾に--help を付けると使い方の概要が表示されます。# cpコマンドの使い方を確認する cp --help
2. man コマンド
man(Manual)は、コマンドの詳しいマニュアルを表示します。# cpコマンドのマニュアルを表示する man cp
q キーで終了します。最初は英語の長文に圧倒されるかもしれませんが、「DESCRIPTION」と「OPTIONS」の2つのセクションだけ読めば十分です。
関連記事 ~ 次のステップへ進む
ファイル操作の基本が身についたら、次はより実践的なLinuxスキルに挑戦しましょう。Linux入門シリーズ
・Linuxとは何か?WindowsやMacとの違いを初心者向けに解説
・Linuxを学ぶメリットとは|初心者が今から始めるべき5つの理由
・WSL2でLinuxを始める手順|インストールから基本コマンドまで
・Linuxのコマンドライン入門|ターミナルの開き方から基本操作まで
・Linuxのディレクトリ構造を初心者向けに解説
・Linuxのパーミッション入門|ファイルの権限と読み書き実行の仕組み
・AIを活用してLinuxコマンドを効率的に学ぶ方法
実務で使うLinuxスキル 7テーマ
・watchコマンドで定期的にコマンドを繰り返し実行する方法(シェルスクリプト)
・chmodコマンドで権限を変更する方法(セキュリティ)
・Apacheのタイムアウト設定を変更・確認する方法(サーバー構築)
・lsofコマンドでプロセスが使用中のファイルを確認する方法(トラブルシューティング)
・ipコマンドでネットワーク設定を確認・変更する方法(ネットワーク)
・rsyncコマンドでファイルを同期・転送する方法(ファイルシステム・ストレージ)
・Linuxでポート番号の状態を確認するコマンド(現場コラム)
本記事のまとめ
この記事では、Linuxでのファイル操作の基本コマンドを解説しました。| やりたいこと | コマンド |
|---|---|
| 空のファイルを作成する | touch ファイル名 |
| ディレクトリを作成する | mkdir ディレクトリ名 |
| 深い階層を一気に作成する | mkdir -p 親/子/孫 |
| ファイルをコピーする | cp コピー元 コピー先 |
| ディレクトリごとコピーする | cp -r コピー元 コピー先 |
| ファイルを移動する | mv 移動元 移動先 |
| ファイル名を変更する | mv 旧名 新名 |
| ファイルを削除する | rm ファイル名 |
| 確認付きで削除する | rm -i ファイル名 |
| ディレクトリごと削除する | rm -r ディレクトリ名 |
| ファイルの中身を表示する | cat ファイル名 |
| ファイルに文字を書き込む | echo "文字列" > ファイル名 |
| ファイルに追記する | echo "文字列" >> ファイル名 |
| 入力を補完する | Tab キーを押す |
| 過去のコマンドを再利用する | ↑ キーまたは history |
| コマンドの使い方を調べる | コマンド名 --help または man コマンド名 |
まずはWSL2などの練習環境で、今日紹介したコマンドを実際に打ってみてください。
「作って、中身を書いて、コピーして、移動して、消す」。この一連の流れが手に馴染んだら、あなたはもうLinuxの基本操作ができるようになっています。
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
