操作系统

Linux系统调用设备的ioctl函数

时间:2024-10-20 02:47:01 操作系统 我要投稿
  • 相关推荐

Linux系统调用设备的ioctl函数

  在命令行调用设备的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

  [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系统调用设备的ioctl函数】相关文章:

PHP怎么执行Linux系统命令函数11-26

java构造函数调用技巧03-27

java调用c函数的实例04-03

C语言函数的递归调用03-19

Linux系统中怎么挂载外界设备03-06

系统调用的概念简介02-26

C++调用C函数的方法11-15

C++如何调用matlab函数06-29

C语言函数的递归和调用11-28