Linux には、ブロック デバイスに加えて、キャラクター デバイスとネットワーク デバイスもあります。キャラクタ デバイスは、バイト ストリームのようにアクセスできるデバイスです。キャラクタ デバイスに読み取りまたは書き込みリクエストが発行されると、対応する IO 操作が即座に発生します。一方、ネットワーク デバイスは Linux ネットワーク サブシステムによって駆動され、データ パケットの送受信: ネットワーク デバイスはストリーム デバイスを指向しているのではなく、Linux システム ファイル システムにノードを持ちません。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux には、ブロック デバイスに加えて、キャラクター デバイスとネットワーク デバイスもあります。
Linux システムのデバイスは、キャラクター デバイス、ブロック デバイス、ネットワーク デバイスの 3 つのカテゴリに分類できます。
(1) キャラクタデバイス
キャラクタデバイスは、バイトストリームのようにアクセスできるデバイスで、キャラクタデバイスに対して読み取りまたは書き込みリクエストが発行されると、対応するIO操作が発生します。すぐに。 Linux システムの多くのデバイスは、キャラクター端末、シリアル ポート、キーボード、マウスなどのキャラクター デバイスです。組み込み Linux 開発で最も一般的なのは、キャラクター デバイスとドライバーです。
(2) ブロックデバイス
ブロックデバイスは、Linux システムで TO 操作を行う際にブロック単位でアクセスする必要があるデバイスで、ファイルシステムをインストールできます。ブロック デバイス ドライバーはシステム メモリの一部をバッファとして使用するため、ブロック デバイスへの読み取りおよび書き込みアクセスを発行しても、必ずしも直ちにハードウェア I/O 操作が行われるわけではありません。 Linux システムの一般的なブロック デバイスには、ハードディスク、フロッピー ドライブなどが含まれます。
(3) ネットワーク機器
ネットワーク機器は、ネットワーク カードなどのハードウェア デバイス、またはループバック デバイスなどの純粋なソフトウェア デバイスのいずれかです。ネットワーク デバイスは Linux ネットワーク サブシステムによって駆動され、ストリーム デバイスではなくデータ パケットの送受信を担当するため、ネットワーク デバイスは Linux システム ファイル システムにノードを持ちません。ネットワーク デバイスへのアクセスは、オープン/クローズや読み取り/書き込みなどの通常のファイル操作ではなく、ソケット呼び出しを通じて生成されます。
#Linux ブロック デバイス情報の表示
Linux では、lsblk コマンドを使用してブロックを表示できます。デバイス情報。 英語の lsblk コマンドは「list block」です。これは、使用可能なすべてのブロック デバイスに関する情報を一覧表示し、それらの間の依存関係も表示するために使用されますが、RAM ディスク情報は一覧表示されません。ブロック デバイスには、ハードディスク、フラッシュ ドライブ、CD-ROM などが含まれます。 lsblk コマンドは util-linux-ng パッケージに含まれていますが、このパッケージは現在 util-linux に名前変更されています。lsblk コマンドにはいくつかのオプションがあります。
デフォルト オプションlsblk コマンドは、デフォルトでツリー ビューにすべてのブロック デバイスをリストします。ターミナルを開いて次のコマンドを入力します:$ lsblk
lsblk default lsblk default
NAME : 这是块设备名。 MAJ:MIN : 本栏显示主要和次要设备号。 RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。 SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。 RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。 TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。(LCTT译注,此处sr0的RO项没有标记为1,可能存在一些错误?) MOUNTPOINT : 本栏指出设备挂载的挂载点。
すべてのデバイスをリストします:
デフォルトのオプションでは、空のデバイスがすべてリストされるわけではありません。これらの空のデバイスを表示するには、次のコマンドを使用します。$ lsblk -a
デバイスの権限と所有者のリスト:
lsblk コマンドも使用できます所有権のリスト特定のデバイスのグループとモードも一覧表示できます。この情報は、次のコマンドで取得できます。$ lsblk -m lsblk permissions lsblk permissions
指定したデバイスの一覧を表示します。
このコマンドは、指定したデバイスの情報のみを取得することもできます。これは、lsblk コマンドに指定されたオプションの後にデバイス名を指定することによって実現されます。たとえば、ディスク ドライブのサイズをバイト単位で知りたい場合は、次のコマンドを実行して確認できます:$ lsblk -b /dev/sda
$ lsblk --bytes /dev/sda
リスト形式でヘッドなしデバイスをリストします:
いくつかのオプションを組み合わせて特定の出力を取得することもできます。たとえば、デフォルトのツリー形式ではなくリスト形式でデバイスを一覧表示したい場合があります。別の列名のヘッダーを削除することもできます。次のコマンドで 2 つの異なるオプションを組み合わせて、目的の出力を取得できます。$ lsblk -nl
$ lsblk --noheadings --list lsblk no header and list lsblk no header and list
SCSI デバイスのリスト:
SCSI デバイスのリストを取得するには、-S オプションのみを使用できます。このオプションは大文字の S であり、依存関係を逆の順序で出力する -s オプションと混同しないでください。$ lsblk -S
$ lsblk -s
$ lsblk --inverse
以上がLinux にはブロック デバイス以外にどのようなデバイスがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。