Linux blockdev命令设置文件预读大小介绍
在命令行调用设备的ioctl函数。在Linux系统中,似乎对设备的直接操作只有ioctl函数了。他接受的参数不是太多,而且都是一一对应的。
blockdev - 从命令行调用区块设备控制程序
blockdev [options] commands devices
blockdev 工具允许从命令行调用区块设备控制程序。
setro 设置设备为只读
getro 读取设备是否为只读(成功为1,0则为可读写)
setrw 设置设别为可读写
getss 打印设备的扇区大小,通常是512
getsize 打印设别的容量,按照一个扇区512个字节计算
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: 只读文件系统
linux教程
http://www.linuxprobe.com/