ファイルとディレクトリの基本操作
cp・mv・rm・touch・mkdir・cat・less の 7 コマンドで「作る・読む・動かす・消す」── 現場の「変更前バックアップ」が体で身につきます。
| 所要時間 | 約 25 分 |
|---|---|
| 章タイプ | standard |
| 前提知識 | Chapter 1(SSH ログイン)・Chapter 2(cd / ls / pwd / パスの概念) |
| 使用機材 | 踏み台 workstation01 + 演習用サーバ learner01 |
| 関連章 | 前: Chapter 2「ファイルシステム階層と移動の基本」/ 後: Chapter 4「テキストの検索と絞り込み」 |
「地図を読める」次のステップ
前の章で、Linux のファイルシステムという「地図」を覚えました。/etc には設定が、/var/log にはログが、~ には自分の作業スペースが ── 初めて触るサーバでも当たりをつけられる感覚を身につけました。
ただ、地図を読めるようになっただけでは、仕事は始まりません。
現場のサーバで実際にやること ── 設定ファイルを変更する前にバックアップを取る、作業メモを残す、不要なファイルを片付ける ── これらは全部、ファイルを「作る・コピーする・移動する・消す・読む」という操作に帰着します。
touch mkdir cp mv rm cat lessこれだけ知っていれば、初めて乗り込んだサーバで「まず何もこわさずに作業環境を整える」 ことができます。
この章を終えるとできること
7 つのコマンドを覚えるだけで、Linux 操作の 基本動作 4 つ がぜんぶ手に入ります。
自分で用意できる
覗いて確認できる
使い分けられる
安全に片付けられる
そして実務の鉄則 「設定を変える前にバックアップを取る」 ── この章で体で覚えます。
概念説明
1. ファイル操作の「4 動作」
Linux のファイル操作は、考え方のうえでは 4 つしかありません。
| 動作 | コマンド | 一言 |
|---|---|---|
| 作る | touch(ファイル)/ mkdir(ディレクトリ) | 空の器を用意する |
| コピーする | cp | 元を残して複製する |
| 移動 / 改名する | mv | 元の場所からなくなる |
| 消す | rm | 元に戻せない(Linux にゴミ箱はない) |
「読む」操作(cat / less)は破壊的でないので、別枠です。
2. ファイルを「作る」── touch と mkdir
touch は空のファイルを作ります。本来は「タイムスタンプを更新する」コマンドですが、存在しないファイルを指定すると新規作成してくれます。mkdir はディレクトリを作ります。-p オプションを付けると親ディレクトリも含めて一気に作れます。
touch memo.txt # 空のファイルを作る mkdir backup # ディレクトリを作る mkdir -p a/b/c # a/ b/ c/ を一気に作る(-p = parents)
3. コピー・移動・リネーム── cp と mv
cp はコピーです。コピー元は残ります。mv は移動です。移動元はなくなります。ファイル名の変更も mv 一本でやります。
cp /etc/hosts ~/backup/hosts.bak # コピー(元の /etc/hosts は残る) mv old_name.txt new_name.txt # リネーム(同じディレクトリ内) mv memo.txt ~/backup/ # 移動(元の memo.txt はなくなる)
AWS 的に言えば:cp ≒ S3 のオブジェクトを別のキーにコピー(元も残る) / mv ≒ コピーしてから元を削除(元は消える)。
4. 消す── rm と「戻せない」という覚悟
rm したファイルはすぐには取り出せなくなります。「消す前に ls で確認」「絶対パスを使う」は現場の鉄則です。rm ファイル名 # ファイルを削除 rm -r ディレクトリ名 # ディレクトリごと削除(-r = recursive)
rm -rf は「確認なしに全部消す」という意味で特に強力です。まず「怖い」と思っておくのが正しい最初の印象です。この章の演習では自分が今作ったファイルだけを削除するので安心して試せます。
5. 中を読む── cat と less
cat はファイルの内容を一気に表示します。短いファイル向き。less はページ単位でスクロールして読むコマンドです。長いファイル(ログファイルなど)に向いています。
| キー | less の中での動作 |
|---|---|
j / 下矢印 | 1 行下へ |
k / 上矢印 | 1 行上へ |
Space | 1 ページ下へ |
G | 末尾へ移動(最新ログへ飛ぶのに便利) |
g | 先頭へ戻る |
q | 終了(less から抜ける) |
試してみよう:作業ディレクトリを整えてログを読む
この演習のシナリオ: 「新しいサーバ learner01 を初めて触る日」 ── まず自分の作業ディレクトリを作り、設定ファイルのバックアップを取り、サーバのログを覗いてみます。実際の現場でも最初の数分でやることと同じです。
触るのは ~/work/ 以下(student のホームの中)だけです。/etc/hosts はコピーするだけで元は変えません。rm で消すのも自分で作ったファイルだけ。何度でもやり直せます。
まず learner01 に入る
ssh student@learner01
作業ディレクトリを作る
まず自分の作業スペースを用意します。
mkdir ~/work mkdir ~/work/backup ls ~/ # work/ が見えれば OK
メモファイルを作る
作業内容を残すメモを touch で作ります。中身はまだ空です。
touch ~/work/memo.txt ls ~/work/ # backup/ memo.txt
設定ファイルをバックアップする
変更を加える前にバックアップを取る ── これは現場のルールその 1 です。/etc/hosts を確認してから cp でバックアップを取ります。
cat /etc/hosts # 中身を確認 cp /etc/hosts ~/work/backup/hosts.bak # バックアップを取る ls ~/work/backup/ # hosts.bak が見えれば OK
ファイルを移動・リネームする
mv で移動してから、もう一度 mv でリネームします。同じコマンドで両方できる感覚を体で覚えます。
mv ~/work/memo.txt ~/work/backup/ # backup/ に移動 mv ~/work/backup/memo.txt ~/work/backup/memo-20260514.txt # リネーム ls ~/work/backup/ # hosts.bak memo-20260514.txt
サーバの記録に「自分の足跡」を見つける
少し前、あなたは ssh student@learner01 を打って、このサーバに入りました。その瞬間、learner01 はそのログイン出来事を /var/log/auth.log に書き残しています。
自分自身の足跡を、実際のサーバの公式ログに見に行きましょう。
less /var/log/auth.log
G を押して末尾(最新ログ)に飛んでください。たった今あなたが SSH でログインした行が見えるはずです:
... learner01 sshd[xxxx]: Accepted password for student from 192.0.2.202 port xxxxx ssh2 ... learner01 sshd[xxxx]: pam_unix(sshd:session): session opened for user student(uid=1001) by (uid=0)
192.0.2.202 は踏み台 workstation01 の IP です。「workstation01 から learner01 へ、student として SSH ログインしました」── あなたが数分前に手で起こしたイベントが、サーバ自身の手で記録されています。Part 7(監視と障害対応)では、この auth.log を使って「いつ・誰が・どこから入ったか」を追跡します。
q で less を終了します。
不要なファイルを削除する
演習で作ったメモファイルを削除します。rm した後に ls で「本当に消えたか」確認するのも現場の習慣です。
rm ~/work/backup/memo-20260514.txt ls ~/work/backup/ # hosts.bak だけが残っていれば OK
詰まったら
- 段階ヒント: 定番の詰まりポイントへの段階開示。1 段 → 2 段 → 答え、と少しずつ開けます
- AI に相談: Cloudflare Workers AI に自由質問できる相談窓口(v2 公開予定)
💡 軽く方向だけ
cp と mv はどちらも「元のファイル」と「行き先」の 2 つを引数にとります。行き先がディレクトリなら、その中にファイルが入ります。行き先がファイル名なら、その名前でコピー / 移動されます。
💡 具体的なコマンドの形
cp 元ファイル 行き先ディレクトリ/ # ディレクトリに入れる cp 元ファイル 行き先ファイル名 # 指定した名前でコピー mv 元ファイル 行き先ディレクトリ/ # 移動 mv 元ファイル 新しいファイル名 # リネーム
less を終了するには q。どこで詰まっているか分からなくなったら ls ~/work/ と ls ~/work/backup/ でファイルの所在を確認。
✅ 答えを見る
mkdir ~/work && mkdir ~/work/backup touch ~/work/memo.txt cp /etc/hosts ~/work/backup/hosts.bak cat ~/work/backup/hosts.bak mv ~/work/memo.txt ~/work/backup/ mv ~/work/backup/memo.txt ~/work/backup/memo-20260514.txt less /var/log/auth.log # G で末尾、q で終了 rm ~/work/backup/memo-20260514.txt
cp と mv の最大の違いは「元が残るか・消えるか」。rm は「元に戻せない」。この 3 つの特性の違いを体で覚えると、操作ミスが格段に減ります。
AI に相談
修了確認
学んだことが身についたか、2 問だけ確認してみましょう。
~/work/test.txt というファイルがあるとします。次の 2 つのコマンドをそれぞれ実行したとき、元の ~/work/test.txt はどうなるかを答えてください。cp ~/work/test.txt ~/work/backup/test.bakmv ~/work/test.txt ~/work/backup/test.bak/etc/ssh/sshd_config というファイルの内容を確認するコマンドを 2 通り答えてください(一度に全部表示する方法と、ページ単位でスクロールできる方法)。次の章へ
次は Chapter 4「テキストの検索と絞り込み」 です。
ファイルを作って読めるようになった次の壁は、「ログが長すぎて目で探せない」 です。数千行ある /var/log/syslog から、特定のキーワード(エラーメッセージ・ユーザー名・日時)だけ抜き出せたら、調査が一気に速くなります。
grep と |(パイプ)── これを覚えた瞬間、「Linux で文字を探す」感覚が変わります。