linux 单用户模式 挂载u盘_linux的设备文件/dev

说实话,对linux的设备命名管理不是很赞同。我用minicom时,开始插入串口是ttyS0,有时拔出再插入又变成ttyS1,再一次又会变成ttyS2,所以不得不每次先查看/dev的名字,再设定minicom链接哪一个。还有比如我写的usb传输程序打开的是/dev/usb0,但到了别人机子上又要改成/dev/usb1。

我想难道没有更好的方法吗?虽然udev比以前的devfs先进了不少,但有时还是有些缺憾。

不过这也不是什么大问题,让使用者运行程序前先选择一下设备文件就OK了,或者当作参数传递给应用程序。我想插入vfat格式的U盘后自动挂载就是这样做的吧。

下面是一些设备的命名:

设备管理是linux中比较基础的东西,但是由于Linux智能程度的越来越高,Udev的使用越来越广泛,使得越来越多的Linux新用户对 /dev 目录下的东西变得不再熟悉。有时候遇见问题就会变得抓狂。

Linux

中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设

备是同类设备(使用同一个驱动程序)。这些设备中,有些设备是对实际存在的物理硬件的抽象,而有些设备则是内核自身提供的功能(不依赖于特定的物理硬件,

又称为"虚拟设备")。每个设备在 /dev 目录下都有一个对应的文件(节点)。可以通过 cat /proc/devices

命令查看当前已经加载的设备驱动程序的主设备号。内核能够识别的所有设备都记录在原码树下的 Documentation/devices.txt

文件中。在 /dev 目录下除了字符设备和块设备节点之外还通常还会存在:FIFO管道、Socket、软/硬连接、目录。这些东西没有主/次设备号。

设备文件

Linux内核所能识别的所有设备都记录在

http://www.lanana.org/docs/device-list/

而内核原码树中的 Documentation/devices.txt 可能不是最新版本。

了解这些设备的最基本要求就是对每个设备文件的含义了如指掌,下面列出常见的设备文件以及相应的含义(比较偏僻的就省略了)。

----------------------------------------------------------------------

主设备号 设备类型

次设备号=文件名 简要说明

----------------------------------------------------------------------

0未命名设备(例如:挂载的非设备)

0 = 为空设备号保留

1 char内存设备

1 = /dev/mem直接存取物理内存

2 = /dev/kmem存取经过内核虚拟之后的内存

3 = /dev/null空设备。任何写入都将被直接丢弃,任何读取都将得到EOF。

4 = /dev/port存取 I/O 端口

5 = /dev/zero零字节源,只能读取到无限多的零字节。

7 = /dev/full满设备。任何写入都将失败,并把errno设为ENOSPC以表示没有剩余空间。

8 = /dev/random随机数发生器。完全由用户的输入来产生随机数。

如果用户停止所有动作,则停止产生新的随机数。

9 = /dev/urandom更快,但是不够安全的随机数发生器。尽可能由用户的输入来产生随机数,

如果用户停止所有动作,则把已经产生的随机数做为种子来产生新的随机数。

10 = /dev/aio异步 I/O 通知接口

11 = /dev/kmsg任何对该文件的写入都将作为 printk 的输出

1 blockRAM disk

0 = /dev/ram0第1个 RAM disk (initrd只能使用ram0)

1 = /dev/ram1第2个 RAM disk

...

200 = /dev/ram200第200个 RAM disk

4 charTTY(终端)设备

0 = /dev/tty0当前虚拟控制台

1 = /dev/tty1第1个虚拟控制台

...

63 = /dev/tty63第63个虚拟控制台

4 block如果根文件系统以是以只读方式挂载的,那么就不可能创建真正的设备节点,

此时就使用该设备作为动态分配的主(major)设备的别名

0 = /dev/root

5 char其他 TTY 设备

0 = /dev/tty当前 TTY 设备

1 = /dev/console系统控制台(一般是/dev/tty0)

2 = /dev/ptmx所有 PTY master 的复用器

7 char虚拟控制台捕

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值