はじめに
Linuxの基本的なファイル操作の実験へようこそ!Linuxでは、ほぼすべてのものが「ファイル」として扱われるため、ファイル操作はシステムを利用する上で最も重要な基礎となります。この実験では、ファイルやディレクトリを管理するための最も一般的なコマンドを学び、Linuxシステム内を効率的に移動・整理できるようになることを目指します。
作業環境の理解
Linuxでは、各ユーザーに通常「ホームディレクトリ」が割り当てられており、~ で表されます。ただし、この実験環境では、デフォルトの作業ディレクトリである /home/labex/project から開始します。
まず、デスクトップ上のターミナルを開くか、実験環境内のターミナルタブに切り替えてください。

まずは、現在の場所を確認することから始めましょう。
pwd
pwd は "print working directory" の略です。ファイルシステム内での現在の場所を表示します。このコマンドは、Linuxのファイル構造の中で自分がどこにいるかを把握するために非常に重要です。出力として /home/labex/project が表示されるはずです。
次に、カレントディレクトリとホームディレクトリの関係を確認してみましょう。
echo ~
注意: キーボードレイアウトの違いにより、デスクトップターミナルで
~記号が入力できない場合は、VMインターフェース左上の独立したターミナルタブに切り替えてみてください。
このコマンドは、ホームディレクトリへのパス(通常は /home/labex)を表示します。
現在のディレクトリの内容を確認するには、以下のコマンドを使用します。
ls
これにより、現在の作業ディレクトリ(/home/labex/project)内のファイルとディレクトリが一覧表示されます。
ホームディレクトリの内容も確認してみましょう。
ls ~
このコマンドは、現在の作業ディレクトリとは異なる可能性がある、ホームディレクトリの内容を一覧表示します。
現在の作業ディレクトリとホームディレクトリの違いを理解することは、Linuxファイルシステムを効果的に操作するために重要です。
ファイルシステムのナビゲーション
Linuxは「階層型ファイルシステム」を採用しています。大きな木と枝のような構造をイメージしてください。幹にあたる部分は「ルートディレクトリ」と呼ばれ、単一のスラッシュ / で表されます。他のすべてのディレクトリやファイルは、このルートから枝分かれしています。
この木構造の中を移動する方法を見ていきましょう。
- 現在の場所を確認します。
pwd
/home/labex/project と表示されるはずです。もし異なる場合は、cd /home/labex/project を実行して開始地点に戻ってください。
- 現在のディレクトリの内容を表示します。
ls
現在の場所にあるすべてのファイルとフォルダを一覧表示します。/home/labex/project は空なので、何も表示されません。
- 親ディレクトリへ1つ上の階層に移動します。
cd ..
.. は「1つ上のディレクトリ」を意味します。このコマンドを実行した後、再度 pwd を実行してください。現在は /home/labex にいるはずです。
- プロジェクトディレクトリに戻ります。
cd project
これで /home/labex/project に戻ります。
- ホームディレクトリに移動します。
cd ~
~ はホームディレクトリへのショートカットです。pwd を実行して /home/labex にいることを確認してください。
- 絶対パスを使用してプロジェクトディレクトリに戻ります。
cd /home/labex/project
これは「絶対パス」と呼ばれます。ルート (/) から始まり、完全な場所を指定しているためです。
ファイルの作成とディレクトリ内容の表示
ナビゲーションの方法がわかったところで、次はファイルを作成し、ディレクトリの内容を表示する方法を学びましょう。
まず、/home/labex/project ディレクトリにいることを確認してください。
cd /home/labex/project
- いくつかのファイルを作成します。
touch file1.txt
touch コマンドは空のファイルを作成するために使用されます。ファイルが既に存在する場合は、内容を変更せずにタイムスタンプを更新します。新しい空のファイルを作成する簡単な方法です。
echo "Hello, Linux" > file2.txt
このコマンドは2つのことを行います。
echoはテキストを出力するコマンドです。>記号はechoの出力をfile2.txtという名前のファイルにリダイレクト(書き込み)します。ファイルが存在しない場合は作成され、存在する場合は内容が上書きされます。
echo "Hidden file" > .hiddenfile
これは隠しファイルを作成します。Linuxでは、ドット (.) で始まるファイルやディレクトリ名は隠しファイルとみなされます。
- ディレクトリを作成します。
mkdir testdir
mkdir コマンド("make directory" の略)は、testdir という名前の新しいディレクトリを作成します。
- 基本的なリスト表示:
ls

現在のディレクトリの内容が表示されます。file1.txt、file2.txt、testdir が確認できるはずです。
- 詳細なリスト表示:
ls -l
-l オプション(数字の1ではなく、小文字のL)は「ロング」形式のリストを提供します。ファイルの権限、所有者、サイズ、更新日時などの詳細情報が表示されます。
- 隠しファイルを表示:
ls -a
作成した .hiddenfile を含むすべてのファイルが表示されます。
- オプションの組み合わせ:
ls -la
ロング形式 (-l) とすべてのファイル表示 (-a) を組み合わせたものです。
- 特定のディレクトリの内容をリスト表示:
ls -l testdir
testdir ディレクトリの内容をリスト表示します(現時点では空のはずです)。
このステップのリスト表示コマンドは、実践練習と視覚的な確認のためのものです。必要なファイルとディレクトリが正しく作成されているかどうかが評価されます。
ファイルとディレクトリのコピー
操作対象のファイルができたので、次はコピーする方法を学びましょう。
- ファイルをコピーする:
cp file1.txt file1_copy.txt
これにより、現在のディレクトリに file1.txt のコピーである file1_copy.txt が作成されます。
コピーを確認します。
ls
- ファイルを別のディレクトリにコピーする:
cp file2.txt testdir/
これにより、file2.txt が testdir ディレクトリ内にコピーされます。
- ディレクトリをコピーする:
cp -r testdir testdir_copy
-r オプションは「再帰的 (recursive)」を意味します。ディレクトリをコピーする際は、その中のすべての内容を確実にコピーするために必要です。
- コピーを確認する:
ls
ls testdir
ls testdir_copy

ファイルとディレクトリの移動・名前変更
Linuxでは mv コマンドを使用して、移動と名前変更の両方を行います。
- ファイルの名前を変更する:
mv file1.txt newname.txt
file1.txt を newname.txt に名前変更します。
- ファイルをディレクトリに移動する:
mv newname.txt testdir/
newname.txt を testdir ディレクトリ内に移動します。
- ディレクトリの名前を変更する:
mv testdir_copy new_testdir
testdir_copy を new_testdir に名前変更します。
- 移動と名前変更を一度に行う:
mv testdir/newname.txt ./original_file1.txt
testdir 内の newname.txt を取り出し、現在のディレクトリに original_file1.txt という名前で移動・変更します。
- 変更を確認する:
ls
ls testdir

ファイルとディレクトリの削除
ファイルやディレクトリの削除は強力な操作です。グラフィカルインターフェースとは異なり、コマンドラインには「ゴミ箱」がないことが多く、rm で削除したものは通常、元に戻せません。実行前に必ずコマンドを再確認してください!
作成したファイルとディレクトリを整理しましょう。/home/labex/project ディレクトリにいることを確認してください。
pwd
ls -a
original_file1.txt、.hiddenfile、file2.txt などのファイルや、testdir、new_testdir などのディレクトリが見えるはずです。
-rw-rw-r-- 1 labex labex 12 May 3 08:44 .hiddenfile
-rw-rw-r-- 1 labex labex 0 May 3 08:45 file1_copy.txt
-rw-rw-r-- 1 labex labex 13 May 3 08:44 file2.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 new_testdir
-rw-rw-r-- 1 labex labex 0 May 3 08:44 original_file1.txt
drwxrwxr-x 2 labex labex 23 May 3 08:45 testdir
単一のファイルを削除する:
rm original_file1.txtrmコマンド("remove" の略)はファイルを削除します。確認してみましょう。lsoriginal_file1.txtが消えているはずです。対話的に削除する(より安全):
file2.txtを削除してみましょう。今回は対話フラグ-iを使用します。rm -i file2.txt-iオプションは、各ファイルを削除する前に確認を求めます。y(yes)を入力してEnterキーを押すと削除されます。nや他のキーを入力すると削除されません。ls確認すれば
file2.txtは削除されています。空のディレクトリを削除する:
testdir_copyを名前変更して作成したnew_testdirを覚えていますか?空かどうか確認してみましょう。ls new_testdir空であれば(何も表示されなければ)、
rmdirを使用して削除できます。rmdir new_testdirrmdir(remove directory) は 空の ディレクトリに対してのみ機能します。lsnew_testdirは削除されているはずです。空ではないディレクトリを削除しようとする:
次に、まだ
file2.txtが入っている(ステップ4でコピーした)testdirに対してrmdirを試してみましょう。ls testdir rmdir testdirrmdir: failed to remove 'testdir': Directory not emptyのようなエラーメッセージが表示されるはずです。これは、rmdirはファイルや他のディレクトリを含むディレクトリを削除できないため、想定通りの動作です。ディレクトリとその中身を削除する(再帰的):
空ではないディレクトリを削除するには、
rmに-r(recursive) オプションを付けて使用する必要があります。rm -r testdirこのコマンドは
testdirディレクトリとその中身すべてを削除します。このコマンドは慎重に使用してください。lstestdirは削除されているはずです。強制削除(細心の注意を払って使用):
書き込み保護されているファイルであっても、確認なしで削除したい場合があります。その場合は
-f(force) オプションを使用します。隠しファイルを削除してみましょう。
rm .hiddenfile ls -a次に、
-rと-fを組み合わせます。rm -rfコマンドは非常に強力で危険です。ディレクトリを再帰的に (-r) 削除し、確認なしで強制的に (-f) 削除します。!!! 危険領域 !!!
rm -rfを実行する前に、何を削除しようとしているのかを 完全に理解していることを確認してください。わずかなタイプミスで重要なシステムファイルや個人データが削除される可能性があります。元に戻すことはできません。例えば、rm -rf /はシステム全体を削除しようとします(権限がある場合)。パスは常に再確認してください。デモンストレーション用に一時的なディレクトリとファイルを作成します(安全に行います)。
mkdir temp_dir touch temp_dir/temp_file.txt ls -R temp_dir注意:
lsで-R(大文字) を使用したことに注目してください。cpやrmで使用した-r(小文字) とは異なります。これは単なる大文字小文字の違いではなく、全く別のオプションです。lsの場合、-Rは「再帰的なリスト表示」を意味し、-rは「逆順ソート」を意味します。cpやrmの場合、再帰オプションは-r(小文字) です。各コマンドの特定のオプションを理解するために、常にマニュアル (man コマンド名) を確認してください。では、強制的に削除します。
rm -rf temp_dir削除を確認します。
lstemp_dirは削除されているはずです。
覚えておいてください:Linuxのコマンドラインでは、削除されたファイルは基本的に永久に失われます。rm は慎重に使用してください!
まとめ
おめでとうございます!Linuxにおける基本的なファイル操作を習得しました。
cdとpwdを使用したファイルシステムのナビゲーションtouchとmkdirを使用したファイルとディレクトリの作成lsとそのオプションを使用した内容のリスト表示cpを使用したファイルとディレクトリのコピーmvを使用した移動と名前変更rmとrmdirを使用したファイルとディレクトリの削除
これらのコマンドは、Linuxにおけるファイル管理の基礎となります。練習を重ねることで、コマンドラインからファイルやディレクトリを効率的に管理できるようになるでしょう。
特に rm は、ファイルを永久に削除し、復元が不可能であるため、これらのコマンドは慎重に使用してください。
Linuxの学習を続ける中で、各コマンドやそのオプションについて詳しく知るために、マニュアルページ(例: man ls)を活用してください。探索を楽しんでください!



