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.txt を file2.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 -s | ln -s /var/log/syslog loglink |
| ハードリンク | ln | ln 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操作の基本中の基本です。
日々の操作の中で使うことで、自然と身につく内容ばかりなので、仮想環境やターミナルを使ってたくさん練習してみましょう。

コメント