linuxblockdev命令工具介绍

韵味老鸟 2024-08-21 14:56:36
linux blockdev 命令工具介绍

blockdev命令是Linux系统中一个重要的工具,用于管理和控制块设备。它允许用户通过命令行直接调用块设备的ioctl接口,以获取和设置设备的各种属性。

一:功能

基本功能

blockdev命令的主要功能包括:

获取块设备信息:可以查询块设备的大小、扇区大小、只读状态等。设置设备属性:支持将设备设置为只读或可读写,调整预读大小等。

二:命令

root@meng:~# blockdev

blockdev: not enough arguments

Try 'blockdev --help' for more information.

root@meng:~# blockdev --help

Usage:

blockdev [-v|-q] commands devices

blockdev --report [devices]

blockdev -h|-V

Call block device ioctls from the command line.

Options:

-q quiet mode

-v verbose mode

--report print report for specified (or all) devices

-h, --help display this help

-V, --version display version

Available commands:

--getsz get size in 512-byte sectors

--setro set read-only

--setrw set read-write

--getro get read-only

--getdiscardzeroes get discard zeroes support status

--getss get logical block (sector) size

--getpbsz get physical block (sector) size

--getiomin get minimum I/O size

--getioopt get optimal I/O size

--getalignoff get alignment offset in bytes

--getmaxsect get max sectors per request

--getbsz get blocksize

--setbsz <bytes> set blocksize on file descriptor opening the block device

--getsize get 32-bit sector count (deprecated, use --getsz)

--getsize64 get size in bytes

--setra <sectors> set readahead

--getra get readahead

--setfra <sectors> set filesystem readahead

--getfra get filesystem readahead

--flushbufs flush buffers

--rereadpt reread partition table

For more details see blockdev(8).

命令的基本语法为:

text

blockdev [选项] [命令] [设备]

常用选项-V:输出程序版本并退出。-q:安静模式,不输出提示信息。-v:详细模式,输出执行过程中的提示信息。--setro:设置设备为只读。--setrw:设置设备为可读写。--getro:获取设备的只读状态(返回1表示只读,0表示可读写)。--getss:获取逻辑扇区大小,通常为512字节。--flushbufs:刷新缓存。--rereadpt:重新读取分区表。

三:案例

root@meng:~# lsblk

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS

loop0 7:0 0 63.9M 1 loop /snap/core20/2264

loop1 7:1 0 63.9M 1 loop /snap/core20/2318

loop3 7:3 0 87M 1 loop /snap/lxd/28373

loop4 7:4 0 38.7M 1 loop /snap/snapd/21465

loop5 7:5 0 38.8M 1 loop /snap/snapd/21759

loop6 7:6 0 87M 1 loop /snap/lxd/29351

sda 8:0 0 35G 0 disk

├─sda1 8:1 0 1M 0 part

├─sda2 8:2 0 2G 0 part /boot

└─sda3 8:3 0 33G 0 part

└─ubuntu--vg-ubuntu--lv 253:0 0 33G 0 lvm /

sr0 11:0 1 1024M 0 rom

root@meng:~# blockdev --getro /dev/sda1

0

root@meng:~# blockdev --getro /dev/sda2

0

root@meng:~# blockdev --getss /dev/sda2

512

root@meng:~# blockdev --getss /dev/sda3

512

root@meng:~#

0 阅读:4