Linux Professional Institute Learning Logo.
main contentにスキップ
  • ホーム
    • 全てのリソース
    • LPI学習教材
    • コントリビューターになる
    • Publishing Partners
    • Publishing Partnerになる
    • About
    • FAQ
    • コントリビューター
    • Roadmap
    • 連絡先
  • LPI.org
4.3 レッスン 1
課題 1: Linuxコミュニティとオープンソースのキャリア
1.1 ポピュラーなOSとLinuxの発展
  • 1.1 レッスン 1
1.2 主なオープンソースのアプリケーション
  • 1.2 レッスン 1
1.3 オープンソースソフトウエアとライセンス
  • 1.3 レッスン 1
1.4 ICTスキルとLinuxでの作業
  • 1.4 レッスン 1
課題 2: Linuxシステムで自分の手法を見つける
2.1 コマンドラインの基本
  • 2.1 レッスン 1
  • 2.1 レッスン 2
2.2 コマンドラインのヘルプ機能の利用
  • 2.2 レッスン 1
2.3 ディレクトリの利用とファイルの一覧
  • 2.3 レッスン 1
  • 2.3 レッスン 2
2.4 ファイルの作成、移動と削除
  • 2.4 レッスン 1
課題 3: コマンドラインの力
3.1 コマンドラインでのファイル圧縮
  • 3.1 レッスン 1
3.2 ファイルの検索と展開
  • 3.2 レッスン 1
  • 3.2 レッスン 2
3.3 コマンドをスクリプトにする
  • 3.3 レッスン 1
  • 3.3 レッスン 2
課題 4: Linuxオペレーティングシステム
4.1 オペレーティングシステムの選択
  • 4.1 レッスン 1
4.2 コンピュータハードウエアの理解
  • 4.2 レッスン 1
4.3 データの保管場所
  • 4.3 レッスン 1
  • 4.3 レッスン 2
4.4 ネットワーク上のコンピュータ
  • 4.4 レッスン 1
課題 5: セキュリティとファイルパーミッション
5.1 セキュリティの基本と、ユーザタイプの確認
  • 5.1 レッスン 1
5.2 ユーザとグループの作成
  • 5.2 レッスン 1
5.3 ファイルのパーミッションと所有権の管理
  • 5.3 レッスン 1
5.4 特別なディレクトリとファイル
  • 5.4 レッスン 1
How to get certified
  1. 課題 4: Linuxオペレーティングシステム
  2. 4.3 データの保管場所
  3. 4.3 レッスン 1

4.3 レッスン 1

Certificate:

Linux Essentials

Version:

1.6

Topic:

4 Linuxオペレーティングシステム

Objective:

4.3 データの格納先

Lesson:

1 of 2

はじめに

オペレーティングシステムにとって、すべてはデータとみなされます。Linuxでは、すべてはファイルに関連付けられます: プログラム、普通のファイル、ディレクトリ、ブロックデバイス(ハードディスクなど)、キャラクタデバイス(コンソールなど)、カーネルプロセス、ソケット、パーティション、リンク、などなど。Linuxの ルート ( / )から始まるディレクトリ構造は、データを含むファイルのコレクションです。すべてがファイルに関連付けられていることは、Linuxの大変に強力な機能であり、システムのさまざまな側面を微調整することができます。

このレッスンでは、 Linux Filesystem Hierarchy Standard (FHS) (Linuxファイルシステム階層標準)で確立された、重要なデータを保存するための位置(ディレクトリ)について説明します。これらの位置の中には、物理ディスク上に永続的にデータをストアする本当のディレクトリもありますし、メモリにロードされる仮想的なファイルシステムで、実行中のプロセスやメモリの用途、ハードウェアの設定といったカーネルサブシステムのデータへのアクセスを可能にするものもあります。仮想ディレクトリにストアされたデータは、それらを監視ないし操作するコマンドで使用されます。

プログラムと設定ファイル

Linuxシステムにおける重要なデータと言えば、間違いなくプログラムと設定ファイルです。前者はプロセッサで実行される一連の命令を格納した実行可能ファイルで、後者はプログラムの動作を制御するためのテキスト文書であることが普通です。実行可能ファイルは、バイナリファイルのことも、テキストファイルのこともあります。Linuxでは伝統的に、設定データもテキストファイルにストアされますが、設定データの表現にはさまざまなスタイルがあります。

バイナリファイルがストアされる位置

他のあらゆるファイルと同様に、実行ファイルは / の下にぶら下がったディレクトリ内に置かれます。具体的には、プログラムは3層の構造に分散されています: 第1層( / )の直下にはシングルユーザーモードで必要になるプログラムが含まれ、第2層( /usr )の直下にはマルチユーザーモードで使用するプログラムの大部分が含まれ、第3層( /usr/local )の直下にはディストリビューションには含まれず、自前でコンパイルしたソフトウェアが含まれます。

プログラムを置く位置には、次のものがあります:

/sbin

システム管理に不可欠なバイナリを含みます。parted や ip など。

/bin

すべてのユーザーに不可欠なバイナリを含みます。ls、mv、mkdir など。

/usr/sbin

システム管理に使用するバイナリを含みます。deluser や groupadd など。

/usr/bin

すべてのユーザーが使用できるほとんどの実行ファイルを含みます。free、pstree、sudo、man など。

/usr/local/sbin

システム管理のためにローカルにインストールした、パッケージマネージャで管理されていないプログラムを置くために使用します。

/usr/local/bin

/usr/local/sbin とほぼ同じですが、通常ユーザー用のプログラムを置きます。

近年、いくつかのディストリビューションでは、/bin と /sbin を、/usr/bin と /usr/sbin へのシンボリックリンクに置き換え始めました。

Note

サードパーティ製のアプリケーションを置くために、/opt ディレクトリが使われることがあります。

これらのでディレクトリとは別に、一般ユーザーは自分のプログラムを以下のいずれかのディレクトリに置くことができます:

  • /home/$USER/bin

  • /home/$USER/.local/bin

Tip

echo $PATH で変数 PATH を参照することで、実行ファイルを置くことができるディレクトリを知ることができます。詳しい情報は、変数とシェルのカスタマイズに関するレッスンを参照して下さい。

プログラムのある場所を、which コマンドで調べることができます。

$ which git
/usr/bin/git

設定ファイルがある位置

/etc ディレクトリ

初期のUnixでは、データの種類ごとにディレクトリがありました。バイナリ用の /bin やカーネル用の /boot などです。/etc (エトセトラの意)は、他のカテゴリに属さないあらゆるファイルを引き受けるものとして作成されました。それらのファイルの多くは設定ファイルでした。時が経つにつれて、設定ファイルが次から次に /etc ディレクトリに追加されたため、/etc はプログラムの設定ファイルのためのメインフォルダーになりました。前述のように、設定ファイルはそのマシンのみで使用される(バイナリとは対照的な)プレーンテキストファイルで、プログラムの動作を制御します。

/etc では、いくつかのパターンの設定ファイル名が使われています。

  • サフィックスが無いか、場当たり的なサフィックを持つもの

    group

    システムのグループデータベース

    hostname

    コンピュータのホスト名

    hosts

    ホスト名とIPアドレスの対応表

    passwd

    システムのユーザーデータベース。コロンで区切られた7つのフィールドから成りユーザーの情報を保持します

    profile

    システム全体でのBashの設定ファイル

    shadow

    暗号化されたユーザーのパスワード

  • サフィックスが rc である初期化ファイル

    bash.bashrc

    対話用のBashシェルが読み込む、システム全体での .bashrc ファイル。

    nanorc

    GNU nano(どのディストリビューションにも含まれる簡単なテキストエディタ)の初期化ファイルのサンプル

  • サフィックスが .conf であるファイル

    resolv.conf

    リゾルバの設定ファイル。インターネットのDNS(Domain Name System)へのアクセス方法を保持します

    sysctl.conf

    カーネルのシステム変数を設定するファイル

  • サフィックスが .d であるディレクトリ

    固有の設定ファイル( *.conf など)を持つプログラムの中には、専用のディレクトリ *.d を持ち、モジュール化された堅牢な設定を行えるように発展したものがあります。例えば logrotate では、logrotate.conf と共に logrotate.d ディレクトリで設定を行います。

    このアプローチは、複数のアプリケーションがあるひとつのサービスを設定する場合に便利です。例えば、Webサーバーパッケージに logrotateの設定が含まれている場合、その設定を logrotate.d ディレクトリ内の専用のファイルに置くことができます。Webサーバーパッケージは、他のlogrotateの設定に影響を及ぼすことなく、そのファイルを更新することができます。同様に、/etc/crontab を変更する代わりに /etc/cron.d にファイルを置くことで、パッケージは所定のタスクを追加することができます。

    Debianとその派生物では、パッケージ管理ツールである apt が信頼できる情報源のリストを読み取る際にも同様のアプローチを取っています: すなわち、従来の /etc/apt/sources.list に加えて、/etc/apt/sources.list.d ディレクトリを使用しています。

    $ ls /etc/apt/sources*
    /etc/apt/sources.list
    /etc/apt/sources.list.d:
ホーム ディレクトリの設定ファイル(ドットファイル)

ユーザーレベルでは、プログラムはその構成と設定を、ユーザーのホームディレクトリ( ~ で示します)内の隠しファイルにストアします。隠しファイルは、ドット( . )で始まること(そのため ドットファイル と呼ばれます)を思い出しましょう。

これらのドットファイルのいくつかはユーザーのシェルセッションをカスタマイズする Bashスクリプトで、ユーザーがシステムにログインしたときに読み込まれます。

.bash_history

コマンドラインの履歴(ヒストリー)がストアされます

.bash_logout

ログインシェルを終了するときに実行するコマンドが含まれます

.bashrc

ログインシェルではない場合の、Bashの初期化スクリプトです

.profile

ログインシェルの場合の、Bashの初期化スクリプトです

Note

Bashとその初期化ファイルについては “コマンドラインの基本” を参照して下さい。

他にも、プログラム開始時にそのプログラムによって読み込まれるユーザー固有の設定ファイルムがいくつもあります: .gitconfig、.emacs.d、.ssh など

Linuxカーネル

何らかのプロセスを実行する前に、カーネルをメモリの保護領域にロードする必要があります。その後に、PIDが 1 のプロセス(最近では systemd のことが多い)がプロセスの連鎖に着火します。つまり、1つのプロセスが、他のプロセスを開始します。プロセスがアクティブになると、Linuxカーネルがそれらに資源(キーボード、マウス、ディスク、メモリ、ネットワークインターフェイスなど)の割り当てを行います。

Note

systemd 以前のシステムでは、システムマネージャ System V Init の一部である /sbin/init が、Linuxシステムにおける最初のプロセスでした。実際、今でも /sbin/init が存在しますが、/lib/systemd/systemd へのリンクになっています。

カーネルが保存される /boot

カーネルは、他のブート関連ファイルと共に /boot に置かれています。これらのファイルのほとんどは、ファイル名にカーネルのバージョン番号(カーネルバージョン、メジャーバージョン、マイナーバージョン、パッチ番号)を含んでいます。

/boot ディレクトリには、以下の種類のファイルが含まれています。それぞれに、カーネルバージョンに応じたファイル名が付けられています:

config-4.9.0-9-amd64

カーネルの構成設定。オプションやカーネルと共にコンパイルされたモジュールなど。

initrd.img-4.9.0-9-amd64

初期RAMディスクのイメージ。起動プロセスにおいて、一時的にメモリにロードされるルートファイルシステムです。

System-map-4.9.0-9-amd64

System-map ファイル(一部のシステムでは System.map)ファイルは、カーネルシンボルのアドレスを含みます。カーネルを再構築(リビルド)する度にメモリアドレスが変わるので、このファイルの内容も変更されます。このファイルは、特定のカーネルシンボルのメモリアドレスを調べたり、逆にアドレスからシンボルを探すために使用されます。

vmlinuz-4.9.0-9-amd64

自己解凍、省スペース、圧縮形式のカーネル。vmlinux の z は圧縮形式を、vm は仮想メモリをサポートしていることを示します(カーネルが初めて仮想メモリをサポートした頃からの慣習です)。

grub

grub2 ブートローダーの設定ディレクトリ。

Tip

オペレーティングシステムの中核であるため、/boot には1つ以上のカーネルと関連するファイルを置いておきます。デフォルトのものが起動しない場合に、(少なくとも)1つ前のバージョンに戻ってシステムの起動を行い、問題を修復することが目的です。

/proc ディレクトリ

/proc ディレクトリは仮想ファイルシステムのひとつで、内容がディスクに書き込まれるのではなくメモリ上に保持されます。システムが起動する度に動的に生成されて、システムの現在の状態を常に反映します。/proc には以下の情報が含まれます:

  • 実行中のプロセス

  • カーネルの設定

  • システムハードウェア

次のレッスンで見るプロセスに関するすべてのデータに加えて、システムのハードウェアとカーネルの構成設定に関する情報を含むファイルもこのディレクトリに置かれます。これらのファイルの一部は次のとおりです。

/proc/cpuinfo

これにはシステムのCPUに関する情報が含まれます。

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 158
model name	: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
stepping	: 10
cpu MHz		: 3696.000
cache size	: 12288 KB
(...)
/proc/cmdline

これにはブート時にカーネルに渡された文字列が含まれます。

$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.9.0-9-amd64 root=UUID=5216e1e4-ae0e-441f-b8f5-8061c0034c74 ro quiet
/proc/modules

これにはカーネルに組み込まれたモジュールの一覧が含まれます。

$ cat /proc/modules
nls_utf8 16384 1 - Live 0xffffffffc0644000
isofs 40960 1 - Live 0xffffffffc0635000
udf 90112 0 - Live 0xffffffffc061e000
crc_itu_t 16384 1 udf, Live 0xffffffffc04be000
fuse 98304 3 - Live 0xffffffffc0605000
vboxsf 45056 0 - Live 0xffffffffc05f9000 (O)
joydev 20480 0 - Live 0xffffffffc056e000
vboxguest 327680 5 vboxsf, Live 0xffffffffc05a8000 (O)
hid_generic 16384 0 - Live 0xffffffffc0569000
(...)

/proc/sys ディレクトリ

このディレクトリには、カテゴリごとにサブディレクトリに分類されたファイルの仲に、カーネルの構成設定が含まれています。

$ ls /proc/sys
abi  debug  dev  fs  kernel  net  user  vm

これらのファイルのほとんどは、スイッチのように作用します。すなわち内容は、2つの値 0 か 1 ( off ないし on )のいずれかです。

/proc/sys/net/ipv4/ip_forward

この値は、マシンがルーターとして機能するか否か(パケットを転送できるか)を示します。

$ cat /proc/sys/net/ipv4/ip_forward
0

次のような例外もあります:

/proc/sys/kernel/pid_max

PIDの最大値です。

$ cat /proc/sys/kernel/pid_max
32768
Warning

カーネル設定に不適当な値を設定するとシステムが不安定になるので、十分な注意が必要です。

ハードウェアデバイス

Linuxでは、“すべてがファイル” であることを忘れないで下さい。これはハードウェアのデバイス情報が、カーネル自体の設定と同様に、仮想ディレクトリ内のファイルに格納されることを意味します。

/dev ディレクトリ

デバイスディレクトリ /dev には、接続されたすべてのハードウェアデバイスのデバイスファイル(正確にはデバイスノード)が置かれます。これらのデバイスファイルは、デバイスとそれを使用するプロセス間のインターフェースとして使用されます。デバイスファイルは、次の2種類のカテゴリのいずれかに分類されます。

ブロックデバイス

個別にアドレスを指定できるブロックを単位としてデータを読み書きするデバイスです。例えば、ハードディスク(および /dev/sda1 のようなパーティション)、USBフラッシュデバイス、CD、DVD、などです。

キャラクタデバイス

データを1文字ずつ順番に読み書きするデバイスです。例えば、キーボード、コンソール( /dev/console )、シリアルポート( /dev/ttyS0 )などです。

デバイスファイルを一覧表示するときは、比較のために必ず -l スイッチを指定した ls を使用します。たとえば、ハードディスクとパーティションを確認します:

# ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 may 25 17:02 /dev/sda
brw-rw---- 1 root disk 8, 1 may 25 17:02 /dev/sda1
brw-rw---- 1 root disk 8, 2 may 25 17:02 /dev/sda2
(...)

シリアルターミナル( TeleTYpewriter)の場合:

# ls -l /dev/tty*
crw-rw-rw- 1 root tty     5,  0 may 25 17:26 /dev/tty
crw--w---- 1 root tty     4,  0 may 25 17:26 /dev/tty0
crw--w---- 1 root tty     4,  1 may 25 17:26 /dev/tty1
(...)

先頭の文字が b の場合はブロックデバイス、c の場合はキャラクタデバイスです。

Tip

アスタリスク( * )は0文字以上を意味するグロブ文字 ですから、上記のコマンド ls -l /dev/sd* と ls -l /dev/tty* 内の * は重要です。これらの特殊文字(メタ文字)については、グロブのレッスンを参照して下さい。

さらに、/dev には、プログラミング時に有用な特別な特殊ファイルもあります。

/dev/zero

要求された数のヌル文字を返します。

/dev/null

ビットバケツ とも言います。書き込まれたすべての情報を破棄します。

/dev/urandom

疑似的な乱数を生成します。

/sys ディレクトリ

sysファイルシステム ( sysfs )は、/sys にマウントされます。カーネル2.6で導入されて、/proc/sys を大幅に改良したものです。

(一部の)プロセスは /dev/ にあるデバイスと対話する必要があるため、カーネルにはハードウェアデバイスに関する情報を保持するディレクトリが必要です。/sys にはそれらのデータがカテゴリごとに整理されています。例えば、ネットワークカード( enp0s3 )のMACアドレスを調べるには、以下のファイルを cat します。

$ cat /sys/class/net/enp0s3/address
08:00:27:02:b2:74

メモリとメモリの種類

基本的に、プログラムが実行を開始するには、メモリにロードされなくてはなりません。メモリと言うと、たいていの場合は RAM (Random Access Memory)を指し、(機械的なハードディスクに比べると)大変に高速です。逆に欠点は、揮発的である(つまり、コンピュータを停止するとデータが無くなってしまう)ことです。

前述にもかかわらず、Linuxには主に2種類のメモリ種別があります:

物理メモリ

RAM のことで、数100万のトランジスタとコンデンサから成る集積回路として提供されます。これらはメモリセル(コンピュータメモリの基本的な構成要素)を形成します。それぞれのセルは16進数のコード(メモリアドレス)と関連付けられて、必要に応じて(任意の位置を)参照できます。

スワップ

スワップ空間 とも言います。ハードディスクを利用した仮想メモリの一部で、利用可能なRAMが無くなった時に使用されます。

アプリケーションからは、アドレス可能なメモリ(RAMとディスク上のスワップ)を合わせて抽象化した 仮想メモリ が見えることになります。

free コマンドは /proc/meminfo を解析して、システムの空きメモリと使用中のメモリを分かりやすく表示します。

$ free
              total        used        free      shared  buff/cache   available
Mem:        4050960     1474960     1482260       96900     1093740     2246372
Swap:       4192252           0     4192252

それぞれのカラムを説明しましょう:

total

搭載されている物理メモリとスワップ空間の合計容量。

used

現在使用中の物理メモリとスワップ空間の容量。

free

現在使用されていない物理メモリとスワップ空間の容量。

shared

ほとんどが tmpfs で利用されている物理メモリの容量。

buff/cache

カーネルのバッファやページキャッシュ、スラブに使用されている物理メモリの容量。

available

新しいプロセスが使用できる物理メモリの見積もり容量。

デフォルトでは、free はキビバイト( KiB )単位で値を表示しますが、オプションで単位を変更することができます。オプションには次のようなものがあります:

-b

バイト

-m

メビバイト(MiB)

-g

ギビバイト(GiB)

-h

人が読みやすいフォーマット

-h はもっとも読みやすい表示となります。

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           3,9G        1,4G        1,5G         75M        1,0G        2,2G
Swap:          4,0G          0B        4,0G
Note

キロバイト(KB)が1000バイトであるのに対して、キビバイト(KiB)は1024バイトです。メビバイト(MiB)、ギビバイト(GiB)についても同様です。

演習

  1. which コマンドを使って以下のプログラムの位置を調べて、表を完成させて下さい:

    プログラム which コマンド 実行可能のパス(出力) root 権限が必要か?

    swapon

    kill

    cut

    usermod

    cron

    ps

  2. 以下のファイルはどこで見つかりますか?

    ファイル /etc ~

    .bashrc

    bash.bashrc

    passwd

    .profile

    resolv.conf

    sysctl.conf

  3. /boot にあるカーネルファイル vmlinuz-4.15.0-50-generic における、数値の意味を説明して下さい。

    数値 意味

    4

    15

    0

    50

  4. /dev 内のすべてのハードディスクとパーティションを一覧表示するコマンドは何ですか?

発展演習

  1. ハードディスクのデバイスファイルは、それらが使用するコントローラに基づいて決まります。/dev/sd* は、SCSI(Small Computer System Interface)ないし SATA(Serial Advanced Technology Attachment)です。

    • 古い IDE(Integrated Drive Electronics)ドライブはどのように表示されていたでしょう?

    • 近年の NVMe(Non-Volatile Memory Express)ドライブはどうなりますか?

  2. /proc/meminfo ファイルを参照して下さい。このファイルの内容と、free コマンドの出力を比較して、/proc/meminfo のどのキー(項目)が free の出力におけるフィールドに対応するか調べて下さい。

    free の出力フィールド /proc/meminfo のキー

    total

    free

    shared

    buff/cache

    available

まとめ

このレッスンでは、Linuxシステムにおけるプログラムや設定ファイルの位置について学びました。覚えるべき重要な事柄は以下の通りです:

  • 基本的に、プログラムは3層のディレクトリ構造にあります: /、/usr、/usr/local です。階層のそれぞれに、bin と sbin ディレクトリがあります。

  • 設定ファイルは、/etc と ~ にあります。

  • ドット( . )から始まるドットファイルは、隠しファイルです。

Linuxカーネルの重要な特徴についても学びました。重要なものを示します:

  • Linuxでは、すべてはファイルに関連付けられます。

  • Linuxカーネルは、そのほかの起動に関係するファイルと共に /boot に置かれます。

  • プロセスを実行する前に、まずカーネルがメモリの保護領域にロードされます。

  • カーネルの仕事は、プロセスにシステム資源(リソース)を割り当てることです。

  • 仮想(疑似)ファイルシステムである /proc には、カーネルやシステムの重要なデータを揮発性で格納します。

同様に、ハードウェアデバイスに関する以下の方法を学びました:

  • /dev ディレクトリにはハードウェアデバイスに対応する特別なファイル(ノード)が置かれています: データをブロック単位で転送する ブロックデバイス と、1文字ずつ転送する キャラクタデバイス です。

  • /dev ディレクトリには、/dev/zero、/dev/null、/dev/urandom といった特別なファイルもあります。

  • /sys ディレクトリには、ハードウェアデバイスに関する情報がカテゴリごとに整理されて格納されています。

最後に、メモリについて以下を学びました:

  • プログラムはメモリに読み込まれてから実行される。

  • RAM(Random Access Memory)とは何か。

  • スワップとは何か。

  • メモリの利用を表示する方法。

このレッスンで使用したコマンド:

cat

ファイルの内容を結合ないし表示します。

free

システムメモリの空き容量と使用中の容量を表示します。

ls

ディレクトリの内容を一覧表示します。

which

プログラムの位置を示します。

演習の解答

  1. which コマンドを使って以下のプログラムの位置を調べて、表を完成させて下さい:

    プログラム which コマンド 実行可能のパス(出力) root 権限が必要か?

    swapon

    which swapon

    /sbin/swapon

    必要

    kill

    which kill

    /bin/kill

    不要

    cut

    which cut

    /usr/bin/cut

    不要

    usermod

    which usermod

    /usr/sbin/usermod

    必要

    cron

    which cron

    /usr/sbin/cron

    必要

    ps

    which ps

    /bin/ps

    不要

  2. 以下のファイルはどこで見つかりますか?

    ファイル /etc ~

    .bashrc

    ×

    ○

    bash.bashrc

    ○

    ×

    passwd

    ○

    ×

    .profile

    ×

    ○

    resolv.conf

    ○

    ×

    sysctl.conf

    ○

    ×

  3. /boot にあるカーネルファイル vmlinuz-4.15.0-50-generic における、数値の意味を説明して下さい。

    数値 意味

    4

    カーネルのバージョン

    15

    メジャーレビジョン

    0

    マイナーレビジョン

    50

    パッチ番号

  4. /dev 内のすべてのハードディスクとパーティションを一覧表示するコマンドは何ですか?

    ls /dev/sd*

発展演習の解答

  1. ハードディスクのデバイスファイルは、それらが使用するコントローラに基づいて決まります。/dev/sd* は、SCSI(Small Computer System Interface)ないし SATA(Serial Advanced Technology Attachment)です。

    • 古い IDE(Integrated Drive Electronics)ドライブはどのように表示されていたでしょう?

      /dev/hd*

    • 近年の NVMe(Non-Volatile Memory Express)ドライブはどうなりますか?

      /dev/nvme*

  2. /proc/meminfo ファイルを参照して下さい。このファイルの内容と、free コマンドの出力を比較して、/proc/meminfo のどのキー(項目)が free の出力におけるフィールドに対応するか調べて下さい。

    free の出力フィールド /proc/meminfo のキー

    total

    MemTotal / SwapTotal

    free

    MemFree / SwapFree

    shared

    Shmem

    buff/cache

    Buffers、Cached、SReclaimable

    available

    MemAvailable

Linux Professional Insitute Inc. All rights reserved. 学習資料をご覧ください: https://learning.lpi.org
ここでの作成物は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseの下でライセンスされています。

次のレッスン

4.3 データの保管場所 (4.3 レッスン 2)

次のレッスンを読む

Linux Professional Insitute Inc. All rights reserved. 学習資料をご覧ください: https://learning.lpi.org
ここでの作成物は、Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Licenseの下でライセンスされています。

LPIは非営利団体です。

© 2023 Linux Professional Institute(LPI)は、オープンソースプロフェッショナル向けのグローバルな認定基準およびキャリアサポート組織です。200,000人以上の認定保持者を擁する、世界初かつ最大のベンダー中立Linuxおよびオープンソース認定機関です。LPIは180か国以上で認定プロフェッショナルを擁し、複数の言語で試験を実施し、何百ものトレーニングパートナーを擁しています。

私たちの目的は、オープンソースの知識とスキルの認定資格を世界中からアクセスできるようにすることで、誰にとっても経済的で創造的な機会を可能にすることです。

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • お問い合わせ
  • 個人情報とCookieポリシー

間違いを見つけたり、このページを改善したいですか? 私たちに知らせてください。.

© 1999–2023 The Linux Professional Institute Inc. All rights reserved.