はじめに
この実験では、コマンドラインを使用して Linux ファイルシステムを操作するために必要な基本スキルを習得します。現在の作業ディレクトリを表示する pwd、ディレクトリを変更する cd、ディレクトリの内容を一覧表示する ls といった、必須のシェルコマンドについて学習します。これらのコマンドは、あらゆる Linux ベースのシステムを操作する上での基礎となります。
一連の演習を通じて、絶対パスと相対パスの両方を使用してディレクトリ間を移動する練習を行います。また、ホームディレクトリに素早くアクセスするためのチルダ展開(~)などの便利なショートカットや、ファイルの詳細な属性や隠しファイルを表示するための ls -l や ls -a といったコマンドオプションについても探求します。終了する頃には、Linux シェル環境で効率的に作業するための強固な基礎が身についているはずです。
pwd と cd を使用したホームディレクトリの特定
このステップでは、Linux ファイルシステムをナビゲートするための 2 つの基本コマンド pwd と cd について学びます。まず現在の作業ディレクトリを特定し、次にホームディレクトリへの移動方法を学習しましょう。
pwd(print working directory)コマンドは、ファイルシステムの階層構造における現在の場所を教えてくれます。この実験で新しいターミナルセッションを開始すると、project という特定のディレクトリに配置されます。これを確認してみましょう。
ターミナルで pwd コマンドを実行します。
pwd
次のような出力が表示されるはずです。これは現在のディレクトリへの絶対パスです。
/home/labex/project
次に、cd(change directory)コマンドについて見ていきましょう。このコマンドを使用すると、ディレクトリ間を移動できます。Linux システムのすべてのユーザーには、個人ファイルを保存するためのデフォルトの場所である特別な「ホーム」ディレクトリがあります。あなたのユーザー labex の場合、ホームディレクトリは /home/labex にあります。
ファイルシステムのどこからでも直接ホームディレクトリに移動できる便利なショートカットは、引数なしで cd と入力することです。今すぐ試してみましょう。
cd
このコマンドは通常、何も出力しませんが、バックグラウンドで静かに場所を変更します。移動したことを確認するために、もう一度 pwd コマンドを使用します。
pwd
出力には、ホームディレクトリへのパスが表示されます。
/home/labex
この実験の残りの作業は、~/project ディレクトリ内で行います。そこに戻りましょう。チルダ記号(~)は、ホームディレクトリを表す特別なショートカットです。したがって、~/project はホームディレクトリから始まり、その中にある project ディレクトリを指すパスになります。
次のコマンドを実行して、実験の作業ディレクトリに戻ります。
cd ~/project
最後に、次のステップに向けて正しい開始ディレクトリに戻っていることを確認するために、もう一度 pwd を実行します。
pwd
開始した場所に戻ったことを確認する、以下の出力が表示されるはずです。
/home/labex/project
これで、pwd を使って自分の居場所を確認し、cd を使ってホームディレクトリへの移動と復帰を行うことができました。これらは Linux システムで作業する上で不可欠なスキルです。
絶対パスとチルダ展開を使用したディレクトリの変更
このステップでは、絶対パスとチルダ展開を使用してナビゲーションスキルを拡張します。これらは、ファイルシステムのどこからでも 1 つのコマンドで任意のディレクトリに移動できる強力なショートカットです。
絶対パス(absolute path)とは、単一のスラッシュ(/)で表されるルートディレクトリから始まるパスのことです。これはディレクトリの完全な場所を示します。絶対パスを使用して、システム設定ファイルが含まれている /etc ディレクトリに移動してみましょう。
現在のディレクトリ(~/project)から、次のコマンドを実行します。
cd /etc
ディレクトリが正常に変更されたことを確認するために、pwd コマンドを使用します。
pwd
出力には新しい場所が表示されるはずです。
/etc
次に、チルダ展開(tilde expansion)について学びましょう。チルダ記号(~)は、ホームディレクトリを表す特別なショートカットです。前のステップで見たように、cd ~ は cd /home/labex と同等です。また、チルダを使用して他のユーザーのホームディレクトリに移動することもできますが、それには適切な権限が必要です。
ホームディレクトリ内のディレクトリに移動して、チルダ展開を実演してみましょう。まず、ホームディレクトリに移動します。
cd ~
pwd で場所を確認します。
pwd
出力は以下のようになります。
/home/labex
最後に、自身のホームディレクトリを表すチルダショートカットを使用して、作業ディレクトリである ~/project に戻りましょう。これは、プロジェクトファイルに戻るための非常に一般的で効率的な方法です。
cd ~/project
次のステップのために正しいディレクトリにいることを確認するため、最後にもう一度 pwd を実行します。
pwd
見慣れた出力が表示されるはずです。
/home/labex/project
これで、絶対パスと汎用性の高いチルダ展開の両方を使用してディレクトリを変更する方法をマスターし、コマンドラインでのナビゲーション効率が大幅に向上しました。
ls と ls -a によるディレクトリ内容の一覧表示
このステップでは、ls コマンドを使用してディレクトリの内容を表示する方法を学びます。また、Linux ファイルシステムの重要な一部である隠しファイルを表示する方法についても説明します。
まず、~/project ディレクトリにいることを確認してください。一覧表示の対象となるように、いくつかのファイルを作成してみましょう。ファイルが存在しない場合に空のファイルを作成する touch コマンドを使用します。
ターミナルで次のコマンドを実行して、通常のファイルを 1 つと隠しファイルを 1 つ作成します。
touch sample.txt
touch .hidden_file
ここで、基本的な ls コマンドを使用して現在のディレクトリの内容を一覧表示します。
ls
通常のファイルのみが表示されることがわかります。
sample.txt
.hidden_file が表示されていないことに注目してください。これは、デフォルトでは ls がドット(.)で始まる名前のファイルやディレクトリを表示しないためです。これらは「隠しファイル」または「ドットファイル」と呼ばれ、多くの場合、ユーザー固有の設定に使用されます。
隠しファイルを含むすべてのファイルを表示するには、ls で -a(または --all)オプションを使用する必要があります。今すぐ試してみましょう。
ls -a
今回は、ディレクトリ内のすべてが出力に表示されます。
. .. .hidden_file sample.txt
出力が変わりました。作成した .hidden_file が確認できます。また、2 つの特別なエントリも表示されています。. は現在のディレクトリ自体への参照であり、.. は親ディレクトリ(1 つ上のレベルのディレクトリ)への参照です。.. を使用した移動については、後のステップで詳しく学びます。
2 つの出力を比較すると、ls -a がディレクトリの内容を完全に一覧表示していることが明確にわかります。これは、設定ファイルやその他の隠しアイテムを見つける必要がある場合に非常に重要です。
ls -l コマンドによる詳細なファイル属性の表示
このステップでは、ファイル名だけでなく、ファイルに関するより詳細な情報を取得する方法を学びます。ls コマンドには、権限、所有権、サイズ、修正日などの詳細なファイル属性を表示する「ロングリスティング(長形式)」形式を提供する強力なオプション -l があります。
前のステップでファイルを作成した ~/project ディレクトリにいることを確認してください。ここで、-l オプションを付けて ls コマンドを実行し、隠しファイル以外の詳細を表示します。
ls -l
出力は以前よりもはるかに詳細になります。sample.txt について、次のような行が表示されます。
total 0
-rw-r--r-- 1 labex labex 0 Oct 26 10:30 sample.txt
この行の各部分の意味を分解してみましょう。
-rw-r--r--: ファイルの権限を表します。最初の文字(-)は、それが通常のファイルであることを示します。続く文字は、誰がファイルを読み取り、書き込み、または実行できるかを定義します。1: ファイルへのハードリンクの数。labex: ファイルを所有するユーザー。labex: ファイルを所有するグループ。0: バイト単位のファイルサイズ。touchで作成したため、空です。Oct 26 10:30: ファイルが最後に修正された日付と時刻。sample.txt: ファイルの名前。
-a オプションと同様に、-l と組み合わせて、隠しファイルを含む すべて のファイルの詳細情報を表示できます。オプションは ls -l -a、ls -la、または ls -al と記述できます。これらはすべて同じ動作をします。
試してみましょう。すべてのファイルのロングリスティングを表示するコマンドを実行します。
ls -la
出力には、隠しファイルと特別なディレクトリ . および .. が含まれるようになります。
total 8
drwxr-xr-x 2 labex labex 4096 Oct 26 10:35 .
drwxr-xr-x 3 labex labex 4096 Oct 26 10:20 ..
-rw-r--r-- 1 labex labex 0 Oct 26 10:30 .hidden_file
-rw-r--r-- 1 labex labex 0 Oct 26 10:30 sample.txt
. と .. については、権限文字列が d で始まっていることに注目してください。これは、それらが通常のファイルではなくディレクトリであることを示しています。ls -la を使用することは、ディレクトリの内容とその属性を包括的に把握するために最もよく使われるコマンドの 1 つです。
相対パス (..) を使用した移動とホームへの帰還
この最後のステップでは、相対パス(relative path)を使用した移動について学びます。ルート(/)から始まる絶対パスとは異なり、相対パスは現在の作業ディレクトリから始まります。これは、近くのディレクトリに移動するためのより迅速な方法であることが多いです。相対ナビゲーションで最も重要なツールは、常に親ディレクトリ(現在のディレクトリの 1 つ上のレベルのディレクトリ)を表す特別なディレクトリ .. です。
まず、~/project ディレクトリにいることを確認してください。pwd で確認できます。
pwd
出力は /home/labex/project になるはずです。
では、親ディレクトリである /home/labex に移動してみましょう。これを行うには、引数として .. を指定して cd コマンドを使用します。
cd ..
このコマンドは、現在のディレクトリの親に移動するようにシェルに指示します。pwd で新しい場所を確認します。
pwd
ホームディレクトリに移動したことがわかります。
/home/labex
.. をつなげて、一度に複数のレベルを上がることもできます。たとえば、/home/labex から cd ../.. を実行すると、ルートディレクトリ(/)に移動します。
最後に、システムのどこからでもホームディレクトリに戻るための最も速い方法を練習しましょう。最初のステップで学んだように、引数なしで cd コマンドを実行するだけで、常に個人のホームディレクトリに戻ることができます。
まず /etc ディレクトリに移動してみましょう。
cd /etc
ここで、/etc から 1 つのコマンドでホームディレクトリに戻ります。
cd
最後にもう一度 pwd で場所を確認します。
pwd
出力により、ホームに戻ったことが確認できます。
/home/labex
おめでとうございます!これで、Linux ファイルシステムをナビゲートするための最も重要なシェルコマンドである pwd、絶対パスと相対パスを使用した cd、およびディレクトリの内容を表示する ls の練習が完了しました。
まとめ
この実験では、Linux ファイルシステムをナビゲートするための基本的なシェルコマンドを学びました。pwd を使用して現在の作業ディレクトリを特定し、cd を使用してディレクトリを変更する練習を行いました。これには、絶対パス、親ディレクトリに移動するための .. などの相対パス、およびホームディレクトリを表すチルダ(~)などの便利なショートカットを使用した移動が含まれます。また、引数なしで cd を実行することが、ホームに素早く戻る方法であることも確認しました。
さらに、ls コマンドを使用してディレクトリの内容を一覧表示し、検査する方法についても学習しました。-a フラグを使用して隠しファイルを含むすべてのファイルを表示し、-l フラグを使用して詳細なロング形式のリストを表示しました。この詳細表示により、権限、所有権、サイズ、修正日などのファイル属性に関する重要な情報が得られ、ファイルを効果的に管理する能力が向上しました。



