ファイルとディレクトリ操作の基礎を解説!

Linuxを使いこなすには、ファイルとディレクトリの操作を理解することが最初の一歩です。
LinuC-101試験でも、この分野から多くの問題が出題されます。

本記事では、初心者でもわかるように基本的なコマンドとその使用例を紹介します。


目次

🔰 1. ファイルとディレクトリとは?

  • ファイル:テキスト、設定、画像などの「データの入れ物」
  • ディレクトリ:ファイルや他のディレクトリをまとめる「フォルダ」

Linuxの世界では、すべてがファイルとして扱われ、ディレクトリも特殊なファイルの一種です。


📁 2. ディレクトリの操作

pwd:現在の場所(パス)を確認する

ls:中身を表示する

主なオプション

オプション説明
-l詳細表示(パーミッション、所有者など)
-a隠しファイル(.から始まる)も表示
-hファイルサイズを人間に読みやすく表示

基本的な ls の使用例

現在のディレクトリにあるファイルとディレクトリの名前が一覧で表示されます。


🧰 よく使うオプション付きの例

1. -l(長い形式で表示)

  • 詳細な情報(パーミッション、リンク数、所有者、サイズ、日時)を表示します。

2. -a(すべてのファイルを表示、隠しファイルも)

  • ..bashrc などの隠しファイルも表示。

3. -lh(サイズを人間に読みやすく)

  • ファイルサイズが 4.0K のように分かりやすく表示されます。

🔁 よくある組み合わせ:ls -alh

  • 隠しファイルも含めて、詳細かつサイズを読みやすい形式で表示する便利な組み合わせです。

cd:ディレクトリを移動する

.:現在のディレクトリ
..:1つ上のディレクトリ
../..:2つ上のディレクトリ
../../..:3つ上のディレクトリ
~:ホームディレクトリ
(何もなし):ホームディレクトリ

mkdir:新しいディレクトリを作成

オプション説明
-p親ディレクトリも作成する
-m作成するディレクトリのアクセス権(パーミッション)を設定する

rmdir:空のディレクトリを削除

※空でないディレクトリを削除するには rm -r を使います(後述)


📄 3. ファイルの操作

touch:空のファイルを作成

※すでに存在する場合は、更新日時のみを変更します。


cp:ファイルをコピー

cp [オプション] コピー元 コピー先

📋 よく使うオプション一覧

スクロールできます
オプション説明実行例
-rディレクトリを再帰的にコピー
-i上書きする前に確認(interactively)
-pパーミッション・タイムスタンプ保持

⚠️ 注意点

  • cp は元のファイルを 削除しません(削除するのは mv
  • cp -r を忘れるとディレクトリはコピーできません。
  • 同名ファイルがあると上書きされるため、-i を使って確認するのが安心です。

mv:ファイルを移動 or 名前変更

書式:mv 移動元ファイル(ディレクトリ) 移動先ディレクトリ

書式:mv 変更前ファイル名(ディレクトリ) 変更後ファイル名(ディレクトリ)


rm:ファイルやディレクトリを削除

オプション意味
-rディレクトリごと削除
-f確認せずに強制削除
-f はforce(強制)の意味。誤って使うと重要なデータを消すこともあるので要注意!

-f はforce(強制)の意味。誤って使うと重要なデータを消すこともあるので要注意!


🔗 4. リンクファイルの作成

シンボリックリンク(ショートカットのようなもの)

シンボリックリンク(symbolic link)とは、ファイルやディレクトリへの「ショートカット」のようなものです。本体とは別に、新たな名前(リンク)を作り、そのリンクが元ファイルへのパスを保持します。

🔧 シンボリックリンクの基本コマンド例

$ echo “This is the target file.” > target.txt
$ ln -s target.txt symlink.txt
(ln -s オプションで シンボリックリンクを作成します。)

symlink.txt は target.txt を指すリンクです。

🔍 状態確認

$ ls -l
lrwxrwxrwx 1 user user 10 Apr 28 10:05 symlink.txt -> target.txt
-rw-r–r– 1 user user 24 Apr 28 10:05 target.txt

symlink.txt -> target.txt と表示され、リンク先が明示されます。
symlink.txt は中身を持たず、target.txt を参照しています。

✅ シンボリックリンクの特徴まとめ

・ファイルでもディレクトリでもリンク可能 柔軟性が高い
・別ファイルシステムでもOK ハードリンクと違って制限なし
・元が消えるとリンク切れになる symlink.txt だけでは中身にアクセスできない

ハードリンク(同じファイルに別名をつけるイメージ)

ハードリンクとは、同じファイルに複数の名前(エントリ)を持たせる仕組みです。実際にはファイルの「中身(データ)」は一つで、それを指す「名前(ディレクトリエントリ)」が複数存在するイメージです。

🔧 ハードリンクの基本コマンド例

$ echo “Hello, world!” > original.txt
$ ln original.txt hardlink.txt

このコマンドで original.txt に対して hardlink.txt というハードリンクを作成しています。

🔍 状態確認

$ ls -l
-rw-r–r– 2 user user 14 Apr 28 10:00 hardlink.txt
-rw-r–r– 2 user user 14 Apr 28 10:00 original.txt
左から2番目の「2」が リンク数を表してます(ハードリンクの数)。

中身は全く同じで、どちらを編集してももう一方に影響します。

✅ ハードリンクの特徴まとめ

・同一ファイルシステム内のみ 他のディスクやマウントポイントをまたげない
・ディレクトリには作れない(通常) 安全上の理由で制限されている
・元ファイルを削除しても残る データが消えるのは「全てのリンクが削除されたとき」


📌 5. パスの理解も大事(絶対パスと相対パス)

  • 絶対パス/から始まる完全なパス
    例:/home/user/file.txt
  • 相対パス:現在の場所からのパス
    例:../file.txt

パスについてよく分からない方はこちらで解説してます↓


🧪 6. 練習用コマンド一覧

コマンド概要
pwd現在のディレクトリを表示
ls -l詳細付きで一覧表示
cdディレクトリを移動
mkdir新しいディレクトリを作成
rmdir空のディレクトリを削除
touch空のファイルを作成
cpファイル/ディレクトリをコピー
mv移動または名前変更
rm削除
ln -sシンボリックリンク作成

📣 最後に

Linuxのファイルやディレクトリの操作は、最も重要な基礎スキルです。
LinuC-101の試験だけでなく、実際の運用でも毎日使うコマンドばかり。

まずは仮想環境やクラウドの無料サーバーを使って、どんどん手を動かしてみましょう!
操作に慣れることで理解がグッと深まります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次