如何修改 /dev 内容

如何修改 /dev 内容

当我对 /dev; 执行 ls 时,我得到以下输出

loop5               sda       tty24  tty58      ttyS4
..               loop6               sda1      tty25  tty59      ttyS5
alarm            loop7               sda2      tty26  tty6       ttyS6
ashmem           loop-control        sda3      tty27  tty60      ttyS7
autofs           mapper              sda4      tty28  tty61      ttyS8
binder           mcelog              sda5      tty29  tty62      ttyS9
block            mem                 sda6      tty3   tty63      ttyUSB0
bsg              net                 sdb       tty30  tty7       ttyUSB1
btrfs-control    network_latency     serial    tty31  tty8       ttyUSB2
bus              network_throughput  sg0       tty32  tty9       ttyUSB3
cdrom            null                sg1       tty33  ttyprintk  ttyUSB4
cdrw             oldmem              sg2       tty34  ttyS0      .udev
char             port                shm       tty35  ttyS1      uinput
console          ppp                 snapshot  tty36  ttyS10     urandom
core             psaux               snd       tty37  ttyS11     v4l
cpu              ptmx                sr0       tty38  ttyS12     vcs
cpu_dma_latency  pts                 stderr    tty39  ttyS13     vcs1
disk             ram0                stdin     tty4   ttyS14     vcs2
dri              ram1                stdout    tty40  ttyS15     vcs3
dvd              ram10               tty       tty41  ttyS16     vcs4
dvdrw            ram11               tty0      tty42  ttyS17     vcs5
ecryptfs         ram12               tty1      tty43  ttyS18     vcs6
fb0              ram13               tty10     tty44  ttyS19     vcsa
fd               ram14               tty11     tty45  ttyS2      vcsa1
full             ram15               tty12     tty46  ttyS20     vcsa2
fuse             ram2                tty13     tty47  ttyS21     vcsa3
fw0              ram3                tty14     tty48  ttyS22     vcsa4
hpet             ram4                tty15     tty49  ttyS23     vcsa5
.initramfs       ram5                tty16     tty5   ttyS24     vcsa6
input            ram6                tty17     tty50  ttyS25     vga_arbiter
kmsg             ram7                tty18     tty51  ttyS26     vhost-net
log              ram8                tty19     tty52  ttyS27     video0
loop0            ram9                tty2      tty53  ttyS28     zero
loop1            random              tty20     tty54  ttyS29
loop2            rfkill              tty21     tty55  ttyS3
loop3            rtc                 tty22     tty56  ttyS30
loop4            rtc0                tty23     tty57  ttyS31

我想了解此处列出的条目的含义。是否有手册可以帮助我理解这一点?

答案1

简而言之:所有都是设备条目。因此写入这些项的任何内容都将(应该)有相应的硬件对其采取行动。


较长的复制/粘贴内容,包含大量示例:

/dev 目录包含所有设备的特殊设备文件。设备文件在安装期间创建,稍后使用 /dev/MAKEDEV 脚本创建。/dev/MAKEDEV.local 是由系统管理员编写的脚本,用于创建仅限本地的设备文件或链接(即不属于标准 MAKEDEV 的文件或链接,例如某些非标准设备驱动程序的设备文件)。

以下列表并非详尽无遗,也并非尽可能详细。许多设备文件需要编译到内核中才能支持硬件。请阅读内核文档以查找任何特定设备的详细信息。

  • /dev/dsp

数字信号处理器。基本上,它构成了产生声音的软件和声卡之间的接口。它是主节点 14 和次节点 3 上的字符设备。

  • /dev/fd0

第一个软盘驱动器。如果您有幸拥有多个驱动器,那么它们将按顺序编号。它是主节点 2 和次节点 0 上的字符设备。

  • /dev/fb0

第一个帧缓冲区设备。帧缓冲区是软件和图形硬件之间的抽象层。这意味着应用程序不需要知道您拥有哪种硬件,而只需知道如何与帧缓冲区驱动程序的 API(应用程序编程接口)进行通信,该 API 定义明确且标准化。帧缓冲区是一个字符设备,位于主节点 29 和次节点 0 上。

  • /dev/hda

/dev/hda 是主 IDE 控制器上的主 IDE 驱动器。 /dev/hdb 是主控制器上的从属驱动器。 /dev/hdc 和 /dev/hdd 分别是辅控制器上的主设备和从属设备。 每个磁盘被分成多个分区。分区 1-4 是主分区,分区 5 及以上是扩展分区内的逻辑分区。因此,引用每个分区的设备文件由几部分组成。例如 /dev/hdc9 引用辅 IDE 控制器上主 IDE 驱动器上的分区 9(扩展分区类型内的逻辑分区)。 主节点号和次节点号有些复杂。对于第一个 IDE 控制器,所有分区都是主节点 3 上的块设备。主驱动器 hda 的次节点号为 0,从属驱动器 hdb 的次节点号为 64。对于驱动器内的每个分区,将分区号添加到驱动器的次节点号上。例如 /dev/hdb5 的主节点号为 3,次节点号为 69(64 + 5 = 69)。辅助接口上的驱动器以相同的方式处理,但主节点为 22。

  • /dev/ht0

第一个 IDE 磁带驱动器。后续驱动器编号为 ht1 等。它们是主节点 37 上的字符设备,从次节点 0(对于 ht0)开始,从次节点 1(对于 ht1)开始,等等。

  • /dev/js0

第一个模拟操纵杆。后续操纵杆编号为 js1、js2 等。数字操纵杆称为 djs0、djs1 等。它们是主节点 15 上的字符设备。模拟操纵杆从次节点 0 开始,

  • /dev/lp0

第一台并行打印机设备。后续打印机编号为 lp1、lp2 等。它们是主模式为 6 且次模式为 0 的字符设备,按顺序编号。

  • /dev/loop0

第一个回送设备。回送设备用于安装不位于其他块设备(如磁盘)上的文件系统。例如,如果您希望安装 iso9660 CD ROM 映像而不将其刻录到 CD,则需要使用回送设备来执行此操作。这通常对用户是透明的,并由 mount 命令处理。请参阅 mount 和 losetup 的手册页。回送设备是主节点 7 上的块设备,次节点从 0 开始并按顺序编号。

  • /dev/md0

第一个元磁盘组。元磁盘与 RAID(独立磁盘冗余阵列)设备相关。有关详细信息,请参阅 LDP 上最新的 RAID HOWTO。可在以下位置找到http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html。元磁盘设备是主节点 9 上的块设备,次节点从 0 开始按顺序编号。

  • /dev/mixer

这是 OSS(开放声音系统)驱动程序的一部分。请参阅 OSS 文档http://www.opensound.com了解更多详情。它是主节点 14、次节点 0 上的字符设备。

  • /dev/null

位桶。一个黑洞,您可以将数据发送到该黑洞,但这些数据永远不会再出现。发送到 /dev/null 的任何东西都会消失。例如,如果您希望运行命令但不希望终端上出现任何反馈,那么这很有用。它是主节点 1 和次节点 3 上的字符设备。

  • /dev/psaux

PS/2 鼠标端口。这是主节点 10、次节点 1 上的字符设备。

  • /dev/pda

并行端口 IDE 磁盘。这些磁盘的命名与内部 IDE 控制器 (/dev/hd* ) 上的磁盘类似。它们是主节点 45 上的块设备。这里需要稍微多解释一下次节点。第一个设备是 /dev/pda,它位于次节点 0 上。通过将分区号添加到设备的次编号可以找到此设备上的分区。每个设备限制为 15 个分区,而不是 63 个(内部 IDE 磁盘的限制)。/dev/pdb 次节点从 16 开始,/dev/pdc 从 32 开始,/dev/pdd 从 48 开始。因此,例如 /dev/pdc6 的次节点号将是 38(32 + 6 = 38)。此方案将您限制为 4 个并行磁盘,每个磁盘有 15 个分区。

  • /dev/pcd0

并行端口 CD ROM 驱动器。这些驱动器从 0 开始编号。所有驱动器都是主节点 46 上的块设备。/dev/pcd0 位于次节点 0 上,后续驱动器位于次节点 1、2、3 等上。

  • /dev/pt0

并行端口磁带设备。磁带没有分区,因此只是按顺序编号。它们是主节点 96 上的字符设备。次节点编号从 0 开始(对于 /dev/pt0 ),从 1 开始(对于 /dev/pt1 ),依此类推。

  • /dev/parport0

原始并行端口。连接到并行端口的大多数设备都有自己的驱动程序。这是一个直接访问端口的设备。它是主节点 99 上的字符设备,次节点为 0。第一个设备之后的后续设备按次节点顺序递增编号。

  • /dev/random 或 /dev/urandom

这些是内核随机数生成器。 /dev/random 是一个非确定性生成器,这意味着无法根据前面的数字猜出下一个数字的值。它使用系统硬件的熵来生成数字。当没有更多熵可用时,它必须等到收集到更多熵后才允许从中读取更多数字。 /dev/urandom 的工作原理类似。最初它也使用系统硬件的熵,但是当没有更多熵可用时,它将继续使用伪随机数生成公式返回数字。对于加密密钥对生成等重要目的,这被认为不太安全。如果您最关心的是安全性,那么使用 /dev/random ,如果速度更重要,那么 /dev/urandom 也可以。它们是主节点 1 上的字符设备,次节点 8 用于 /dev/random , 9 用于 /dev/urandom 。

  • /dev/sda

第一个 SCSI 总线上的第一个 SCSI 驱动器。以下驱动器的命名与 IDE 驱动器类似。/dev/sdb 是第二个 SCSI 驱动器,/dev/sdc 是第三个 SCSI 驱动器,依此类推。

  • /dev/shm/

默认情况下,Ubuntu 将 ramdisk 挂载到 /dev/shm/ 目录中,因此您只需将文件复制/移动到该目录中,并确保它们存储在 RAM 内存中。当输入和输出文件都存储在 ramdisk 中时,这对于视频转换非常有用 — 由此产生的性能将更好,因为 RAM 的读写速度比 HDD 或任何其他存储都要快。这是因为 CPU 无法直接访问 HDD,而可以通过 RAM 访问。

  • /dev/ttyS0

第一个串行端口。很多时候,它是用于将外部调制解调器连接到系统的端口。

  • /dev/vcs /dev/vcsa

虚拟控制台内存。/dev/vcs0 是字符设备,主编号为 7,次编号为 0,通常模式为 0644,所有者为 root.tty。它指的是当前显示的虚拟控制台终端的内存。/dev/vcs[1-63] 是虚拟控制台终端的字符设备,主编号为 7,次编号为 1 到 63,通常模式为 0644,所有者为 root.tty。/dev/vcsa[0-63] 相同,但使用包含属性的无符号短整型(按主机字节顺序),并以四个字节作为前缀,给出屏幕尺寸和光标位置:行、列、x、y。(x = y = 0,位于屏幕左上角。)

  • /dev/零

这是获取许多 0 的简单方法。每次从此设备读取时,它都会返回 0。这有时很有用,例如当您想要一个固定长度的文件但并不真正关心它包含什么时。它是主节点 1 和次节点 5 上的字符设备。


  • 虽然这不是完整的列表,但它显示了这些项目的要点。
  • 其中很大一部分来自:linux.about.com。其他的用 google ;)

相关内容