`
dawuafang
  • 浏览: 1104780 次
文章分类
社区版块
存档分类
最新评论

Linux 系统目录详解

 
阅读更多

写这篇文章的目的是想把Linux 目录相关的知识做个整合,因为自己对于这方面了解的还不是很细(尤其是/proc 目录),内容均整合自网络。


目录作用简述

以下内容来自维基百科 【Filesystem Hierarchy Standard】 词条

目录 描述
/ 第一层次结构 的根、 整个文件系统层次结构的根目录
/bin/ 需要在单用户模式可用的必要命令(可执行文件);面向所有用户,例如catlscp
/boot/ 引导程序文件,例如:kernelinitrd;时常是一个单独的分区[6]
/dev/ 必要设备,例如:,/dev/null.
/etc/ 特定主机,系统范围内的配置文件

关于这个名称目前有争议。在贝尔实验室关于UNIX实现文档的早期版本中,/etc 被称为/etcetra 目录[7] 这是由于过去此目录中存放所有不属于别处的所有东西(然而,FHS限制/etc存放静态配置文件,不能包含二进制文件)。[8] 自从早期文档出版以来,目录名称已被以各种方式重新称呼。最近的解释包括反向缩略语如:"可编辑的文本配置"(英文 "Editable Text Configuration")或"扩展工具箱"(英文 "Extended Tool Chest")。 [9]

/etc/opt/
/opt/的配置文件
/etc/X11/
X_Window系统(版本11)的配置文件
/etc/sgml/
SGML的配置文件
/etc/xml/
XML的配置文件
/home/ 用户的家目录,包含保存的文件、个人设置等,一般为单独的分区。
/lib/ /bin/ and /sbin/中二进制文件必要的文件。
/media/ 可移除媒体(如CD-ROM)的挂载点 (在FHS-2.3中出现)。
/mnt/ 临时挂载的文件系统。
/opt/ 可选应用软件[10]
/proc/ 虚拟文件系统,将内核进程状态归档为文本文件。例如:uptime、 network。在Linux中,对应Procfs格式挂载。
/root/ 超级用户家目录
/sbin/ 必要的系统二进制文件,例如: init、 ip、 mount。
/srv/ 站点的具体数据,由系统提供。
/tmp/ 临时文件(参见 /var/tmp),在系统重启时目录中文件不会被保留。
/usr/ 用于存储只读用户数据的第二层次; 包含绝大多数的()用户工具和应用程序。[11]
/usr/bin/
非必要可执行文件 (在单用户模式中不需要);面向所有用户。
/usr/include/
标准包含文件
/usr/lib/
/usr/bin//usr/sbin/中二进制文件的
/usr/sbin/
非必要的系统二进制文件,例如:大量网络服务守护进程
/usr/share/
体系结构无关(共享)数据。
/usr/src/
源代码,例如:内核源代码及其头文件。
/usr/X11R6/
X Window系统 版本 11, Release 6.
/usr/local/
本地数据的第三层次, 具体到本台主机。通常而言有进一步的子目录, 例如:bin/lib/share/.

[12]

/var/ 变量文件——在正常运行的系统中其内容不断变化的文件,如日志,脱机文件和临时电子邮件文件。有时是一个单独的分区。
/var/cache/
应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。
/var/lib/
状态信息。 由程序在运行时维护的持久性数据。 例如:数据库、包装的系统元数据等。
/var/lock/
锁文件,一类跟踪当前使用中资源的文件。
/var/log/
日志文件,包含大量日志文件。
/var/mail/
用户的电子邮箱
/var/run/
自最后一次启动以来运行中的系统的信息,例如:当前登录的用户和运行中的守护进程。现已经被/run代替[13]
/var/spool/
等待处理的任务的脱机文件例如:打印队列和未读的邮件。
/var/spool/mail/
用户的邮箱(不鼓励的存储位置)
/var/tmp/
在系统重启过程中可以保留的临时文件。
/run
代替/var/run目录。


目录作用详细

以下内容来自网络,原作者早已无法查证,但是正确性没有确认,光目测的就有不少错误,可能因为年岁已多吧,有空(蛋疼的时候,可能得好几个月)再给统一改了。


/etc 目录

/etc/rc /etc/rc.d /etc/rc*.d

启动、或改变运行级时运行的scripts或scripts的目录.

/etc/passwd
用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.

/etc/fdprm
软盘参数表.说明不同的软盘格式.用setfdprm 设置.

/etc/fstab
启动时mount -a命令(在/etc/rc 或等效的启动文件中)自动mount的文件系统列表.Linux下,也包括用swapon -a启用的swap区的信息.

/etc/group
类似/etc/passwd ,但说明的不是用户而是组.

/etc/inittab
init 的配置文件.

/etc/issue
getty在登录提示符前的输出信息.通常包括系统的一段短说明或欢迎信息.内容由系统管理员确定.

/etc/magic
file 的配置文件.包含不同文件格式的说明,file 基于它猜测文件类型.

/etc/motd
Message Of TheDay,成功登录后自动输出.内容由系统管理员确定.经常用于通告信息,如计划关机时间的警告.

/etc/mtab
当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一个当前安装的文件系统的列表时使用,例如df命令.

/etc/shadow
在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对root可读.这使破译口令更困难.

/etc/login.defs
login 命令的配置文件.

/etc/printcap
类似/etc/termcap ,但针对打印机.语法不同.

/etc/profile , /etc/csh.login ,/etc/csh.cshrc
登录或启动时Bourne或Cshells执行的文件.这允许系统管理员为所有用户建立全局缺省环境.

/etc/securetty
确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能(至少很困难)通过modem或网络闯入系统并得到超级用户特权.

/etc/shells
列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.提供一台机器FTP服务的服务进程ftpd检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许该用户登录.

/etc/termcap
终端性能数据库.说明不同的终端用什么"转义序列"控制.写程序时不直接输出转义序列(这样只能工作于特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列.这样,多数的程序可以在多数终端上运行


/usr 目录

/usr/X11R6
X Window系统的所有文件.为简化X的开发和安装,X的文件没有集成到系统中. X自己在/usr/X11R6 下类似/usr .

/usr/X386
类似/usr/X11R6 ,但是给X11 Release 5的.

/usr/bin
几乎所有用户命令.有些命令在/bin 或/usr/local/bin 中.

/usr/sbin
根文件系统不必要的系统管理命令,例如多数服务程序.

/usr/man , /usr/info , /usr/doc
手册页、GNU信息文档和各种其他文档文件.

/usr/include
C编程语言的头文件.为了一致性这实际上应该在/usr/lib 下,但传统上支持这个名字.

/usr/lib
程序或子系统的不变的数据文件,包括一些site-wide配置文件.名字lib来源于库(library); 编程的原始库存在/usr/lib 里.

/usr/local
本地安装的软件和其他文件放在这里.

/var 目录

/var/catman
当要求格式化时的man页的cache.man页的源文件一般存在/usr/man/man* 中;有些man页可能有预格式化的版本,存在/usr/man/cat* 中.而其他的man页在第一次看时需要格式化,格式化完的版本存在/var/man 中,这样其他人再看相同的页时就无须等待格式化了. (/var/catman 经常被清除,就象清除临时目录一样.)

/var/lib
系统正常运行时要改变的文件.

/var/local
/usr/local 中安装的程序的可变数据(即系统管理员安装的程序).注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock .

/var/lock
锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件.

/var/log
各种程序的Log文件,特别是login (/var/log/wtmp log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息. /var/log 里的文件经常不确定地增长,应该定期清除.

/var/run
保存到下次引导前有效的关于系统的信息文件.例如, /var/run/utmp 包含当前登录的用户的信息.

/var/spool
mail, news, 打印队列和其他队列工作的目录.每个不同的spool在/var/spool 下有自己的子目录,例如,用户的邮箱在/var/spool/mail 中.

/var/tmp
比/tmp 允许的大或需要存在较长时间的临时文件. (虽然系统管理员可能不允许/var/tmp 有很旧的文件.)


/proc 目录

/proc/buddyinfo
每个内存区中的每个order有多少块可用,和内存碎片问题有关

/proc/cmdline
启动时传递给kernel的参数信息

/proc/cpuinfo
cpu的信息

/proc/crypto
内核使用的所有已安装的加密密码及细节

/proc/devices
已经加载的设备并分类

/proc/dma
已注册使用的ISA DMA频道列表

/proc/execdomains
Linux内核当前支持的execution domains

/proc/fb
帧缓冲设备列表,包括数量和控制它的驱动

/proc/filesystems
内核当前支持的文件系统类型

/proc/interrupts
x86架构中的每个IRQ中断数

/proc/iomem
每个物理设备当前在系统内存中的映射

/proc/ioports
一个设备的输入输出所使用的注册端口范围

/proc/kcore
代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb

/proc/kmsg
记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理

/proc/loadavg
根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关

/proc/locks
内核锁住的文件列表

/proc/mdstat
多硬盘,RAID配置信息(md=multiple disks)

/proc/meminfo
RAM使用的相关信息

/proc/misc
其他的主要设备(设备号为10)上注册的驱动

/proc/modules
所有加载到内核的模块列表

/proc/mounts
系统中使用的所有挂载

/proc/mtrr
系统使用的Memory Type Range Registers (MTRRs)

/proc/partitions
分区中的块分配信息

/proc/pci
系统中的PCI设备列表

/proc/slabinfo
系统中所有活动的 slab 缓存信息

/proc/stat
所有的CPU活动信息

/proc/sysrq-trigger
使用echo命令来写这个文件的时候,远程root用户可以执行大多数的系统请求关键命令,就好像在本地终端执行一样。要写入这个文件,需要把/proc/sys/kernel/sysrq不能设置为0。这个文件对root也是不可读的

/proc/uptime
系统已经运行了多久

/proc/swaps
交换空间的使用情况

/proc/version
Linux内核版本和gcc版本

/proc/bus
系统总线(Bus)信息,例如pci/usb等

/proc/driver
驱动信息

/proc/fs
文件系统信息

/proc/ide
ide设备信息

/proc/irq
中断请求设备信息

/proc/net
网卡设备信息

/proc/scsi
scsi设备信息

/proc/tty
tty设备信息

/proc/net/dev
显示网络适配器及统计信息

/proc/vmstat
虚拟内存统计信息

/proc/vmcore
内核panic时的内存映像

/proc/diskstats
取得磁盘信息

/proc/schedstat
kernel调度器的统计信息

/proc/zoneinfo
显示内存空间的统计信息,对分析虚拟内存行为很有用

/proc/N
pid为N的进程信息

/proc/N/cmdline
pid为N的进程启动命令

/proc/N/cwd
链接到pid为N的进程当前工作目录

/proc/N/environ
pid为N的进程环境变量列表

/proc/N/exe
链接到pid为N的进程的执行命令文件

/proc/N/fd
包含pid为N的进程相关的所有的文件描述符

/proc/N/maps
与pid为N的进程相关的内存映射信息

/proc/N/mem
指代pid为N的进程持有的内存,不可读

/proc/N/root
链接到pid为N的进程的根目录

/proc/N/stat
pid为N的进程的状态

/proc/N/statm
pid为N的进程使用的内存的状态

/proc/N/status
pid为N的进程状态信息,比stat/statm更具可读性

/proc/self
链接到当前正在运行的pid为N的进程


/dev 目录

/dev/hd[a-t]
IDE设备

/dev/sd[a-z]
SCSI设备

/dev/fd[0-7]
标准软驱

/dev/md[0-31]
软raid设备

/dev/loop[0-7]
本地回环设备

/dev/ram[0-15]
内存

/dev/null
无限数据接收设备,相当于黑洞

/dev/zero
无限零资源

/dev/tty[0-63]
虚拟终端

/dev/ttyS[0-3]
串口

/dev/lp[0-3]
并口

/dev/console
控制台

/dev/fb[0-31]
framebuffer

/dev/cdrom => /dev/hdc

/dev/modem => /dev/ttyS[0-9]

/dev/pilot => /dev/ttyS[0-9]

/dev/random
随机数设备

/dev/urandom
随机数设备

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics