一,linux的目录结构
- /bin:所有用户都可以使用的可执行程序
- /sbin:系统管理员使用的可执行程序
- /boot:引导加载器必须用到的静态文件:kernel,initramfs,grub等。
- /dev:设备文件和特殊文件(虚拟设备等)。设备有2种
- 字符设备(线性设备,有顺序依次处理):逐个字符处理。比如,显示器,键盘等
- 块设备(随机设备,无顺序跳跃处理):多个字符一起处理。比如,硬盘等
- /etc:进程的配置文件。必须是文本文件。它下面必须有以下4个目录
- opt:Configuration for /opt
- X11:Configuration for the X Window system(optional)
- sgml:Configuration for SGML(optional)
- xml:Configuration for XML(optional)
- /home:用户使用的家目录的集中位置。
- /root:管理员的家目录。
- /lib:为系统启动或者/bin和/sbin目录下的可执行程序提供共享库,以及为内核提供内核模块。
- libc.so.*:动态链接的C库。
- ld*:运行时的链接器/加载器
- /lib/modules目录:用于存放内核模块的目录。
- /lib64:64系统的动态库文件
- /media:便携式设备挂载点,比如cdrom,软盘,u盘等
- /mnt:其他文件系统的临时挂载点。
- /opt:Add-on application software packages。第三方程序的安装目录。
- /srv:当前主机为服务提供的数据,一般不使用。
- /tmp:为那些会产生临时文件的进程,提供用于存储临时文件的目录。可供所有用户提供写入操作。
- /usr:全局共享的只读数据路径。
- /bin,/sbin
- /lib,/lib4
- /include:c的头文件
- /share:命令手册和自带文档
- /local:第三方的安装程序的存放目录。让系统管理人员安装新版本的程序,并保留老版本的程序。
- /src:程序源码文件
- /var:数据经常发生的目录。比如日志。
- /cache:application cache data
- /lib:variable state information
- /local:variable data for /usr/local
- /lock:Lock files
- /log:Log files and directories
- /opt:variable data for /opt
- /run:data relevant to running processes
- spool:application spool data
- tmp:temporary files preserved between system reboots
- /proc:基于内存的虚拟文件系统。内核是有属性信息(版本号等)的,那么如何查看,正在运行中的内核的属性信息呢?内核把它的属性信息抽象成filesystem。比如内核属性:
net.ipv4.ip_forward
,抽象成了/proc/sys/net/ipv4/ip_forward文件,这个文件里的内容就是此属性的值。进程和内核一样,也把自己的属性信息,抽象成了filesystem。符合Linux里,一切都是文件的理念。 - /sys:sysfs虚拟文件系统提供了比/proc更好的访问内核属性数据的途径,其主要作用:为管理linux设备提供了统一的接口。以后有可能取代/opt。从2.6内核开始才有此目录。
# ls /sys block class devices fs kernel power bus dev firmware hypervisor module
二,文件类型
ls -l后,
# ls -lrt /dev
total 0
drwxrwxrwt. 2 root root 40 Dec 14 18:26 shm
lrwxrwxrwx. 1 root root 15 Dec 14 18:26 stdout -> /proc/self/fd/1
crw-------. 1 root root 10, 239 Dec 14 18:26 uhid
brw-rw----+ 1 root cdrom 11, 0 Dec 14 18:26 sr0
drwxr-xr-x. 3 root root 60 Dec 14 18:26 bus
ls -lrt /dev
的输出结果中的第一个数字10:major number:主设备号,用于标识设备类型的,进而确定要加载的驱动程序。ls -lrt /dev
的输出结果中的第二个数字239:minor number:次设备号,用于标识同一类型中的不同设备。- -:常规文件
- d:目录
- b:block device,块设备文件,可以以block单位,进行随机访问
- c:character device,字符设备文件,以字符为单位,进行线性访问
- l:symolic link,符号链接,软链接文件
- p:pipe,有名字的管道文件
- s:socket,套接字文件,用于本地进程间通信
ps:用file
命令可以查看文件的类型。
c/c++ 学习互助QQ群:877684253
本人微信:xiaoshitou5854
原文地址:https://www.cnblogs.com/xiaoshiwang/p/12041828.html
时间: 2024-10-13 15:30:36