【LPIC/LinuC レベル1 -101対策-】LPIC-1試験に出るLinuxのファイル管理をわかりやすく解説!

LPIC-1の試験では「ファイル管理」に関するコマンドや概念が頻出です。
ファイルの作成、コピー、削除、パーミッション変更など、Linuxの基本がこのカテゴリに詰まっています。
この記事では、初心者の方でも理解しやすいように、ファイル管理の基礎をわかりやすく解説し、具体的なコマンド例も紹介します。


目次

LPIC-1で問われるファイル管理とは?

ファイル管理とは、Linuxシステム上でファイルやディレクトリを操作・管理する作業全般を指します。
代表的な内容には以下があります:

  • ファイルの作成・削除・コピー・移動
  • ディレクトリの操作
  • ファイルのパーミッション(権限)管理
  • シンボリックリンク・ハードリンクの理解
  • アーカイブ・圧縮の操作

よく使うファイル管理コマンド一覧

1. ファイルやディレクトリの作成

コマンド説明
touch空のファイルを作成
既存ファイルのタイムスタンプを更新する
touch file.txt
mkdir新しいディレクトリを作成mkdir myfolder
1. touch コマンド

📚 用途:空のファイルを作成する/既存ファイルのタイムスタンプを更新する

【基本】ファイルを作成

user@linux:~$ touch sample.txt
user@linux:~$ ls
sample.txt

【応用①】複数ファイルを一度に作成

user@linux:~$ touch file1.txt file2.txt file3.txt
user@linux:~$ ls
file1.txt file2.txt file3.txt

【応用②】既存ファイルの「更新日時」を今の時間に変更

user@linux:~$ ls -l file1.txt
-rw-rw-r-- 1 user user 0 4月 26 14:30 file1.txt

user@linux:~$ touch file1.txt

user@linux:~$ ls -l file1.txt
-rw-rw-r-- 1 user user 0 4月 27 10:00 file1.txt

👉 更新日時だけが変わる

2. mkdir コマンド

📚 用途:ディレクトリ(フォルダ)を作成する

【基本】ディレクトリを1つ作成

user@linux:~$ mkdir mydir
user@linux:~$ ls
mydir/

【応用①】複数のディレクトリを一度に作成

user@linux:~$ mkdir dirA dirB dirC
user@linux:~$ ls
dirA/ dirB/ dirC/

【応用②】親ディレクトリごと作成(-p オプション)

親ディレクトリがまだない場合に便利!

user@linux:~$ mkdir -p parent/child/grandchild
user@linux:~$ tree parent
parent
└── child
└── grandchild

👉 途中の階層も一気に作成できた!

2. ファイルやディレクトリのコピー・移動・削除

コマンド説明
cpファイルをコピーcp a.txt b.txt
mvファイルを移動(または名前変更)mv old.txt new.txt
rmファイルを削除rm file.txt
rmdirディレクトリを削除rmdir dir1
1. cp コマンド

📚 用途:ファイルやディレクトリをコピーする


【基本】ファイルをコピーする

user@linux:~$ cp file1.txt file2.txt
user@linux:~$ ls
file1.txt file2.txt

👉 file1.txtfile2.txt という名前でコピー!


【応用①】ディレクトリごとコピー(-r オプション)

user@linux:~$ cp -r dir1/ dir2/
user@linux:~$ ls
dir1/ dir2/

👉 ディレクトリも-r (recursive) をつけないとエラーになる!


【応用②】コピー時に上書き確認(-i オプション)

user@linux:~$ cp -i file1.txt file2.txt
cp: overwrite 'file2.txt'? y

👉 上書き時に「y」を入力しないと進まない!

2. mv コマンド

📚 用途:ファイルやディレクトリを移動、または名前変更する


【基本】ファイルを移動する

user@linux:~$ mv file1.txt mydir/
user@linux:~$ ls mydir/
file1.txt

👉 mydir/ に移動!


【応用①】ファイルの名前を変更

user@linux:~$ mv oldname.txt newname.txt
user@linux:~$ ls
newname.txt

👉 移動先を指定しないと名前変更になる!


【応用②】上書き確認しながら移動(-i オプション)

user@linux:~$ mv -i file2.txt mydir/
mv: overwrite 'mydir/file2.txt'? y

👉 ここでも上書き防止ができる!

3. rm コマンド

📚 用途:ファイルやディレクトリを削除する

【基本】ファイルを削除する

user@linux:~$ rm file1.txt
user@linux:~$ ls
(file1.txtが消えている)
👉 消したら元に戻せないので注意!

【応用①】ディレクトリを中身ごと削除(-r オプション)

user@linux:~$ rm -r mydir/
user@linux:~$ ls
(mydir/が消えている)
👉 ディレクトリを消すときは必ず -r!

【応用②】削除時に確認しながら(-i オプション)

user@linux:~$ rm -i file2.txt
rm: remove regular empty file ‘file2.txt’? y
👉 確認してから消すので安心!

4. rmdir コマンド

📚 用途:空のディレクトリを削除する

【基本】空のディレクトリを削除する

user@linux:~$ mkdir emptydir
user@linux:~$ ls
emptydir/

user@linux:~$ rmdir emptydir
user@linux:~$ ls
(emptydirが消えている)

👉 空のディレクトリしか削除できないので注意!


【エラー例】中身があると削除できない

user@linux:~$ mkdir mydir
user@linux:~$ touch mydir/file.txt
user@linux:~$ rmdir mydir
rmdir: failed to remove 'mydir': Directory not empty

👉 中身(file.txt)があるのでエラーになる!


【応用】親ディレクトリごと一気に削除(--parents オプション)

user@linux:~$ mkdir -p parent/child/grandchild
user@linux:~$ rmdir --parents parent/child/grandchild
user@linux:~$ ls parent/
(parentディレクトリも消えている)

👉 子 → 親 と順番に空ならまとめて削除できる!

⚡ちなみに、中身が入っているディレクトリを無理やり削除したいときは
rm -r ディレクトリ名 を使うのが正しいです!(rmdirじゃないよ)

3. パーミッションの確認と変更

コマンド説明
ls -lファイルの権限を表示ls -l
chmodアクセス権限を変更chmod 755 script.sh
chown所有者を変更chown user:group file.txt
ls -l コマンド

📚 用途:ファイルやディレクトリの詳細(パーミッション、所有者、サイズなど)をリスト形式で表示する


【基本】ファイル情報を詳細表示

user@linux:~$ ls -l
total 8
drwxr-xr-x 2 user user 4096 Apr 27 10:00 myfolder
-rw-r--r-- 1 user user 0 Apr 27 10:01 file.txt

👉 これで、パーミッション(drwxr-xr-x)や、所有者(user)、ファイルサイズ(4096バイト)が見れる!

chmod コマンド

📚 用途:ファイルやディレクトリのアクセス権(パーミッション)を変更する


【例】ファイルに実行権限を追加する(+x)

user@linux:~$ touch script.sh
user@linux:~$ ls -l script.sh
-rw-r--r-- 1 user user 0 Apr 27 10:05 script.sh

user@linux:~$ chmod +x script.sh
user@linux:~$ ls -l script.sh
-rwxr-xr-x 1 user user 0 Apr 27 10:05 script.sh

👉 +xで実行権限がついた!(xがついたのがわかる)


【例】数値指定でパーミッション変更(744)

user@linux:~$ chmod 744 script.sh
user@linux:~$ ls -l script.sh
-rwxr--r-- 1 user user 0 Apr 27 10:06 script.sh

👉 数値(744)は「オーナー:rwx、グループ:r–、その他:r–」という意味!

chown コマンド

📚 用途:ファイルやディレクトリの所有者グループを変更する


【例】所有者を「admin」に変更する

bashコピーする編集するuser@linux:~$ sudo chown admin file.txt
user@linux:~$ ls -l file.txt
-rw-r--r-- 1 admin user 0 Apr 27 10:10 file.txt

👉 所有者(最初のuser)が「admin」に変わった!


【例】所有者とグループを同時に変更する

user@linux:~$ sudo chown admin:admins file.txt
user@linux:~$ ls -l file.txt
-rw-r--r-- 1 admin admins 0 Apr 27 10:11 file.txt

👉 オーナー:admin / グループ:admins になった!

4. シンボリックリンクとハードリンク

リンクタイプコマンド
シンボリックリンクln -sln -s /var/log/syslog loglink
ハードリンクlnln file.txt hardlink.txt

※シンボリックリンクは「ショートカット」、ハードリンクは「実体を共有」とイメージすると理解しやすいです。

ln -s コマンド(シンボリックリンク)

📚 用途:元ファイルへのショートカット的なリンクを作成する(ファイルの場所だけ指し示す)


【例】ファイルのシンボリックリンクを作成

user@linux:~$ touch original.txt
user@linux:~$ ln -s original.txt shortcut.txt
user@linux:~$ ls -l
total 0
-rw-r--r-- 1 user user 0 Apr 27 10:30 original.txt
lrwxrwxrwx 1 user user 13 Apr 27 10:31 shortcut.txt -> original.txt

👉 shortcut.txtは、original.txtを指すリンクになっている!(→マークが見える)


【ポイント】

  • シンボリックリンクは元ファイルが消えるとリンク切れになる
  • ディレクトリに対してもリンクを作成できる
ln コマンド(ハードリンク)

📚 用途:元ファイルとまったく同じ実体を持つファイルを作成する(データを共有)


【例】ファイルのハードリンクを作成

user@linux:~$ touch data.txt
user@linux:~$ ln data.txt data_link.txt
user@linux:~$ ls -l
total 0
-rw-r--r-- 2 user user 0 Apr 27 10:35 data.txt
-rw-r--r-- 2 user user 0 Apr 27 10:35 data_link.txt

👉 リンク数(2)が増えているのに注目!
👉 data.txtとdata_link.txtはどちらを消しても、もう一方は残る!


【ポイント】

  • ハードリンクはデータそのものを共有している
  • 異なるファイルシステム間では作れない(例:別のディスクには無理)
  • ディレクトリには普通、ハードリンクを作成できない(※特別な場合を除く)

5. アーカイブと圧縮

コマンド説明
tar -czvfファイルをアーカイブ+gzip圧縮tar -czvf backup.tar.gz folder/
tar -xzvfアーカイブを展開tar -xzvf backup.tar.gz

tar -czvf コマンド(圧縮)

📚 用途:複数のファイルやディレクトリを「.tar.gz」形式でまとめて圧縮する


【例】ディレクトリを圧縮する

user@linux:~$ mkdir mydir
user@linux:~$ touch mydir/file1.txt mydir/file2.txt
user@linux:~$ tar -czvf archive.tar.gz mydir/
mydir/
mydir/file1.txt
mydir/file2.txt

【ポイント】

  • c(create)… 新しいアーカイブを作成
  • z(gzip圧縮)… .gz形式で圧縮
  • v(verbose)… 作業中にファイル名を表示
  • f(file)… ファイル名を指定

👉 上記コマンドで、mydir/フォルダがarchive.tar.gzにまとめられた!

tar -xzvf コマンド(解凍)

📚 用途:「.tar.gz」ファイルを**展開(解凍)**する


【例】圧縮ファイルを解凍する

user@linux:~$ ls
archive.tar.gz
user@linux:~$ tar -xzvf archive.tar.gz
mydir/
mydir/file1.txt
mydir/file2.txt
user@linux:~$ ls
archive.tar.gz mydir

【ポイント】

  • x(extract)… 展開(解凍)する
  • z(gzip圧縮ファイルを扱う)
  • v(verbose)… 作業中にファイル名を表示
  • f(file)… ファイル名を指定

👉 archive.tar.gzの中身が元通りmydir/フォルダに展開された!

初心者がつまずきやすいポイントと対策

  • rmコマンドは取り消しできない:誤って重要なファイルを消さないように注意。
  • パーミッション変更は慎重に:chmodで全権限(777)を設定するのは避ける。
  • リンクの動作を理解する:特に試験では「シンボリックリンクとハードリンクの違い」が頻出。

まとめ|LPIC-1のファイル管理は実践で覚えるのが近道!

LPIC-1試験に出るファイル管理は、Linux操作の基本中の基本です。
日々の操作の中で使うことで、自然と身につく内容ばかりなので、仮想環境やターミナルを使ってたくさん練習してみましょう。

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

コメント

コメントする

目次