Linuxのディレクトリ構造を理解して使いこなす方法
Linuxのディレクトリ構造はWindowsとは大きく異なるため、初めてLinuxに触れる方は戸惑うことが少なくありません。そんなときは、Linuxのディレクトリ構造を「木(ツリー)」としてイメージすると理解しやすくなります。木が根っこから成長して枝を広げるように、Linuxではルート(/)を起点として各ディレクトリが枝分かれしていきます。
ディレクトリの区切り文字はフォワードスラッシュ(/)で、略して「スラッシュ」と呼ばれます。たとえば、ルートディレクトリへのパスは単に「スラッシュ(/)」と表現されるのが一般的です。
Linuxディレクトリ構造とは
Linuxに慣れている方なら、「root」「lib」「boot」といった用語を耳にしたことがあるでしょう。これらはLinuxディストリビューションにおけるディレクトリの代表例です。
Linuxシステムでは「Filesystem Hierarchy Standard(FHS:ファイルシステム階層標準)」という規格が採用されています。FHSは、すべてのLinuxディストリビューションに共通するコンテンツとディレクトリ構造を定義しています。
基本的なナビゲーション
前述のとおり、Linuxのディレクトリ構造は、Linuxがインストールされたハードドライブ上のフォルダ構成を指します。
まず「ls」コマンドを実行してEnterキーを押してみましょう。このコマンドは、現在の作業ディレクトリ内にあるフォルダの一覧を表示します。
なお、ディストリビューションによってホームディレクトリに含まれるフォルダは異なります。
ファイルシステムは単一のフォワードスラッシュ(/)から始まるため、ルート直下の構成を確認するには次のコマンドを入力します。
ls /
これにより、Linuxファイルシステムのディレクトリ構造、つまりハードドライブのデフォルトのフォルダ構成が表示されます。
各フォルダにはそれぞれ決められた役割があります。ホームディレクトリにはユーザーのデータが格納されているため、自分のユーザーホームディレクトリの中身を確認するには、次のコマンドを使用します。
ls /home
画面をクリアするには「clear」と入力するか、「Ctrl + L」を使用します。「Ctrl + L」はすべてのLinuxディストリビューションで動作するとは限りませんが、「clear」コマンドであれば確実に機能します。
ここで改めて「ls」コマンドを見てみましょう。これは最も重要な基本コマンドのひとつであり、現在いるディレクトリ内の項目を一覧表示したいときに使用します。
さらに、「ls」にはオプションを組み合わせることもできます。たとえば「ls -l /」と入力すると、「ls /」とは異なる出力結果が得られます。次のコマンドで試してみてください。
ls -l /
画面にはより多くの情報が表示され、すべての項目がそれぞれ独立した行に並びます。「-l」オプションは「long listing(詳細一覧)」を意味します。
つまり、より詳しい情報を確認しながら、各項目を別々の行に表示して読みやすくしたい場合に便利です。一部のディストリビューションでは、この詳細一覧コマンドのエイリアスとして「ll」が用意されています。
知っておくべき重要なフォルダ
Linuxシステムには多数のフォルダが存在しますが、ここでは特に重要なものを紹介します。
ホームディレクトリ(/home)
ホームディレクトリは、デフォルトですべてのユーザーに個人の作業スペースを提供する場所です。各ユーザーは「/home」ディレクトリ内に独自のフォルダを持ちます。
ホームディレクトリ内の全フォルダの一覧を表示するには、次のコマンドを使用します。
ls -l /home
すでにホームディレクトリにいる場合は、パスを指定せずに「ls」だけで中身の一覧を表示できます。
Linuxのディレクトリ構造では、すべてのディレクトリがフォワードスラッシュ(/)で区切られ、スラッシュで始まります。つまり、パスなしの「ls」は現在のディレクトリの内容を表示するということです。
作業ディレクトリを変更してファイルシステムのルートに移動するには、次のコマンドを使用します。
cd /
ルート直下のディレクトリを確認するには、次のように入力します。
ls
ホームディレクトリではなくルートディレクトリに移動しているため、ルート配下のすべてのフォルダ一覧が表示されます。
ルートディレクトリの詳細一覧を表示するには、次のコマンドを使います。
ls -l
ルートディレクトリ(/root)
システム上のすべてのディレクトリとファイルは、記号「/」で表されるルート(最上位階層)に収められています。すべてのファイルやディレクトリはルートを起点とし、そのパスは次のような形式で表されます。
/home/user/videos
また、「/root」はrootユーザー専用のホームディレクトリです。rootユーザーはLinuxシステムにおいて最も強力な権限を持つ管理者アカウントです。
共有ライブラリディレクトリ(/lib)
「/lib」ディレクトリには、コードを含むファイル(ライブラリ)が格納されています。これらのファイルには、ハードドライブへファイルを書き込んだり、デスクトップ上にウィンドウを描画したり、周辺機器を制御したりするために使われるコード断片が収められています。
メディアディレクトリ(/media)
「/media」ディレクトリでは、マウントされた外付けハードドライブ、USBメモリ、DVD、Blu-rayディスクなどのデータファイルを確認できます。
ブートディレクトリ(/boot)
システムの起動に必要なファイルやフォルダは「/boot」ディレクトリにあります。その用途はFilesystem Hierarchy Standardによって標準化されています。
マシンの起動に必要な設定もこのブートディレクトリに格納されています。このディレクトリは絶対に削除しないでください。
その他の標準的なディレクトリには、以下のようなものがあります。
- /dev:外付けUSBやWebカメラなど、すべてのデバイスファイルが格納されます。
- /var:「variable(可変)」の略。ユーザーの追跡情報、システムログ、キャッシュなど、システムプログラムが管理・作成する実行時情報が保存されます。
- ユーザーの個人ディレクトリは/homeにあります。
- /proc:CPUやLinuxカーネルなど、システムに関する情報を含みます。仮想ファイルシステムです。
- /bin:必須の実行可能プログラム(ユーザーバイナリ)が格納されています。
- /etc:設定ファイルが格納されています。
各ディレクトリの詳細な内容と用途については、Wikipediaの解説を参照するとよいでしょう。
現在のディレクトリを確認する
どのディレクトリで作業しているかわからない場合は、「pwd」(print working directory)コマンドを使用します。
結果は次のように表示されます。
/home/username
続けて「ls」を実行すると、前述のとおりデフォルト設定では現在いるフォルダの内容が表示されます。
表示される色の意味は?
たとえば「/etc」フォルダに移動して、次のコマンドを実行してみましょう。
ls -l /etc
大量の情報とともに、さまざまな色が表示されるはずです。
一般的な目安は以下のとおりです。
- 青色:フォルダ
- 白色:ファイル
- 緑色:プログラムまたはバイナリ
配色はディストリビューションによって異なる場合があります。多くのディストリビューションにはプリセットの色が用意されていますが、そうでないものもあります。
パーミッション文字列とは
すべてのファイルには、一覧の左側に英字の連なりが表示されます。これは「パーミッション文字列」と呼ばれます。
まず文字列の最初の文字に注目してください。「d」はディレクトリを意味します。つまり、使用しているLinuxディストリビューションで色分けがされていなくても、「d」で始まる項目はディレクトリだと判断できます。
ファイルやプログラムはハイフン(-)で始まります。
「l」は、別のファイルへのリンク(シンボリックリンク)を示します。
クイックナビゲーションまとめ
「ls」コマンドは、現在の作業ディレクトリにある内容を表示します。現在のディレクトリがわからない場合は「pwd」コマンドを使いましょう。
ファイルシステムの起点は単一のフォワードスラッシュ(/)で示されます。「cd」コマンドでディレクトリ間を移動し、移動先の内容を確認するには「ls」コマンドを使います。ホームディレクトリに戻るには「cd /home/username」と入力します。
「cd」コマンドはファイルシステム内の移動を支援し、「ls」は現在作業しているディレクトリの内容を表示します。「ls -l」は詳細な一覧を表示します。
各Linuxディストリビューションには細かな違いがありますが、ファイルシステムのレイアウトは非常によく似ています。Linuxのディレクトリ構造を理解する最良の方法は、上記の手順を実際に試しながら、その仕組みに慣れることです。
ただし、「/boot」ディレクトリには絶対に手を触れないでください。ターミナルを使ってシステム内の移動を練習しましょう。「cd」「ls」「pwd」コマンドだけを使えば、何かを壊してしまう心配はありません。操作を重ねるうちに、ドキュメントやアプリケーション、その他必要なリソースがどこにあるのか、直感的に把握できるようになるはずです。
-
Linuxのssコマンドでネットワーク接続を監視する方法【基本から実践テクニックまで】
Linuxを使っていると、ネットワークの状態をもっと詳しく知りたい場面に必ず出会います。そうしたニーズに応えられるツールは数多く存在しますが、中には扱いが複雑なものもあります。ssコマンドは多くのLinuxマシンに標準でインストールされているため、その使い方を知っておくと非常に便利です。ssコマンドとは?2文字だけのコマンド名は一見謎めいて見えますが、実際はとてもシンプルです。多くのLinux/Unixコマンドと同じように、コマンド名はその機能を表す略語になっています。「ss」は「Socket Statistics(ソケット統計)」の略です。Socket Statisticsは、従来のnets
-
Linuxでディレクトリ名を変更する方法:mvとrenameコマンドの使い方
このチュートリアルでは、Linuxでディレクトリ名を変更する方法として、「mv」コマンドと「rename」コマンドの2つの使い方を解説します。 ディレクトリ名の変更は、ファイル名の変更とほとんど変わりません。Linuxには「すべてはファイルである」という設計思想があり、ディレクトリも例外なくファイルとして扱われます。そのため、ファイルのリネームで使うテクニックの多くが、そのままディレクトリにも応用できます。 mvコマンドでディレクトリ名を変更する mv RenameDir/ renameDir mvコマンドによるディレクトリ名の変更 方法はこれだけです。シンプルにmvするだけで完了します。ただ