MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

Linux系统dev和proc目录详解

2025-04-26 18:43 huorong 精选文章 1 ℃ 0 评论

简介:Linux 系统里的 /dev 和 /proc 目录那可是相当重要的系统文件。在 Linux 系统中,/dev 目录专门用来存放设备文件。不光有设备文件,系统里还有好多特殊功能也是通过设备的形式展现出来的。设备文件挺特别,其实就是驱动程序的接口。再说 /proc 目录,它属于一种文件系统,叫 proc 文件系统。和其他常见的文件系统不一样,/proc 是个虚拟文件系统,存的是当前内核运行状况的一堆特殊文件。通过这些文件,能查看有关系统硬件以及正在运行进程的详细情况,甚至能改改某些文件来改变内核的运行状态。

这篇文章会详细讲讲 Linux 系统里的 /dev 和 /proc 这两个目录的相关信息,具体内容请看下面。

一、访问Linux系统

1.访问Linux系统

2.Linux系统真实与虚拟的两个目录

二、Proc目录

Proc目录是什么

说明:/proc目录中包含许多以数字命名的子目录,这些数字就是系统当前正在运行各个进程的进程号PID,这些子目录里面包含对应进程相关的多个信息文件,在某进程结束后其相关目录则会消失。

执行指令# ls /proc 查看进程目录里头的详细信息

1.执行指令# cat /proc/cpuinfo查看cpu信息

2.执行指令# cat /proc/meminfo 查看内存信息

3.执行指令# cat /proc/devices 查看已经加载的字符设备和块设备的相关信息

三、Dev目录

Dev目录是什么

说明:在Linux系统中,一切皆文件贯彻其中。

备注:对于/dev目录中的设备文件来说,文件名和路径其实都不重要,最重要的使其主设备号和辅助设备号。

1.查看主设备号和辅助设备号

执行指令# ls -al /dev/sda 查看sda磁盘主设备号和辅助设备号

备注:用ls -la命令显示出来的原本应该出现在文件大小位置上的两个数字,比如上面命令显示的8和0。其中8是主设备号,0是辅助设备号。主设备号对应了这种设备所使用的驱动,而辅助设备号则表示使用同一种驱动的设备编号。

如果使用mknod命令创建设备文件,只要主设备号和辅助设备号一样,那么这些设备文件就是一样的。

比如执行指令# mknod mydisk b 8 0

备注:这样我们就创建了一个设备文件mydisk,实际上跟/dev/sda是同一个设备,因为两者对应的设备驱动和编号都一样。所以这个设备实际上是跟sda相同功能的设备。

2./dev中几个重要的子目录

(1) /dev/null:黑洞文件,无限数据接收设备,可以重定向如何输出。

说明:/dev/null是空设备文件,也称为黑洞(black hole)或者位桶(bit bucket)。可以向其输入任何数据,但任何写入的数据都会被抛弃,通常用于处理不需要的输出流,或者作为空的输入流。

使用实例

执行指令# find /usr/local/tmp -name access_log 2>/dev/null

备注:上述find命令意为在/usr/local/tmp目录下查找名为access_log的文件,并且错误输出不会显示出来(文件描述符2被重定向到/dev/null),意思就是把错误输出到“黑洞”。

(2) /dev/zero:0发生器。可以产生二进制的0,产生多少根使用时间长度有关,经常用这个文件来产生大文件进行某些测试。

说明:/dev/zero 该设备无穷尽地提供空字符(ASCII NUL, 0x00),可以使用任何你需要的数目。通常用于向设备或文件写入字符0,用于初始化数据存储或者作为输出流的接受容器。

使用实例

执行指令# dd if=/dev/zero of=~/test.txt bs=1k count=1

备注:上述命令的意思为产生1KB大小的文件~/text.txt。

执行指令# dd if=/dev/zero of=/usr/local/temp/test.sh bs=1M count=6

备注:上述命令使用 /dev/zero 来清除文件的内容,可以覆盖一个文件,使其仅包含零字节,不过会保留文件的权限和其他属性。

(3) /dev/urandom和/dev/random:随机数文件,两个设备文件可以用来获取系统的随机数。

使用实例

比如:怎么获取/dev/urandom和/dev/random中的值

执行指令# dd if=/dev/random >/dev/null bs=1M count=1

执行指令# dd if=/dev/urandom >/dev/null bs=1M count=1

备注:通过上述命令可以看见/dev/urandom生成随机数的速度要快很多,一般就使用/dev/urandom获取随机数。

比如:使用/dev/urandom生成固定位数的随机数

执行指令# head /dev/urandom | tr -dc 0-9 | head -c 32

备注:上述指令随机生成32为纯数字的随机数。

执行指令# head /dev/urandom | tr -dc a-z0-9 | head -c 32

备注:上述指令随机生成32为的小写字母+数字的随机数。

执行指令# head /dev/urandom | tr -dc A-Za-z0-9 | head -c 64

备注:上述指令随机生成64位的大小写字母+数字的随机数。

Tags:linux创建目录

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言