当我为 /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
Run Code Online (Sandbox Code Playgroud)
我想了解此处列出的条目的含义。是否有可用的手册来帮助我理解这一点?
简而言之:所有这些都是设备条目。因此,写入这些项目的任何内容都(应该)具有相应的硬件作用。
更长的复制/粘贴有很多例子:
/dev 目录包含所有设备的特殊设备文件。设备文件是在安装过程中创建的,稍后使用 /dev/MAKEDEV 脚本创建。/dev/MAKEDEV.local 是由系统管理员编写的脚本,用于创建仅本地设备文件或链接(即不属于标准 MAKEDEV 的那些,例如某些非标准设备驱动程序的设备文件)。
下面的列表绝不是详尽的或尽可能详细的。许多这些设备文件需要支持编译到您的内核中以用于硬件。阅读内核文档以查找任何特定设备的详细信息。
数字信号处理器。基本上,这形成了产生声音的软件和声卡之间的接口。它是主节点 14 和次要节点 3 上的字符设备。
第一个软驱。如果您有幸拥有多个驱动器,那么它们将按顺序编号。它是主节点 2 和次要节点 0 上的字符设备。
第一个帧缓冲设备。帧缓冲区是软件和图形硬件之间的抽象层。这意味着应用程序不需要知道您拥有什么样的硬件,而只需要知道如何与定义良好且标准化的帧缓冲驱动程序的 API(应用程序编程接口)进行通信。帧缓冲区是一个字符设备,位于主节点 29 和次要节点 0 上。
/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。
第一个IDE磁带驱动器。后续驱动器编号为 ht1 等。它们是主节点 37 上的字符设备,从次节点 0 开始,用于 ht0 1,用于 ht1 等。
第一个模拟操纵杆。随后的操纵杆编号为 js1 、 js2 等。数字操纵杆称为 djs0 、 djs1 等。它们是主节点 15 上的字符设备。模拟操纵杆从次节点 0 开始,然后
第一个并行打印机设备。后续打印机编号为 lp1 、 lp2 等。它们是主要模式 6 上的字符设备,次要节点从 0 开始并按顺序编号。
第一个环回设备。环回设备用于挂载不位于其他块设备(如磁盘)上的文件系统。例如,如果您希望挂载 ISO9660 CD ROM 映像而不将其刻录到 CD,那么您需要使用环回设备来执行此操作。这通常对用户是透明的,由 mount 命令处理。有关 mount 和 lostup 的信息,请参阅手册页。环回设备是主节点 7 上的块设备,次节点从 0 开始并按顺序编号。
第一个元磁盘组。元磁盘与 RAID(独立磁盘冗余阵列)设备相关。有关详细信息,请参阅 LDP 上最新的 RAID HOWTO。这可以在http://www.tldp.org/HOWTO/Software-RAID-HOWTO.html上找到。元磁盘设备是主节点 9 上的块设备,次节点从 0 开始并按顺序编号。
这是 OSS(开放式声音系统)驱动程序的一部分。有关更多详细信息,请参阅http://www.opensound.com上的 OSS 文档。它是主节点 14、次节点 0 上的字符设备。
位桶。一个黑洞,你可以在那里发送数据,让它永远不会再被看到。发送到 /dev/null 的任何内容都会消失。例如,如果您希望运行命令但终端上没有任何反馈,这会很有用。它是主节点 1 和次节点 3 上的字符设备。
PS/2 鼠标端口。这是主节点 10、次节点 1 上的字符设备。
并口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 个分区。
并口光驱。它们从 0 开始编号。所有都是主节点 46 上的块设备。 /dev/pcd0 位于次节点 0 上,后续驱动器位于次节点 1、2、3 等上。
并口磁带设备。磁带没有分区,因此它们只是按顺序编号。它们是主节点 96 上的字符设备。次节点编号从 0 开始用于 /dev/pt0,从 1 开始用于 /dev/pt1,依此类推。
原始并行端口。大多数连接到并行端口的设备都有自己的驱动程序。这是直接访问端口的设备。它是主节点 99 上的字符设备,次节点为 0。第一个之后的后续设备按顺序编号,次节点递增。
这些是内核随机数生成器。/dev/random 是一个非确定性生成器,这意味着下一个数字的值不能从前面的数字中猜测出来。它使用系统硬件的熵来生成数字。当它没有更多的熵可以使用时,它必须等到它收集到更多的熵,然后才允许从中读取更多的数字。/dev/urandom 的工作原理类似。最初它也使用系统硬件的熵,但是当没有更多的熵可以使用时,它将继续使用伪随机数生成公式返回数字。这被认为对于重要目的(例如生成加密密钥对)来说不太安全。如果安全是您最关心的问题,那么使用 /dev/random ,如果速度更重要,那么 /dev/urandom 工作正常。
第一个 SCSI 总线上的第一个 SCSI 驱动器。以下驱动器的名称类似于 IDE 驱动器。/dev/sdb 是第二个 SCSI 驱动器,/dev/sdc 是第三个 SCSI 驱动器,依此类推。
默认情况下,Ubuntu 已将 ramdisk 安装到 /dev/shm/ 目录中,因此您只需将文件复制/移动到该目录中,并确保它们将存储在 RAM 内存中。例如,当输入和输出文件都存储在 ramdisk 中时,这对于视频转换可能很有用 - 由于 ram 的读取和写入速度高于 hdd 或任何其他存储,因此性能会更好。这是因为 CPU 不能直接访问 HDD,而它可以通过 RAM 访问。
第一个串口。很多时候这是用于将外部调制解调器连接到系统的端口。
虚拟控制台内存。/dev/vcs0 是一个字符设备,主设备号为 7,次设备号为 0,通常模式为 0644,所有者为 root.tty。它是指当前显示的虚拟控制台终端的内存。/dev/vcs[1-63] 是虚拟控制台终端的字符设备,它们的主编号为 7,次编号为 1 到 63,通常为模式 0644 和所有者 root.tty。/dev/vcsa[0-63] 是相同的,但使用包含属性的无符号 shorts(按主机字节顺序),并以四个字节为前缀,给出屏幕尺寸和光标位置:行、列、x、y。(x = y = 0 在屏幕的左上角。)
这是获得许多 0 的简单方法。每次从该设备读取时,它都会返回 0。这有时很有用,例如,当您想要一个固定长度的文件但并不真正关心它包含什么时。它是主节点 1 和次节点 5 上的字符设备。
归档时间: |
|
查看次数: |
729 次 |
最近记录: |