Unix / Linux – ファイルシステムの基礎

スポンサーリンク

本当にわからないとこがあった場合一人では解決できません。
『teratail』とはエンジニア特化型のQ&Aサイトです。 すべてのエンジニアさんが抱えている悩みを共有して 解決するための質問サイトです
無料なのでまずは登録して使ってみてください。メールアドレスだけで登録可能です ----------------------------------------------------------------------------------------

ファイルシステムは、パーティションまたはディスク上のファイルの論理的な集合です。パーティションは情報のコンテナであり、必要に応じてハードドライブ全体にまたがることができます。

ハードディスクには、/ fileシステムを格納するファイルシステム/ homeファイルシステムを格納するファイルシステムなど、通常は1つのファイルシステムだけを含むさまざまなパーティションがあります

パーティションごとに1つのファイルシステムを使用することで、異なるファイルシステムの論理的な保守と管理が可能になります。

Unixのすべては、DVD-ROM、USBデバイス、フロッピードライブなどの物理デバイスを含むファイルとみなされます。

ディレクトリ構造


Unixは、ファイルシステムのベースにルート(/)とそこから広がる他のすべてのディレクトリを持つ逆さまのツリーのような、階層的なファイルシステム構造を使用します。

Unixファイルシステムは、以下のプロパティを持つファイルとディレクトリの集合です。

S.No. ディレクトリと説明
1 /

ファイル構造の最上位に必要なディレクトリだけを含むべきルートディレクトリです

2 / bin

実行ファイルの場所です。これらのファイルはすべてのユーザーが使用できます

3 / dev

デバイスドライバです

4 /etc

スーパーバイザディレクトリコマンド、設定ファイル、ディスク設定ファイル、有効なユーザリスト、グループ、イーサネット、ホスト、重要なメッセージの送信先

5 / lib

共有ライブラリファイルやその他のカーネル関連ファイルが含まれています

6 /boot

システムを起動するためのファイルが入っています。

7 / home

ユーザーおよび他のアカウントのホームディレクトリが含まれています。

8 / mnt

一時ファイル・システム、実装するためのCD-ROMフロッピーCD-ROMのドライブとフロッピーディスクドライブなどです

9 / proc

プロセス番号またはシステムに対して動的なその他の情報によってファイルとしてマークされたすべてのプロセスを含みます。

10 / tmp

システムブート間に使用される一時ファイルを保持します。

11 / usr

雑多な目的に使用され、多くのユーザーが使用できます。管理コマンド、共有ファイル、ライブラリファイルなどを含みます。

12 / var

通常、ログファイルやプリントファイルなどの可変長ファイルや、さまざまな量のデータを含む可能性のある他の種類のファイルが含まれています

13 / sbin

通常はシステム管理用のバイナリ(実行可能)ファイルが含まれています。たとえば、fdiskおよびifconfig utlities

14 /kernel

カーネルファイルが含まれています

ファイルシステムのナビゲート


これで、ファイルシステムの基本を理解したので、必要なファイルへのナビゲートを開始することができます。次のコマンドは、システムをナビゲートするために使用されます。

S.No. コマンドと説明
1 cat filename

ファイル名を表示する

2 cd dirname

特定したディレクトリに移動します

3 cd dirname

1つのファイル/ディレクトリを指定された場所にコピーします。

4 file filename

ファイルタイプ(バイナリ、テキストなど)を識別します。

5 find filename dir

ファイル/ディレクトリを検索する

6 head filename

ファイルの先頭を表示します。

7 less filename

最後か最初からファイルをブラウズする

8 ls dirname

指定されたディレクトリの内容を表示します。

9 mkdir dirname

指定されたディレクトリを作成します。

10 more filename

ファイルを最初から最後までブラウズする

11 mv file1 file2

ファイル/ディレクトリの場所を移動する、またはファイル/ディレクトリの名前を変更する

12 pwd

ユーザーが現在のディレクトリを表示します。

13 rm filename

ファイルを削除します。

14 rmdir dirname

ディレクトリを削除します。

15 tail filename

ファイルの終わりを示します。

16 touch filename

空白のファイルを作成するか、既存のファイルまたはその属性を変更します。

17 whereis filename

ファイルの場所を表示します。

18 which filename

ファイルがPATHにある場合、そのファイルの場所を表示します。

dfコマンド


パーティションスペースを管理する最初の方法は、df(disk free)コマンドです。コマンドdf -k(disk free)は、以下に示すように、ディスク容量の使用量をキロバイト単位で表示します。

$df -k
Filesystem      1K-blocks      Used   Available Use% Mounted on
/dev/vzfs        10485760   7836644     2649116  75% /
/devices                0         0           0   0% /devices
$

/ devicesなどのディレクトリの中には、kbytes、used、availカラムに0が表示され、容量が0%になっています。これらは特別な(または仮想の)ファイルシステムであり、/の下のディスク上に存在しますが、ディスクスペースを消費しません。

DF -k出力は、一般的に、すべてのUnixシステム上で同じとなっています。

S.No. 列と説明
1 Filesystem

物理ファイルシステム名

2 kbytes

記憶媒体上で利用可能なスペースの合計キロバイト

3 used

使用された合計キロバイト(ファイル単位)

4 avail

使用可能な合計キロバイト

5 capacity

ファイルが使用している総容量の割合

6 Mounted on

ファイルシステムのマウント先

 

duコマンド


デュ(ディスク使用量)コマンドは、特定のディレクトリにディスクスペースの使用状況を表示するディレクトリを指定することができます。

このコマンドは、特定のディレクトリが占める領域を判断する場合に役立ちます。次のコマンドは、各ディレクトリで使用されたブロック数を表示します。1つのブロックは、システムに応じて512バイトまたは1キロバイトのいずれかを取ることができます。

$du /etc
10     /etc/cron.d
126    /etc/default
6      /etc/dfs
...
$

-hオプションは理解する出力が容易になります-

$du -h /etc
5k    /etc/cron.d
63k   /etc/default
3k    /etc/dfs
...
$

ファイルシステムのマウント


ファイルシステムは、システムで使用できるようにマウントする必要があります。システム上で現在マウントされているもの(使用可能)を確認するには、次のコマンドを使用します。

$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$

/ mntに(例えばCDROMドライブ、リモートネットワークドライブ、フロッピードライブなど)の一時的なマウントが配置されている場所のディレクトリは、UNIXの慣習によってです。ファイルシステムをマウントする必要がある場合は、mountコマンドを次の構文で使用できます。

mount -t file_system_type device_to_mount directory_to_mount_to

マウントしたい場合たとえば、CD-ROMをディレクトリに/ mnt / cdromと、次のように入力することができます-

$ mount -t iso9660 /dev/cdrom /mnt/cdrom

これは、あなたのCD-ROMデバイスが/ dev / cdromと呼ばれ、それを/ mnt / cdromにマウントすることを前提としています。より詳しい情報については、mountのマニュアルページを参照するか、ヘルプ情報についてはコマンドラインでmount -hと入力してください。

マウント後、cdコマンドを使用して、新しく使用可能なファイルシステムを、作成したマウントポイントでナビゲートすることができます。

ファイルシステムのマウント解除


ファイルシステムをシステムからアンマウント(削除)するには、マウントポイントまたはデバイスを特定してumountコマンドを使用します。

たとえば、cdromをアンマウントするには、次のコマンドを使用します。

$ umount /dev/cdrom

mountコマンドは、ファイルシステムにアクセスすることができますが、ほとんどの近代的なUnixシステムで、自動マウント機能は、ユーザにこのプロセスが見えなくなり、何の介入を必要としません。

ユーザーおよびグループの割り当て


ユーザーおよびグループのクォータは、単一のユーザーまたは特定のグループ内のすべてのユーザーが使用する領域の量を管理者が定義した値に制限するメカニズムを提供します。

クォータは2つの制限を超えて動作し、スペースの量またはディスクブロックの数が管理者が定義した制限を超え始めると、ユーザーは何らかのアクションを取ることができます。

  • Soft Limit – ユーザーが定義された制限を超えた場合、ユーザーがいくらかのスペースを解放できる猶予期間があります。
  • Hard Limit  – ハードリミットに達すると、猶予期間にかかわらず、それ以上ファイルやブロックを割り当てることはでき無くなります。

クォータを管理するためのコマンドがいくつかあります。

S.No. コマンドと説明
1 quota

グループのユーザーのディスク使用量と制限を表示します。

2 Edquota

これはクォータエディタです。このコマンドを使用してユーザまたはグループのクォータを編集できます

3 quotacheck

ディスク使用量のファイルシステムのスキャン、クォータファイルの作成、確認、修復

4 setquota

これはコマンドラインのクォータエディタです

5 quotaon

これにより、1つまたは複数のファイルシステムでディスククォータを有効にする必要があることがシステムに通知されます

6 quotaoff

これにより、1つ以上のファイルシステムでディスククォータを無効にする必要があることがシステムに通知されます

7 repquota

指定したファイルシステムのディスク使用量とクォータの概要が表示されます

 

次のページ

前のページ

スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。