Linux文件系统和目录树“居住”在磁盘分区中,在目录树这个层面,我们几乎察觉不到磁盘分区的存在。目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上。
1. /根目录
根目录一般不包含任何文件,除了可能的标准的系统引导镜像,通常叫做/vmlinuz。其他所有的文件都在根目录的子目录中。
/bin 引导启动所需的命令或普通用户可能用的命令(可能引导启动后)
/sbin 类似/bin,但不给普通用户使用,虽然如果必要且允许时可以使用
/etc 特定机器的配置文件
/root root用户的家目录
/lib 根文件系统上程序所需的共享库
/lib/modules 核心可加载模块,特别是那些恢复损坏系统是引导所需的(例如网络和文件系统驱动)
/dev 设备文件
/tmp 临时文件。引导启动后运行的程序应该使用/var/tmp,而不是/tmp,因为前者可能在一个拥有更多间的磁盘上。
/boot 引导加载器(bootstraploader)使用的文件,如LILO、grub。 核心映像也经常在这里,而不是根目录。要确保核心映像必须在IDE硬盘的前1024柱面内。
/mnt 系统管理员临时mount的挂载点。程序不会自动安装到/mnt。
2. /etc 目录
/etc目录包含很多文件。许多网络配置文件也在/etc中。
/etc/rcor,/etc/rc.dor,/etc/rc*.d 启动或改变运行级别时运行的scripts或scripts的目录。
/etc/passwd 用户数据库,其中给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息。
/etc/fdprm 软盘参数表。说明不同的软盘格式,用setfdprm设置。
/etc/fstab 启动时mount -a 命令自动mount的文件系统列表。在linux下,也包括swapon -a 启动的swap区信息。
/etc/group 系统用户组文件
/etc/inittab init的配置文件
/etc/issue getty在登录提示符前的输出信息。通常包括系统的一段短说明信息或欢迎信息。
/etc/magic file命令的配置文件。包含不同文件格式的说明,file命令基于它猜测文件类型
/etc/motd Message Of The Day,成功登录后自动输出。内容由系统管理员确定。它经常用于通告信息,如计划关机时间的警告。
/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服务进程也检查用户的shell是否列在/etc/shells文件中,如果不是,就不允许该用户登录。
/etc/termcap 终端性能数据库。说明不同的终端用什么“转义序列”控制。写程序时不直接输出转义序列(这样只能工作与特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列。
3. /dev 目录
/dev目录包括所有设备的设备文件。设备文件用特定的约定命名。
4. /usr 目录
/usr文件系统���常很大,因为所有的程序都安装在这里。 本地安装的程序和其他东西在/usr/local下。
/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/local 本地安装的软件和其它软件。
5 /var 目录
/var 包括系统运行时经常改变的数据。不与其他计算机共享。
/var/lib 系统正常运行时要改变的文件。
/var/local 存放/usr/local中安装的程序的可变数据。注意:如果必要,即使本地安装的程序也会使用其他/var目录,例如/var/lock。
/var/lock 锁定文件。许多程序遵循在/var/locak中产生一个锁定文件的约定,以保护它们在使用的某个特定的设备或文件。其他程序注意到这个锁定文件,将不试图使用这个设备或文件。
/var/log 各种程序的log文件,特别是login(/var/log/wtmp 所有到系统的登录和注销)和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有很旧的文件。
6 /proc 目录
/proc是一个虚拟的目录,它不存在某个磁盘上,而是由内核在内存中产生,用于提供关于系统的信息。
/proc/1 关于进程1的信息目录。每个进程在/proc目录下有一个名为其进程号的目录
/proc/cpuinfo 出路器信息,如类型、制造商、性高、性能等。
/proc/devices 当前运行的核心配置的设备驱动列表
/proc/dma 显示当前使用的DMA通道
/proc/filesystems 核心配置的文件系统
/proc/interrupts 显示使用的中断
/proc/ioports 当前使用的I/O端口
/proc/kcore 系统物理内存映像。与物理内存大小完全一样,但不实际占用这么多的内存。
/proc/kmsg 内核输出的消息,也被送到syslog
/proc/ksyms 核心符号表
/proc/loadavg 系统“平均负载”:3个指示器指出系统当前工作量
[root@web1 ~]# cat /proc/loadavg
0.000.000.001/2329298
/proc/meminfo 内存使用信息,包括swap
/proc/modules 当前加载了哪些核心模块
/proc/net 网络协议状态信息
[root@web1 ~]# cat /proc/net/
anycast6 ip6_flowlabel ip_tables_targets protocols snmp udplite
arp ip6_mr_cache ipv6_route psched snmp6 udplite6
connector ip6_mr_vif mcfilter ptype sockstat unix
dev ip6_tables_matches mcfilter6 raw sockstat6 wireless
dev_mcast ip6_tables_names netfilter/ raw6 softnet_stat xfrm_stat
dev_snmp6/ ip6_tables_targets netlink route stat/
icmp ip_mr_cache netstat rpc/ tcp
if_inet6 ip_mr_vif nf_conntrack rt6_stats tcp6
igmp ip_tables_matches nf_conntrack_expect rt_acct udp
igmp6 ip_tables_names packet rt_cache udp6
/proc/self 查看/proc的程序的进程目录的符号链接。
/proc/stat CPU的实时负载信息
/proc/uptime 系统启动的时间长度
/proc/version 内核版本
/proc/cmdline 系统启动时输入的内核命令行参数
通过/proc与内核交互
/proc/sys/ 目录存放着所有的可读写文件,可被用于改变内核的行为。
例如:
/proc/sys/kernel/{domainname,hostname} 存放着主机的域名和主机名,这些文件可用于修改这些名字。
/proc/sys/net/ 所有的网络属性配置
总结: /proc 文件系统 提供了一个基于文件的linux内部接口,它可以确定系统的各种不同设备和进程的状态,用户能够从/proc 中获取系统和进程信息,也能够通过/proc操纵系统.
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-01/139368.htm