4.3 linux文件管理 :文件系统
1.文件系统定义
操作系统为了有效的吞吐磁盘,把磁盘的存储方式按照一定规则统一起来。
这种规则:(就叫做文件管理系统/磁盘分区格式)
规定了文件怎样映射进磁盘的分区磁道中
规定了当没有足够连续的磁道存储大文件时,怎样通过不连续的磁道拼接容纳磁道
2.文件系统类型
linux支持多种文件系统 : ext3/ext4/reiserfs/ZFS…
也有特殊场景下的特殊文件系统: 挂载交换目录(/tmp)的tmpfs 用于网络的NFS
3.目录树
文件和目录“居住”在磁盘分区当中。不能从目录树层面察觉到磁盘分区的存在。
Linux根据目的来分组数据:
把所有的命令放在一个地方
所有的数据放在一个地方
所有的文档放在一个地方
3.1根目录下的 - 文件系统
/usr ##/usr文件系统包含了所有的命令、库、man、不需要改变的文件。
这样允许/usr文件系统文件通过网络共享,可以更有效,节约了磁盘空间
易于管理:系统升级只需要改变主/usr的,无需改变每台机器
/var ##/var文件系统包含会改变的文件,(spool文件夹 mail,new,打印机所用),log文件
/home ##/home文件系统是系统上的实际数据
3.2 根目录下的 - 特殊目录和文件
/ ## 根目录. 根目录一般不存在任何文件,文件全部在根目录的子目录下;因为根目录的顺坏意味着系统无法引导
/bin ##引导启动的命令| 普通用户使用的命令
/sbin ##root使用的命令。 比如 yum -y
/etc ##配置文件 比如 用户信息passwd
/root ##root的家目录
/lib ##根文件上程序需要的共享库
/lib/modules ## 核心可加载模块,特别是恢复损坏系统引导需要的
/dev ##设备文件
/tmp ##临时文件 (引导程序运行的应该是/var下的tmp)
/boot ##引导加载器使用的文件。核心映像经常在这里,不在根目录
/mnt ##系统管理员临时mount的安装点。
/proc /var /usr /home ##其他文件系统安装点
3.3 /etc 配置文件目录
/etc/rcor , /etc/rc*.d ##启动、或改变运行时的scripts或者scripts目录。【rc0.d】
/etc/passwd ##用户数据库
/etc/fdprm ##软盘参数表??
/etc/fstab ##自动mount列表[swap分区/ext4分区...]
/etc/group ##用户组数据库
/etc/initab ##init配置文件(里面都是#)
/etc/issue ##getty登陆提示的输出信息
/etc/magic ##file的配置文件??
/etc/motd ##登陆成功的通知信息,eg:shell登陆成功后的hello
/etc/shadow ##影子口令密码
/etc/login.defs ##login命令的配置文件??
/etc/printcap ##针对打印机
/ect/profile , /etc/csh.login , /etc/csh , /etc/cshrc ## 登陆时的执行配置文件
/etc/securetty ##确认安全终端,就是那个终端允许root登陆(tty1,tty2,tty3)
/etc/shells ##列出可信任的shell(/bin/sh,/bin/bash)
3.4 /usr目录 - 本地安装的软件
一般是在/usr/local(更新系统时,无需重新安装程序)
/usr/bin ##几乎所有的用户命令,有些命令在/usr/local/bin中
/usr/sbin ##根系统不需要的系统管理命令,比如多数服务程序
/usr/man , /usr/info ,/usr/doc ##手册,GUN信息,其他文档??
/usr/include ##C编程语言的头文件(xx.h)
/usr/lib ##程序或子系统不变的数据文件
/usr/local ##本地安装程序
3.5 /var目录 - 运行时改变的数据
包含的运行时改变的数据,每个系统是特定的,不共享
/var/local ##安装程序符可变数据
/var/lock ##锁定文件
/var/log ##各种程序的日志文件
/var/run ##保存到下次引导前的关于系统的信息(/var/run/utmp存储当前登录信息)
/var/spool ##打印队列或者其他队列的工作目录,比如/var/spool/mail
/var/tmp ##比/tmp允许更大的且需要更长存在时间的
3.6 /proc - 内核产生的文件系统
是一个假的文件系统,不存在于某个磁盘。是由内核产生
除非拷贝到其他地方,否则/proc下的文件没有多少占内存
/proc/N/ ##关于进程N的信息,每个进程都会在/proc下有个目录
/proc/cpuinfo ##处理器信息(类型,制造商信息…)
/proc/devices ##当前运行的核心配置的驱动列表(分为字节设备和块设备)
/proc/dma ##显示当前使用的DMA通道(4: cascade)
/proc/filesystems ##核心配置的文件系统
/proc/interrupts ##显示使用的中断
/proc/ioports ##当前使用的IO端口号
/proc/kcore ##系统物理的核心映像,和物理内存一样(实际不占多少内存)128T
/prov/kmsg ##核心输出的消息,被推送到syslog
/proc/ksyms ##核心符号表??
/proc/meminfo ##存储使用情况,包括物理内存和swap
/proc/modules ##当前加载了哪些核心模块
/proc/net ##网络协议状态
/proc/stat ##系统的不同状态
/proc/uptime ##系统启动时间
/proc/version ##系统核心版本
3.7 思维导图