Linux磁盘管理——设备文件

Posted kelamoyujuzhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux磁盘管理——设备文件相关的知识,希望对你有一定的参考价值。

在Linux环境中,设备文件都在/dev目录下,这些设备文件并不占用磁盘块来存储数据,因此设备文件没有大小,只是在inode表上标识一下元数据。元数据存有设备的设备号。

设备号分为主设备好、次设备号,主设备号表示设备类型。设备文件分块设备文件(b)、字符设备文件(c)。

块设备  按块为单位 随机访问设备

字符设备 以字符为单位 线性访问

b 硬盘

c 键盘

主设备号 major number 用于标识设备类型

次设备号 ninor number  用于标识同一类型的不同设备

块设备

[[email protected] ~]# ll -h /dev/ | grep sd
lrwxrwxrwx.  1 root root           4 Jun  7 17:21 root -> sda2
brw-rw----.  1 root disk      8,   0 Jun  7 17:21 sda
brw-rw----.  1 root disk      8,   1 Jun  7 17:21 sda1
brw-rw----.  1 root disk      8,   2 Jun  7 17:21 sda2
brw-rw----.  1 root disk      8,   3 Jun  7 17:21 sda3
brw-rw----.  1 root disk      8,   4 Jun  7 17:21 sda4
brw-rw----.  1 root disk      8,   5 Jun  7 17:21 sda5
brw-rw----.  1 root disk      8,   6 Jun  7 17:21 sda6

主设备号都是8,0~6标识不同分区

字符设备——虚拟终端

ll -h /dev/ | grep tty[[:digit:]]*$ --color
lrwxrwxrwx.  1 root root           4 Jun  7 17:21 systty -> tty0
crw-rw-rw-.  1 root tty       5,   0 Jun  7 17:21 tty
crw--w----.  1 root tty       4,   0 Jun  7 17:21 tty0
crw-------.  1 root root      4,   1 Jun  7 17:21 tty1
crw--w----.  1 root tty       4,  10 Jun  7 17:21 tty10
crw--w----.  1 root tty       4,  11 Jun  7 17:21 tty11

字符设备——模拟终端

[[email protected] ~]# ll -h /dev/ | grep pts[[:digit:]]*$ --color
drwxr-xr-x.  2 root root           0 Jun  7 17:21 pts

命令who查看当前有多少人链接Linux。我使用XShell链接Linux,XShell开了2个窗口。此时VMWare Workstation中Redhat只是开机还没有登陆。

命令who am i查看我当前用的哪个终端

[[email protected] ~]# who
root     pts/0        2018-06-07 17:22 (192.168.80.1)
root     pts/1        2018-06-07 18:06 (192.168.80.1)
[[email protected] ~]# who am i
root     pts/0        2018-06-07 17:22 (192.168.80.1)

VMWare Workstation中Redhat登陆在执行上诉命令

[[email protected] ~]# who
root     tty1         2018-06-07 18:08
root     pts/0        2018-06-07 17:22 (192.168.80.1)
root     pts/1        2018-06-07 18:06 (192.168.80.1)
[[email protected] ~]# who am i
root     pts/0        2018-06-07 17:22 (192.168.80.1)

创建一个字符设备文件,指定主设备号66,次设备号0

[[email protected] ~]# mknod /dev/zq c 66 0
[[email protected] ~]# ll /dev/zq
crw-r--r--. 1 root root 66, 0 Jun  7 18:12 /dev/zq

实际上环境中设备文件不需要人工创建,只要接上了这个设备,Linux在启动的时候就会自动给设备分配主次设备号。通常不应该给设备直接发送数据,很危险。下面演示给设备文件发消息

技术分享图片

下面介绍一个危险的命令

搞坏磁盘第一个分区

[[email protected] ~]# echo "执行这条命令你的Linux系统在重启后或者关机下次开机后就不能正常启动了">>/dev/sda
[[email protected] ~]# reboot

搞坏整个磁盘

[[email protected] ~]# echo "执行这条命令你的Linux系统在重启后或者关机下次开机后就不能正常启动了">>/dev/sda
[[email protected] ~]# reboot

由于向磁盘sda写数据,直接覆盖了MBR,导致MBR收到破坏。执行完后只要不重启,系统啥事没有。一旦重启系统就再也进不去了。

 

以上是关于Linux磁盘管理——设备文件的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘管理

Linux学习—磁盘管理知识点总结

Linux磁盘存储管理

Linux下:磁盘管理和文件系统管理

linux之磁盘管理,查看识别设备,磁盘的挂载卸载分区配额管理,文件系统

Linux 第14天: (08月25日) Linux磁盘管理