Linuxのファイル操作入門|コピー・移動・削除の基本コマンドを初心者向けに解説


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)【Linux入門】初心者のための基礎知識・講座 > Linuxのファイル操作入門|コピー・移動・削除の基本コマンドを初心者向けに解説
「Linuxをインストールしたけど、ファイルのコピーや移動はどうやるの?」
「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などのエラーへの対処法もわかる


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

なぜコマンドでファイルを操作するのか?

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

ファイルサイズが「0」になっていることがわかります。touch で作られるのは中身が空のファイルです。

複数のファイルをまとめて作ることもできます。

# 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

先頭の「d」はディレクトリ(フォルダ)であることを示しています。

深い階層のディレクトリを一度に作りたい場合は、-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

元の場所からファイルがなくなり、projects の中に移動しました。コピーと違い、元のファイルは残りません。

名前を変更する場合も mv を使います。

# file1.txtをreport.txtに名前変更する mv file1.txt report.txt

Linuxには「名前変更専用のコマンド」はありません。
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

「y」(yes)を入力してEnterを押すと削除されます。「n」(no)を入力すると削除をキャンセルできます。

ディレクトリを削除する場合は -r オプションが必要です。

# projects_backupディレクトリを丸ごと削除する rm -r projects_backup

【重要】rm -rf の危険性

Linuxの解説記事やQ&Aサイトで rm -rf というコマンドを見かけることがあります。
-r は再帰的(ディレクトリごと)、-f は強制(確認なし)という意味で、指定したディレクトリ以下をすべて問答無用で削除します。

絶対にやってはいけない例:

# これは絶対に実行しないでください rm -rf /

このコマンドは、Linuxシステム全体を削除しようとします。
現在の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

ワイルドカードは cp、mv、rm、ls など、ほぼすべてのコマンドで使えます。

ただし、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

Tab補完を使うと、長いファイル名を全部手入力する必要がなくなり、スペルミスも防げます。
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

Linuxのコマンドは大文字と小文字を区別します。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

英語で表示されますが、「OPTIONS(オプション一覧)」の部分を確認すると、どんな機能があるかがわかります。

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 コマンド名
Linuxのファイル操作は、どんな作業をするにしても土台になるスキルです。
まずはWSL2などの練習環境で、今日紹介したコマンドを実際に打ってみてください。
「作って、中身を書いて、コピーして、移動して、消す」。この一連の流れが手に馴染んだら、あなたはもうLinuxの基本操作ができるようになっています。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、
無料の「Linuxサーバー構築入門マニュアル(図解60ページ)」をプレゼントしています。
コマンドを「なんとなく打つ」段階から卒業したい方は、ぜひ受け取ってみてください。
無料マニュアルを受け取る >>

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。