Linux デバイスには 3 つのタイプがあります: 1. キャラクタ デバイス: バイト ストリームのようにアクセスできるデバイス. キャラクタ デバイスに読み取りまたは書き込みリクエストが発行されると、対応する IO 操作が発生します。キャラクター端末が一般的、シリアルポート、キーボード、マウスなど2. ブロック デバイスとは、TO 操作を実行するときにブロック単位でアクセスする必要があるデバイスで、一般的に使用されるデバイスには、ハードディスク、フロッピー ドライブなどが含まれます。 3. ネットワーク機器は、ネットワーク サブシステムによって駆動され、データ パケットの送受信を担当します。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
Linux デバイスまたは Linux ベースのデバイスは、Linux カーネルと、場合によっては一部の GNU オペレーティング システムを使用するコンピューター デバイスです。
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
7 つの列名は次のとおりです:
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 bytes sda
lsblk bytes sda
デバイスの権限と所有者のリスト:
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 は SCSI デバイスをリストし、-s は逆順オプション (LCTT アノテーション: 表示するデバイスとパーティションの構成関係を逆にする) で、次の出力が得られます。コマンドを入力します:
$ lsblk -s
または
$ lsblk --inverse
lsblk を使用してブロック デバイスに関する詳細情報を取得できます。自分で表示してみてください。
関連する推奨事項 :Linuxビデオチュートリアル>>
以上がLinux デバイスにはどのような種類がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。