logo

Linuxファイルシステム

Linux ファイル システムは、ディスク ドライブまたはパーティション上のファイルの構造化されたコレクションです。パーティションはメモリのセグメントであり、特定のデータが含まれています。私たちのマシンでは、メモリのさまざまなパーティションが存在する可能性があります。通常、すべてのパーティションにはファイル システムが含まれています。

汎用コンピュータ システムは、より短い時間で簡単にファイルにアクセスできるように、データを体系的に保存する必要があります。データはハードディスク (HDD) または同等のストレージ タイプに保存されます。ファイル システムを維持する理由としては、次のことが考えられます。

  • 主にコンピュータはデータを RAM ストレージに保存します。電源を切るとデータが失われる可能性があります。ただし、停電後にデータを維持するために使用できる不揮発性 RAM (フラッシュ RAM および SSD) があります。
  • RAM はディスク領域よりもコストがかかるため、データ ストレージには標準の RAM よりもハード ドライブが推奨されます。ハードディスクのコストは RAM に比べて徐々に下がっています。

Linux ファイル システムには次のセクションが含まれます。

フロッピーディスク
  • ルートディレクトリ (/)
  • 特定のデータ ストレージ形式 (EXT3、EXT4、BTRFS、XFS など)
  • 特定のファイル システムを持つパーティションまたは論理ボリューム。

Linux ファイル システムとは何ですか?

Linux ファイル システムは通常、 Linux オペレーティング システム ストレージのデータ管理を処理するために使用されます。ディスクストレージ上でファイルを整理するのに役立ちます。ファイル名、ファイル サイズ、作成日、およびファイルに関するその他の情報を管理します。

ファイル システムにサポートされていないファイル形式がある場合は、それに対処するソフトウェアをダウンロードできます。

Linux ファイルシステムの構造

Linux ファイル システムには、ルート ディレクトリとそのサブディレクトリが含まれるため、階層ファイル構造になっています。他のすべてのディレクトリにはルート ディレクトリからアクセスできます。通常、パーティションにはファイル システムが 1 つだけありますが、複数のファイル システムがある場合もあります。

ファイル システムは、不揮発性ストレージ データを管理し、そのためのスペースを提供できるように設計されています。すべてのファイル システムには、命名および編成方法であるネームスペースが必要でした。ネームスペースは、命名プロセス、ファイル名の長さ、またはファイル名に使用できる文字のサブセットを定義します。また、特定のファイルを整理するためのディレクトリの使用など、メモリ セグメント上のファイルの論理構造も定義します。ネームスペースを記述したら、その特定のファイルに対してメタデータの記述を定義する必要があります。

データ構造は階層ディレクトリ構造をサポートする必要があります。この構造は、特定のブロックで利用可能なディスク容量と使用されているディスク容量を記述するために使用されます。ファイル サイズ、作成日時、更新日、最終変更日など、ファイルに関するその他の詳細も表示されます。

また、パーティションやボリュームなど、ディスクのセクションに関する詳細情報も保存されます。

高度なデータとそれが表す構造には、ドライブに保存されているファイル システムに関する情報が含まれています。これはファイル システムのメタデータとは別個のものであり、独立しています。

Linux ファイル システムには、2 つの部分からなるファイル システム ソフトウェア実装アーキテクチャが含まれています。以下の画像を考えてみましょう。

開発者モードをオフにする
Linuxファイルシステム

ファイル システムには、ファイルやディレクトリなどのファイル システム コンポーネントと対話する関数呼び出しにアクセスするための API (アプリケーション プログラミング インターフェイス) が必要です。 API を使用すると、ファイルの作成、削除、コピーなどのタスクが容易になります。これにより、ファイル システム上のファイルの配置を定義するアルゴリズムが容易になります。

特定のファイル システムの最初の 2 つの部分を合わせて、 Linux仮想ファイルシステム 。これは、カーネルと開発者がファイル システムにアクセスするための単一のコマンド セットを提供します。この仮想ファイル システムには、ファイル システムへのインターフェイスを提供する特定のシステム ドライバーが必要です。

ディレクトリ構造

ディレクトリは、ファイルを保存し、必要なときにファイルを見つけるのに役立ちます。また、ディレクトリは、物理デスクトップに似た形式でファイルが存在するフォルダーと見なすことができるため、フォルダーと呼ばれます。 Linux やその他のいくつかのオペレーティング システムでは、ディレクトリをツリー状の階層に編成できます。

Linux のディレクトリ構造は十分に文書化されており、Linux FHS (ファイルシステム階層標準) で定義されています。これらのディレクトリにアクセスする場合、/var/spool/mail や /var/log のように、「/」スラッシュでリンクされたディレクトリのより深い名前を順番に使用してそれらのディレクトリを参照します。これらはパスとして知られています。

以下の表は、標準で定義され、よく知られているトップレベルの Linux ディレクトリの非常に短いリストとその目的を示しています。

    / (ルートファイルシステム):これは、ファイルシステムの最上位ディレクトリです。別のファイルシステムがマウントされる前に、Linux システムの起動に必要なすべてのファイルを含める必要があります。システムの起動後は、ルート ファイルシステム ディレクトリがあるため、他のファイルシステムはすべて、明確に定義された標準のマウント ポイントにマウントされます。/ブート:これには、静的なカーネルとブートローダーの構成、および Linux コンピューターの起動に必要な実行可能ファイルが含まれています。/置き場:このディレクトリには、ユーザーの実行可能ファイルが含まれています。/dev:これには、システムに接続されているすべてのハードウェア デバイスのデバイス ファイルが含まれます。これらはデバイスドライバーではありません。代わりに、これらはシステム上のすべてのデバイスを示し、これらのデバイスへのアクセスを提供するファイルです。/等:これには、ホスト システムのローカル システム構成ファイルが含まれます。/lib:これには、システムの起動に必要な共有ライブラリ ファイルが含まれています。/家:ホーム ディレクトリ ストレージはユーザー ファイルに使用できます。すべてのユーザーは /home 内にサブディレクトリを持っています。/mnt:これは、管理者がファイル システムを作業または修復するときに使用できる、基本的なファイル システムの一時的なマウント ポイントです。/メディア:ホストにリンクされている可能性のある USB サム ドライブなどの外部リムーバブル メディア デバイスをマウントする場所。/オプト:ここには、ベンダー提供のアプリケーション プログラムなど、ここに配置する必要があるオプション ファイルが含まれています。/根:これは root ユーザーのホーム ディレクトリです。これは「/」(ルート)ファイル システムではないことに注意してください。/tmp:これは、OS およびいくつかのプログラムが一時ファイルを保存するために使用する一時ディレクトリです。また、ユーザーはここにファイルを一時的に保存することもできます。このディレクトリ内のファイルはいつでも予告なく削除される可能性があることに注意してください。/sbin:これらはシステム バイナリ ファイルです。これらはシステム管理に使用される実行可能ファイルです。/usr:これらは読み取り専用で共有可能なファイルであり、実行可能ライブラリとバイナリ、man ファイル、およびいくつかのドキュメント タイプが含まれます。/だった:ここにはバリアブルデータファイルが保存されます。 MySQL、ログ ファイル、その他のデータベース ファイル、電子メールの受信トレイ、Web サーバー データ ファイルなどが含まれる場合があります。

Linux ファイル システムの機能

Linux では、ファイル システムはツリー構造を作成します。すべてのファイルはツリーとその枝として配置されます。最上位のディレクトリは、 ルートディレクトリ 。 Linux の他のすべてのディレクトリにはルート ディレクトリからアクセスできます。

Linux ファイル システムの主な機能は次のとおりです。

Javaの場合
    パスの指定:Linux では、コンポーネントを区切るのにバックスラッシュ () を使用しません。代わりにスラッシュ (/) を使用します。たとえば、Windows ではデータは C: My Documents Work に保存されますが、Linux では /home/ My Document/ Work に保存されます。パーティション、ディレクトリ、およびドライブ:Linux では、Windows のようにドライブ文字を使用してドライブを整理しません。 Linux では、パーティションをアドレス指定しているのか、ネットワーク デバイスをアドレス指定しているのか、あるいは「通常の」ディレクトリとドライブをアドレス指定しているのかわかりません。大文字と小文字の区別:Linux ファイル システムでは大文字と小文字が区別されます。ファイル名の小文字と大文字が区別されます。たとえば、test.txt と Linux の Test.txt には違いがあります。このルールはディレクトリと Linux コマンドにも適用されます。ファイル拡張子:Linux では、ファイルに「.txt」拡張子が付いている場合がありますが、必ずしもファイル拡張子が必要というわけではありません。シェルを使用する場合、初心者にとってファイルとディレクトリを区別するのにいくつかの問題が発生します。グラフィカル ファイル マネージャーを使用すると、ファイルとフォルダーがシンボル化されます。隠しファイル:Linux では標準ファイルと隠しファイルが区別され、Linux OS ではほとんどの構成ファイルが隠されています。通常、隠しファイルにアクセスしたり、隠しファイルを読み取ったりする必要はありません。 Linux の隠しファイルは、ファイル名の前にドット (.) を付けて表されます (例: .ignore)。ファイルにアクセスするには、ファイル マネージャーでビューを変更するか、シェルで特定のコマンドを使用する必要があります。

Linux ファイル システムの種類

Linux オペレーティング システムをインストールすると、Linux は次のような多くのファイル システムを提供します。 Ext、Ext2、Ext3、Ext4、JFS、ReiserFS、XFS、btrfs、 そして スワップ

Linuxファイルシステム

これらの各ファイル システムを詳しく理解してみましょう。

1. Ext、Ext2、Ext3、Ext4 ファイル システム

ファイルシステム Ext の略です 拡張ファイルシステム 。主に以下のために開発されました MINIX OS 。 Ext ファイル システムは古いバージョンであり、いくつかの制限があるため現在は使用されていません。

内線2 は、2 テラバイトのデータを管理できる初の Linux ファイル システムです。 Ext3 は Ext2 を通じて開発されます。これは Ext2 のアップグレードされたバージョンであり、下位互換性が含まれています。 Ext3 の主な欠点は、このファイル システムがファイルの回復とディスク スナップショットをサポートしていないため、サーバーをサポートしていないことです。

内線4 ファイル システムは、すべての Ext ファイル システムの中で最も高速なファイル システムです。これは SSD (ソリッド ステート ドライブ) ディスクとの互換性が非常に高いオプションであり、Linux ディストリビューションのデフォルトのファイル システムです。

2. JFS ファイルシステム

JFSの略です ジャーナルファイルシステム によって開発されています。 IBM for AIX Unix 。これは Ext ファイル システムの代替です。少ないリソースで安定性が必要な場合には、Ext4 の代わりに使用することもできます。 CPU パワーが制限されている場合に便利なファイル システムです。

アルファベットの数字

3. ReiserFS ファイルシステム

ReiserFS は Ext3 ファイル システムの代替です。パフォーマンスが向上し、高度な機能が追加されました。以前は ReiserFS が SUSE Linux のデフォルト ファイル システムとして使用されていましたが、その後いくつかのポリシーが変更されたため、SUSE は Ext3 に戻りました。このファイル システムはファイル拡張子を動的にサポートしますが、パフォーマンスにいくつかの欠点があります。

4.XFSファイルシステム

XFS ファイル システムは、並列 I/O 処理用に開発された高速 JFS と見なされます。 NASA は、現在でもこのファイル システムを大容量ストレージ サーバー (300 テラバイト以上のサーバー) で使用しています。

5. Btrfs ファイルシステム

Btrfs は Bツリーファイルシステム 。これは、フォールト トレランス、修復システム、楽しい管理、広範なストレージ構成などに使用されます。これは実稼働システムには適していません。

6. スワップファイルシステム

スワップ ファイル システムは、システム休止中の Linux オペレーティング システムのメモリ ページングに使用されます。決して休止状態にならないシステムには、RAM サイズと同じスワップ領域が必要です。

Linux ファイルシステムでのマウントとは何ですか?

Linux では、 'マウントする' ファイルシステム用語であり、リムーバブル ディスクまたはテープ パックを正しいドライブ デバイスに物理的にマウントする必要があったコンピューティングの初期の時代を指します。ディスク パック上では、ファイル システムが OS によって論理的にマウントされ、ドライブ上に物理的に配置された後、アプリケーション プログラム、OS、およびユーザーがコンテンツにアクセスできるようになります。

簡単に言えば、マウント ポイントは、ファイル システムのコンポーネントとして作成されるディレクトリです。たとえば、ホーム ファイルシステムは /home ディレクトリに配置されます。ファイルシステムは多くの非ルート ファイルシステムのマウント ポイントに配置できますが、それほど一般的ではありません。

私のモニター画面の大きさはどれくらいですか
  • Linux のルート ファイルシステムは、ブート シーケンス内の非常に早い段階で / ディレクトリ (ルート ディレクトリ) にマウントされます。
  • いくつかのファイルシステムは、Linux の起動プログラム (SystemV 上の rc または新しい Linux バージョンの systemd 経由) によって後でマウントされます。
  • 起動中のファイルシステムのマウントは、構成ファイルによって処理されます。 /etc/fstab
  • fstab が略語であることを理解する簡単な方法です。 「ファイルシステムテーブル」 これは、マウントされるファイルシステムのリスト、そのオプション、および特定のファイルシステムに必要な指定されたマウント ポイントです。

ファイルシステムは、mount コマンドを使用して、利用可能なマウント ポイント/ディレクトリにマウントできます。言い換えれば、マウント ポイントとして適用されるディレクトリには他のファイルがあってはならず、空である必要があります。 Linux では、ユーザーがすでに利用可能なファイルシステムまたはファイルを含むディレクトリにファイルシステムをマウントすることを避けられません。実際のコンテンツがカバーされ、既存のファイルシステムまたはディレクトリにファイルシステムをマウントすると、新しくマウントされたファイルシステムのコンテンツだけが表示されます。