Linux 文件系统 与 目录树

时间:2021-01-06 09:03:04
 文件系统和目录树“居住”在磁盘分区中,在目录树这个层面,我们几乎察觉不到磁盘分区的存在。  目录树可以分为小的部分,每个部分可以在自己的磁盘或分区上。

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个指示器指出系统当前工作量
   
   
  1. [root@web1 ~]# cat /proc/loadavg
  2. 0.00 0.00 0.00 1/232 9298
 /proc/meminfo 内存使用信息,包括swap
 /proc/modules 当前加载了哪些核心模块  /proc/net 网络协议状态信息
   
   
  1. [root@web1 ~]# cat /proc/net/
  2. anycast6 ip6_flowlabel ip_tables_targets protocols snmp udplite
  3. arp ip6_mr_cache ipv6_route psched snmp6 udplite6
  4. connector ip6_mr_vif mcfilter ptype sockstat unix
  5. dev ip6_tables_matches mcfilter6 raw sockstat6 wireless
  6. dev_mcast ip6_tables_names netfilter/ raw6 softnet_stat xfrm_stat
  7. dev_snmp6/ ip6_tables_targets netlink route stat/
  8. icmp ip_mr_cache netstat rpc/ tcp
  9. if_inet6 ip_mr_vif nf_conntrack rt6_stats tcp6
  10. igmp ip_tables_matches nf_conntrack_expect rt_acct udp
  11. 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操纵系统.