7 FHS文件系统层级标准
7.1 目录内容常用文件/目录功能
常用目录
文件 | 描述 |
---|---|
bin | 基本命令二进制文件 |
boot | 引导加载程序的静态文件 |
dev | 设备文件 |
etc | 特定于主机的系统配置 |
lib | 基本共享库和核心模块 |
media | 可移动介质的安装点 |
mnt | 临时挂载文件系统的挂载点 |
opt | 附加应用程序软件包 |
sbin | 基本系统二进制文件 |
srv | 本系统提供的服务数据 |
tmp | 临时文件 |
usr | 次级层次结构/用户程序相关目录 |
var | 可变数据 |
home | 普通用户 |
root | root用户 |
proc | 进程目录,存放当前进程相关信息 |
sys | 系统目录,存放系统硬件信息的相关文件 |
run | 运行目录,存放系统运作时的runtime数据 |
/etc/
文件 | 描述 |
---|---|
csh.login | 用于C shell登录的系统范围初始化文件 |
exports | NFS文件系统访问控制列表 |
fstab | 关于文件系统的静态信息 |
ftpusers | FTP后台程序用户访问控制列表 |
gateways | 列出路由网关的文件 |
gettydefs | gett使用的速度和终端设置 |
group | 用户组文件 |
host.conf | 解析程序配置文件 |
hosts | 有关主机名的静态信息 |
hosts.allow | TCP包装器的主机访问文件 |
hosts.deny | TCP包装器的主机访问文件 |
hosts.equiv | rlogin、rsh、rcp的受信任主机列表 |
hosts.lpd | lpd的受信任主机列表 |
inetd.conf | inetd的配置文件 |
inittab | init的配置文件 |
issue | 预登录消息和标识文件 |
ld.so.conf | 要搜索共享库的额外目录列表 |
motd | 日文件登录后消息 |
mtab | 关于文件系统的动态信息 |
mtools.conf | mtools的配置文件 |
networks | 有关网络名称的静态信息 |
passwd | 用户信息文件 |
printcap | lpd打印机功能数据库 |
profile | sh shell登录的系统范围初始化文件 |
protocols | IP协议列表 |
resolv.conf | 解析程序配置文件 |
rpc | RPC协议列表 |
shadow | 用户密码信息 |
securetty | 根登录的TTY访问控制 |
services | 网络服务的端口名 |
shells | 有效登录shell的路径名 |
syslog.conf | syslogd的配置文件 |
etc常用配置文件
- 网络配置
/etc/sysconfig/network-scripts/
- 用于设置域名服务器的配置
/etc/resolv.conf
- 主机名称的文件
/etc/hostname
- 用于存放主机名称和 IP 地址的对应关系
/etc/hosts
- repo仓库
/etc/yum.repos.d/
- 挂载配置
/etc/fstab
- 运行级别配置文件
/etc/inittab
init 6 重启
init 0 关机
init 1 单用户模式
init 3 多用户模式(命令行)
init 5 图形化模式
- 环境配置
/etc/bashrc
- 系统环境
/etc/profile
/dev/
文件 | 描述 |
---|---|
null | 空设备,垃圾回收设备 |
zero | 零字符设备 |
/media/
文件 | 描述 |
---|---|
floppy | 软驱 |
cdrom | 光驱 |
cdrecorder | CD刻录机 |
zip | zip驱动 |
/lib/
文件 | 描述 |
---|---|
modules | 内核模块 |
/var/
文件 | 描述 |
---|---|
log | 日志文件 |
run | 进程运行时的pid,lock,socket文件 |
cache | 缓存文件 |
var常用
-
用户邮箱
/var/spool/mail
-
缓存文件
/var/cache
-
日志文件
/var/log
usr常用
-
众多的应用程序
/usr/bin
-
帮助文档
/usr/man
-
源代码,linux内核的源代码就放在/usr/src/linux里
/usr/src
-
本地增加的命令
/usr/local/bin
-
本地增加的库
/usr/local/lib
7.2 proc目录下所有文件的功能
/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过 proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是 动态从系统内核读出所需信息并提交的。
/proc/
-
高级电源管理
/proc/acpi
-
声卡配置文件
/proc/asound
-
每个内存区中的每个order有多少块可用,和内存碎片问题有关
/proc/buddyinfo
-
系统总线(Bus)信息,例如pci/usb等
/proc/bus
-
cgroups相关信息
/proc/cgroups
-
启动时传递给kernel的参数信息
/proc/cmdline
-
查看系统当前已知的控制台以及带有哪些标志的控制台。
/proc/consoles
-
cpu的信息
/proc/cpuinfo
-
内核使用的所有已安装的加密密码及细节
/proc/crypto
-
已经加载的设备并分类
/proc/devices
-
用于显示磁盘、分区和统计信息,就是显示各种读写的数据
/proc/diskstats
-
已注册使用的ISA DMA频道列表
/proc/dma
-
驱动信息
/proc/driver
-
Linux内核当前支持的execution domains
/proc/execdomains
-
帧缓冲设备列表,包括数量和控制它的驱动
/proc/fb
-
内核当前支持的文件系统类型
/proc/filesystems
-
文件系统信息
/proc/fs
-
ide设备信息
/proc/ide
-
x86架构中的每个IRQ中断数
/proc/interrupts
-
每个物理设备当前在系统内存中的映射
/proc/iomem
-
一个设备的输入输出所使用的注册端口范围
/proc/ioports
-
中断请求设备信息
/proc/irq
-
调试内核所需要的信息,kallsyms抽取了内核用到的所有函数地址(全局的、静态的)和非栈数据变量地址,生成一个数据块,作为只读数据链接进kernel image,相当于内核中存了一个System.map
/proc/kallsyms
-
代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb
/proc/kcore
-
证书相关
/proc/keys
-
证书与用户相关
/proc/key-users
-
记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
/proc/kmsg
-
包含64位计数 , 表示每一页被映射的次数,按照PFN值固定索引
/proc/kpagecount
-
此文件包含为64位的标志集 ,表示该页的属性,按照PFN索引
/proc/kpageflags
-
根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
/proc/loadavg
-
内核锁住的文件列表
/proc/locks
-
多硬盘,RAID配置信息(md=multiple disks)
/proc/mdstat
-
RAM使用的相关信息
/proc/meminfo
-
其他的主要设备(设备号为10)上注册的驱动
/proc/misc
-
所有加载到内核的模块列表
/proc/modules
-
系统中使用的所有挂载
/proc/mounts
-
系统使用的Memory Type Range Registers (MTRRs)
/proc/mtrr
-
网卡设备信息
/proc/net
-
伙伴系统的信息
/proc/pagetypeinfo
-
分区中的块分配信息
/proc/partitions
-
系统中的PCI设备列表
/proc/pci
-
调度器debug信息
/proc/sched_debug
-
调度器信息
/proc/schedstat
-
scsi设备信息
/proc/scsi
-
此目录是指访问/proc文件系统的进程,与由同一进程的进程ID命名的/proc目录相同。
/proc/self
-
系统中所有活动的 slab 缓存信息
/proc/slabinfo
-
软件中断的触发次数信息
/proc/softirqs
-
所有的CPU活动信息
/proc/stat
-
交换空间的使用情况
/proc/swaps
-
内核中可配置的信息
/proc/sys
-
使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的
/proc/sysrq-trigger
-
查看系统所有msg消息队列,sem信号量和shm共享内存信息
/proc/sysvipc
-
显示系统当前配置的所有时钟的详细情况,譬如当前系统活动的时钟源设备,时钟事件设备,tick device 等
/proc/timer_list
-
显示当前系统中所有正在使用timer的进程,函数等统计信息,默认是关闭的,echo 1 > /proc/timer_stats
/proc/timer_stats
-
tty设备信息
/proc/tty
-
系统已经运行了多久
/proc/uptime
-
Linux内核版本和gcc版本
/proc/version
-
vmalloc内存区域的使用分配情况
/proc/vmallocinfo
-
虚拟内存统计信息
/proc/vmstat
-
内存区域使用情况
/proc/zoneinfo
-
求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的
/proc/sysrq-trigger
-
查看系统所有msg消息队列,sem信号量和shm共享内存信息
/proc/sysvipc
-
显示系统当前配置的所有时钟的详细情况,譬如当前系统活动的时钟源设备,时钟事件设备,tick device 等
/proc/timer_list
-
显示当前系统中所有正在使用timer的进程,函数等统计信息,默认是关闭的,echo 1 > /proc/timer_stats
/proc/timer_stats
-
tty设备信息
/proc/tty
-
系统已经运行了多久
/proc/uptime
-
Linux内核版本和gcc版本
/proc/version
-
vmalloc内存区域的使用分配情况
/proc/vmallocinfo
-
虚拟内存统计信息
/proc/vmstat
-
内存区域使用情况
/proc/zoneinfo