blockdev命令 blkid命令 lsblk命令
http://www.jb51.net/LINUXjishu/310389.html
block相关的命令
这篇文章主要介绍了Linux blockdev命令设置文件预读大小介绍,blockdev 工具允许从命令行调用区块设备控制程序,本文就讲解了它的使用实例,需要的朋友可以参考下
在命令行调用设备的ioctl函数。在Linux系统中,似乎对设备的直接操作只有ioctl函数了。他接受的参数不是太多,而且都是一一对应的。
blockdev - 从命令行调用区块设备控制程序
blockdev [options] commands devices
blockdev 工具允许从命令行调用区块设备控制程序。
--getra 读取预读值
--getfra 读取文件系统预读
--setfra FSREADAHEAD 设置文件系统预读
--setra READAHEAD 设置设备预读
--getra 读取设备的预读值
--setbsz BLOCKSIZE 在文件描述符打开块设备的时候设置块大小
--getioopt 读取设备优化IO大小
--getiomin 读取设备最小IO大小
-–setro 设置设备为只读
-–getro 读取设备是否为只读(成功为1,0则为可读写)
-–setrw 设置设别为可读写
-–getss 打印设备的扇区大小也叫逻辑块大小,通常是512
--getpbsz 读取设备物理块大小,通常是4096
--getbsz 读取设备块大小,通常是4096
-–getsize(-getsz) 打印设备的容量,按照一个扇区512个字节计算
--getsize64 打印设备的容量,以字节为单位显示
-–setra N 设置预读扇区(512字节)为N个.Set readahead to N 512-byte sectors.
-–getra 打印readahead(预读扇区)
-–flushbufs 刷新缓冲
-–rereadpt 重读分区表。
觉得–setro,setrw比较有用,这个mount -o ro(rw)是有区别的,mount是在文件系统这个级别上对某个分区挂载为只读或可读写。而blockdev则是在设别这个级别上设置为只读和可读写。
看下面的命令输出结果就一目了然了。
[root@lancy ~]# blockdev –setro /dev/hda4
[root@lancy ~]# blockdev –getro /dev/hda4
1
[root@lancy ~]# mount /dev/hda4 /misc -o rw
mount: block device /dev/hda4 is write-protected, mounting read-only
[root@lancy ~]# umount /dev/hda4
[root@lancy ~]# blockdev –setrw /dev/hda4
[root@lancy ~]# blockdev –getro /dev/hda4
0
[root@lancy ~]# mount /dev/hda4 /misc -o rw
[root@lancy ~]# touch /misc/one
[root@lancy ~]# umount /dev/hda4
[root@lancy ~]# mount /dev/hda4 /misc -o ro
[root@lancy ~]# rm -f /misc/one
rm: 无法删除‘/misc/one’: 只读文件系统
刷新buffer
free -m
total used free shared buffers cached
Mem: 15907 15665 242 0 158 4702
-/+ buffers/cache: 10803 5104
Swap: 7999 0 7999
# blockdev --flushbufs /dev/sda5
# free -m
total used free shared buffers cached
Mem: 15907 15536 371 0 31 4702
-/+ buffers/cache: 10802 5105
Swap: 7999 0 7999
tune2fs命令
查看文件系统信息
tune2fs -l /dev/sda5
tune2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: /data
Filesystem UUID: 35389d47-d4ed-406d-a8b8-2c7a69cfa4ce
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 58589184
Block count: 234333952
Reserved block count: 11716697
Free blocks: 226871715
Free inodes: 58589166
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 968
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
RAID stride: 1
Flex block group size: 16
Filesystem created: Tue Jul 26 16:18:18 2016
Last mount time: Wed Aug 3 08:42:19 2016
Last write time: Wed Aug 3 08:42:19 2016
Mount count: 8
Maximum mount count: -1
Last checked: Tue Jul 26 16:18:18 2016
Check interval: 0 (<none>)
Lifetime writes: 14 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
First orphan inode: 38666243
Default directory hash: half_md4
Directory Hash Seed: d4449666-888f-4552-aa4d-eccde1fda9e1
Journal backup: inode blocks
blkid命令
另一个和block有关的命令
blkid
blkid
/dev/vda1: UUID="fb1d72cf-8058-40e6-8b25-58f9759e1cf9" TYPE="ext3"
/dev/vdb1: UUID="0169c89a-fe36-4b3d-b0ef-0d11497aca9e" TYPE="ext4"
/dev/vdc1: UUID="2da0e026-dbd5-4c9c-9b0d-3574a3403b2b" TYPE="swap"
lsblk命令
lsblk把所有磁盘和分区显示出来,uuid也可以显示出来
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 8G 0 disk
└─vda1 252:1 0 8G 0 part /
vdb 252:16 0 10G 0 disk
└─vdb1 252:17 0 9G 0 part /data
vdc 252:32 0 2G 0 disk
└─vdc1 252:33 0 2G 0 part [SWAP]
显示uuid
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
└─vda1 ext3 fb1d72cf-8058-40e6-8b25-58f9759e1cf9 /
vdb
└─vdb1 ext4 0169c89a-fe36-4b3d-b0ef-0d11497aca9e /data
vdc swap lswap 887348e5-e421-470a-b5e5-e6bed3619e3c
└─vdc1 swap 2da0e026-dbd5-4c9c-9b0d-3574a3403b2b [SWAP]
显示所有设备
lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 0 loop
loop1 7:1 0 0 loop
loop2 7:2 0 0 loop
loop3 7:3 0 0 loop
loop4 7:4 0 0 loop
loop5 7:5 0 0 loop
loop6 7:6 0 0 loop
loop7 7:7 0 0 loop
vda 252:0 0 8G 0 disk
└─vda1 252:1 0 8G 0 part /
vdb 252:16 0 10G 0 disk
└─vdb1 252:17 0 9G 0 part /data
vdc 252:32 0 2G 0 disk
└─vdc1 252:33 0 2G 0 part [SWAP]
f