Unix-file-system

提供:Dev Guides
移動先:案内検索

Unix/Linux-ファイルシステムの基本

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

ハードドライブには、 /file system を格納するファイルシステムや*/homeファイルシステム*を格納するファイルシステムなど、通常1つのファイルシステムのみを含むさまざまなパーティションを作成できます。

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

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

ディレクトリ構造

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

Unixファイルシステムは、次のプロパティを持つファイルとディレクトリのコレクションです-

  • 他のファイルとディレクトリを含むルートディレクトリ( / )があります。
  • 各ファイルまたはディレクトリは、その名前、存在するディレクトリ、および通常 inode と呼ばれる一意の識別子によって一意に識別されます。
  • 慣例により、ルートディレクトリには 2inode 番号があり、 lost+ found ディレクトリには 3inode 番号があります。 iノード番号 0 および 1 は使用されません。 ファイルのiノード番号は、* lsコマンド*に* -iオプション*を指定することで確認できます。 *自己完結型です。 あるファイルシステムと別のファイルシステムの間に依存関係はありません。

ディレクトリには特定の目的があり、一般にファイルを簡単に見つけるために同じタイプの情報を保持します。 Unixのメジャーバージョンに存在するディレクトリは次のとおりです-

Sr.No. Directory & Description
1

/

これは、ファイル構造の最上位で必要なディレクトリのみを含むルートディレクトリです。

2

/bin

これは、実行可能ファイルが置かれている場所です。 これらのファイルはすべてのユーザーが利用できます

3

/dev

これらはデバイスドライバーです

4

/etc

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

5

/lib

共有ライブラリファイルと、場合によっては他のカーネル関連ファイルが含まれます

6

/boot

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

7

/home

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

8

/mnt

  • CD-ROM* ドライブと*フロッピーディスケットドライブ*の *cdrom* と *floppy* など、他の一時ファイルシステムをそれぞれマウントするために使用
9

/proc

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

/tmp

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

11

/usr

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

12

/var

通常、ログファイルや印刷ファイルなどの可変長ファイルと、可変量のデータを含む可能性があるその他の種類のファイルが含まれます。

13

/sbin

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

14

/kernel

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

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

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

Sr.No. Command & Description
1

cat filename

ファイル名を表示します

2

cd dirname

指定されたディレクトリに移動します

3

cp file1 file2

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にあるファイルの場所を表示します

link:/unix/unix-manpage-help [Manpage Help]を使用して、ここで説明する各コマンドの完全な構文を確認できます。

dfコマンド

パーティションスペースを管理する最初の方法は、* df(ディスクフリー)コマンドを使用することです。 コマンド df -k(ディスク空き)*は、以下に示すように、*ディスク領域の使用量をキロバイト*で表示します-

$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システムで同じです。 これは通常含まれるものです-
Sr.No. Column & Description
1

Filesystem

物理ファイルシステム名

2

kbytes

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

3

used

使用されたスペースの合計キロバイト(ファイルごと)

4

avail

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

5

capacity

ファイルが使用する合計スペースの割合

6

Mounted on

ファイルシステムがマウントされているもの

  • -h(人間が読める)オプション*を使用して、サイズをわかりやすい表記で表示する形式で出力を表示できます。

デュコマンド

  • du(ディスク使用量)コマンド*を使用すると、ディレクトリを指定して、特定のディレクトリのディスクスペース使用量を表示できます。

このコマンドは、特定のディレクトリが使用しているスペースを特定する場合に役立ちます。 次のコマンドは、各ディレクトリが消費するブロック数を表示します。 単一のブロックは、システムに応じて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)
$

Unixの慣例により、 /mnt ディレクトリは、一時的なマウント(CDROMドライブ、リモートネットワークドライブ、フロッピードライブなど)が置かれる場所です。 あなたがファイルシステムをマウントする必要がある場合は、次の構文でマウントコマンドを使用することができます-

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のmanページを参照するか、ヘルプ情報についてはコマンドラインでmount -h と入力してください。

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

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

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

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

$ umount/dev/cdrom
  • mountコマンド*を使用すると、ファイルシステムにアクセスできますが、最新のUnixシステムのほとんどでは、* automount関数*により、このプロセスがユーザーに見えなくなり、介入は不要です。

ユーザーとグループのクォータ

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

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

  • ソフト制限-ユーザーが定義された制限を超えた場合、ユーザーがスペースを解放できる猶予期間があります。
  • ハード制限-猶予期間に関係なく、ハード制限に達すると、それ以上ファイルまたはブロックを割り当てることができません。

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

Sr.No. Command & Description
1

quota

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

2

edquota

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

3

quotacheck

ディスク使用状況についてファイルシステムをスキャンし、クォータファイルを作成、確認、修復します

4

setquota

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

5

quotaon

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

6

quotaoff

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

7

repquota

これにより、指定したファイルシステムのディスク使用量とクォータの概要が出力されます

link:/unix/unix-manpage-help [Manpage Help]を使用して、ここで説明する各コマンドの完全な構文を確認できます。