在命令行調(diào)用設(shè)備的ioctl函數(shù)。在Linux系統(tǒng)中,似乎對(duì)設(shè)備的直接操作只有ioctl函數(shù)了。他接受的參數(shù)不是太多,而且都是一一對(duì)應(yīng)的。
blockdev - 從命令行調(diào)用區(qū)塊設(shè)備控制程序
blockdev [options] commands devices
blockdev 工具允許從命令行調(diào)用區(qū)塊設(shè)備控制程序。
–setro 設(shè)置設(shè)備為只讀
–getro 讀取設(shè)備是否為只讀(成功為1,0則為可讀寫(xiě))
–setrw 設(shè)置設(shè)別為可讀寫(xiě)
–getss 打印設(shè)備的扇區(qū)大小,通常是512
–getsize 打印設(shè)別的容量,按照一個(gè)扇區(qū)512個(gè)字節(jié)計(jì)算
–setra N 設(shè)置預(yù)讀扇區(qū)(512字節(jié))為N個(gè).Set readahead to N 512-byte sectors.
–getra 打印readahead(預(yù)讀扇區(qū))
–flushbufs 刷新緩沖
–rereadpt 重讀分區(qū)表。
覺(jué)得–setro,setrw比較有用,這個(gè)mount -o ro(rw)是有區(qū)別的,mount是在文件系統(tǒng)這個(gè)級(jí)別上對(duì)某個(gè)分區(qū)掛載為只讀或可讀寫(xiě)。而blockdev則是在設(shè)別這個(gè)級(jí)別上設(shè)置為只讀和可讀寫(xiě)。
看下面的命令輸出結(jié)果就一目了然了。
代碼如下:
[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: 無(wú)法刪除‘/misc/one’: 只讀文件系統(tǒng)