技术源于努力
努力实现梦想

linux下的设备文件详解 linux入门

在linux下所有的设备都是以文件的形式展现出来的,包括内核中正在运行的线程进程等,都是通过目录文件映射进行展示出来的

linux下的设备根据类型不同分为:字符设备、块设备、网络设备

块设备:按块为单位,随机访问的设备,是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。 
字符设备:按字符为单位,线性设备,也就是有数据先后顺序的,只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的字符设备有鼠标、键盘、串口、控制台和LED设备等。

设备的主要目的是作为设备的访问接口的,这个是直接被内核所识别的,如果我们插入一个设备被内核识别成设备号为66 0的话,那么我们写入这个设备文件的数据就会保存到我们插入的设备了。

而所有的设备都是以文件的形式展现的,如果现在有多个终端登陆到linux操作系统,那么先使用w查看当前在线的人员,然后使用:就可以给对应的终端发送信息了

echo "你想要发送的内容" > /dev/pts/#     #表示通过w查出来的终端号

效果是:

向设备直接发送文件,这是一个很危险的操作,如果直接给硬盘发送内容,会直接覆盖硬盘上的数据,会造成分区表损害的情况

设备是系统通过识别主次设备号来识别的:

主设备号(major number),用于标示设备类型

次设备号(minor number),用于标示同一种类型中的不同设备

设备文件都是不占用磁盘空间的,所以也就没有大小信息了,linux中是按照主设备号和次设备号进行设备的记录在设备文件的Inode中的。

Mknod :make inode创建块或者字符特殊文件,创建一个目录项或者特殊文件的对应索引节点。

	格式:mknod [OPTION]... NAME TYPE [MAJOR MINOR]
	-m MODE:在创建设备文件的时候就指定文件的权限
	Eg:mknod –m 640 mydev c 66 0
	-Z:设置安全上下文

硬盘设备的设备文件名:
	IDE,ATA:都以hd开头
	STAT:sd
	SCSI:sd
	USB:sd
		a ,b ,c ….来区别同一种类型下的不同设备。

	IDE:
		第一个IDE口:主盘hda、从盘hdb
		第二个IDE口:主盘hdc、从盘hdd
	Had:
		Had[1-4]:主分区
		Had[5…]:逻辑分区,基本主分区没有用完编号,逻辑分区还是从5开始

查看系统识别了多少的硬盘:
>fdisk –l 所有已经识别的设备
>fdisk –l /dev/sda 显示sda上的设备情况

赞(0) 感谢小主打赏
未经允许不得转载:新域软件科技 » linux下的设备文件详解
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏