Linuxに少しでも精通している場合は、root、lib、binなどの用語を聞いたことがあるかもしれません。これらはすべてのLinuxディストリビューションにあるさまざまなディレクトリです。
実際、Linux Foundationはファイルシステム階層標準(FHS)を維持しています。このFHSは、Linuxディストリビューションのディレクトリ構造とディレクトリの内容/目的を定義します。このFHSのおかげで、(ほぼ)すべてのLinuxディストリビューションで同じディレクトリ構造を見つけることができます。
Linuxのディレクトリ構造を詳しく見てみましょう。
Linuxディレクトリ構造
LinuxはUNIXに基づいているため、ファイルシステム階層をUNIXから借用しています。 BSDやmacOSなどのUNIXライクなオペレーティングシステムでも同様のディレクトリ構造を作成します。以降、UNIXではなくLinuxという用語を使用します。
/ –ルートディレクトリ
Linuxのすべて、すべてのファイルとディレクトリは、「/」で表される「root」の下にあります。ディレクトリ構造を見ると、植物の根に似ていることがわかります。
他のすべてのディレクトリまたはファイルはルートの子孫であるため、ファイルの絶対パスはルートを経由します。たとえば、/ home / user / documentにファイルがある場合、ディレクトリ構造はroot-> home->user->documentsからなると推測できます。
残酷なrm-rf/ジョーク
インターネットで「rm-rf/」というジョークに出くわしたことがあるかもしれません。 rmコマンドは、Linuxでファイルとディレクトリを削除するために使用されます。
rm -rf /を使用して、ルートディレクトリの内容を強制的かつ再帰的に削除するようにシステムに要求します。ルートディレクトリの下にすべてがあるので、結局すべてを削除し、Linuxシステムは(理論的には)消えてしまいます。
–no-preserve-rootを指定しない限り、ほとんどのLinuxディストリビューションはこのコマンドを実行しません。いずれにせよ、このコマンドを実行することに興味を持ってはいけません。結局のところ、好奇心が猫を殺しました。
/ bin –バイナリ
「/bin」には、ls、cp、cdなどの多くの基本的なシェルコマンドの実行可能ファイルが直接含まれています。ほとんどのプログラムはここではバイナリ形式であり、Linuxシステムのすべてのユーザーがアクセスできます。
/ dev –デバイスファイル
このディレクトリには、デバイスに関連するファイルを含む特別なファイルのみが含まれています。これらは仮想ファイルであり、物理的にディスク上にあるわけではありません。
これらのファイルのいくつかの興味深い例は次のとおりです。
- / dev / null:任意のファイルまたは文字列を破棄するために送信できます
- / dev / zero:0の無限シーケンスが含まれています
- / dev / random:ランダムな値の無限のシーケンスが含まれています
/ etc –構成ファイル
/ etcディレクトリには、システムのコア構成ファイルが含まれており、主に管理者と、パスワードファイルやネットワークファイルなどのサービスによって使用されます。
システム構成を変更する必要がある場合(たとえば、ホスト名を変更する場合)、ここにそれぞれのファイルがあります。
/ usr –ユーザーバイナリとプログラムデータ
「/usr」に、ほとんどのシステムプログラムのすべての実行可能ファイル、ライブラリ、ソースを移動します。このため、そこに含まれるファイルのほとんどは読み取り専用です(通常のユーザーの場合)
- 「/usr/ bin」には、基本的なユーザーコマンドが含まれています
- 「/usr/ sbin」には、管理者向けの追加コマンドが含まれています
- 「/usr/lib」にはシステムライブラリが含まれています
- 「/usr/ share」にはドキュメントが含まれているか、すべてのライブラリに共通です。たとえば、「/ usr / share/man」にはマンページのテキストが含まれています
/ home –ユーザーの個人データ
ホームディレクトリには、ユーザーの個人用ディレクトリが含まれています。ホームディレクトリには、ユーザーデータとユーザー固有の構成ファイルが含まれています。ユーザーとして、個人のファイル、メモ、プログラムなどをホームディレクトリに配置します。
Linuxシステムでユーザーを作成するときは、ユーザーのホームディレクトリを作成するのが一般的な方法です。 LinuxシステムにAliceとBobの2人のユーザーがいるとします。 / home/aliceと/home/bobの場所に独自のホームディレクトリがあります。
ボブは/home/aliceにアクセスできません。その逆も同様です。ユーザーだけが自分の家にアクセスできる必要があるため、これは理にかなっています。このトピックの詳細については、Linuxのファイルパーミッションについて読むことができます。
/ lib –共有ライブラリ
ライブラリは基本的に、実行可能バイナリで使用できるコードです。 / libディレクトリーは、/binおよび/sbinディレクトリー内のバイナリーに必要なライブラリーを保持します。
/ usr/binおよび/usr/ sbinのバイナリーに必要なライブラリーは、ディレクトリー/ usr/libにあります。
/ sbin –システムバイナリ
これは/binディレクトリに似ています。唯一の違いは、rootまたはsudoユーザーのみが実行できるバイナリが含まれていることです。 「sbin」の「s」は、superまたはsudoと考えることができます。
/ tmp –一時ファイル
名前が示すように、このディレクトリは一時ファイルを保持します。多くのアプリケーションは、このディレクトリを使用して一時ファイルを保存します。ディレクトリを使用して一時ファイルを保存することもできます。
ただし、システムの再起動時に/tmpディレクトリの内容が削除されることに注意してください。一部のLinuxシステムでは、古いファイルも自動的に削除されるため、重要なものはここに保存しないでください。
/ var –変数データファイル
変数の略であるVarは、プログラムがシステムロギング、ユーザートラッキング、キャッシュ、およびシステムプログラムが作成および管理するその他のファイルなどのランタイム情報を格納する場所です。
ここに保存されているファイルは自動的にクリーンアップされないため、システム管理者がシステムの動作に関する情報を探すのに適した場所になります。たとえば、Linuxシステムのログイン履歴を確認する場合は、/ var / log/wtmp内のファイルの内容を確認するだけです。
/ boot –ブートファイル
「/boot」ディレクトリには、LILOとGrubに加えて、カーネルとブートイメージのファイルが含まれています。多くの場合、ディレクトリはディスクの先頭にあるパーティションにあることをお勧めします。
/ proc –プロセスファイルとカーネルファイル
「/proc」ディレクトリには、現在実行中のプロセスとカーネルパラメータに関する情報が含まれています。 procディレクトリのコンテンツは、ランタイムシステム情報を取得するために多くのツールで使用されます。
たとえば、Linuxでプロセッサ情報を確認する場合は、ファイル/ proc/cpuinfoを参照するだけです。 Linuxシステムのメモリ使用量を確認したい場合は、/ proc/meminfoファイルの内容を確認してください。
/ opt –オプションのソフトウェア
従来、/ optディレクトリは、ディストリビューションのリポジトリから入手できないサードパーティアプリケーションのファイルをインストール/保存するために使用されていました。
通常は、ソフトウェアコードをoptに保持してから、バイナリファイルを/ binディレクトリにリンクして、すべてのユーザーが実行できるようにします。
/ root –ルートのホームディレクトリ
/ rootディレクトリもあり、rootユーザーのホームディレクトリとして機能します。したがって、/ home / rootの代わりに、rootのホームは/rootにあります。ルートディレクトリ(/)と混同しないでください。
/ media –リムーバブルメディアのマウントポイント
USBディスク、SDカード、DVDなどのリムーバブルメディアを接続すると、/mediaディレクトリの下にディレクトリが自動的に作成されます。このディレクトリからリムーバブルメディアのコンテンツにアクセスできます。
/ mnt –マウントディレクトリ
これは/mediaディレクトリに似ていますが、リムーバブルメディアを自動的にマウントする代わりに、システム管理者がmntを使用してファイルシステムを手動でマウントします。
/ srv –サービスデータ
/ srvディレクトリには、システムによって提供されるサービスのデータが含まれています。たとえば、HTTPサーバーを実行している場合は、ウェブサイトのデータを/srvディレクトリに保存することをお勧めします。
Linuxのディレクトリ構造とその使用法を理解するには、これだけの情報で十分だと思います。
最後に、必要に応じて、このイメージをダウンロードして保存し、Linuxシステムのディレクトリ構造をすばやく参照できます。