一.Linux文件系统
在Linux之上一切皆文件所有的配置文件使用文本文件保存
例如 : /etc/sysconfig/network-scripts/ifcfg-ens33
最左侧/:表示根目录
其余的/:路径的分隔符
文件的路径表示
1.绝对路径:从根为其实节点表示出来的路径
2.相对路径:从当前位置开始表示出来的路径
文件名使用法则
1、严格区分字符大小写: File fiLe FILE file
2、在同一个路径下,两个文件不能同名
3、支持除了/以外的任意字符
4、文件名的长度不能超过255个字符
用户与家目录:/home
用户的起始目录:自己的家目录
工作目录:某时刻处于的一个目录
/:主结构
/bin:存放所有用户在单用户模式下必须具备的二进制可执行文件 命令 ls cat cp
/boot:和系统启动相关的文件
/dev:存放设备文件 /dev/sr0 /dev/null /dev/zero
/etc:全系统的配置文件 /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/bashrc
/home:普通用户家目录,个人文件和配置
/root:root用户家目录
/lib:
/lib64:依赖库 库文件
/media:临时挂载点:
/mnt:挂载点
/opt:可选的应用程序包
/proc:虚拟文件系统,
/run:运行时的变量数据
/sbin:必备的系统文件 命令
/usr:存放用户的数据,命令文件
/usr/src:存放源代码:
/var:系统运行中产生的数据或者变化的文件
/sys:连接到系统的设备信息:
/tmp:存放临时文件
/etc/目录下常见的目录和文件说明
/etc/bashrc:系统范围内的别名和函数
/etc/crontab:用来配置系统计划任务
/etc/passwd:记录用户的基本信息
/etc/shadow:记录用户的密码信息
/etc/hosts:
/etc/issue:记录用户的登录提示符前的输出信息
/etc/profile 记录每一个用户的环境信息
/etc/profile.d/ 用来存放需要执行的脚本
/etc/shells:当前系统可以使用的shell类型
/etc/skel:存放账户的默认环境文件
/etc/yum.repos.d/ 存放yum仓库的配置文件
/etc/login.defs:用来设置用户账号限制的文件
/etc/sysconfig/net* 网络配置文件
/var/目录
/var/log:存放各种程序的日志文件
/var/spool/:
/proc/:
二.Linux系统文件类型
-:常规文件,file
d:目录
c:字符设备文件
b:块设备文件
l:链接文件
p:管道文件
s:套接字文件
三.文件是怎么创立的
inode:记录文件的属性信息 索引节点号
block:记录文件内容 通常4kb由磁盘初始化决定
superblock:记录文件系统的整体信息 包括inode和block剩余量 磁盘初始化决定
inode相当于指针指向block,block里面是文件内容,superblock包括这两个是他们的总称。
四.文件删除原理
删除硬链接
Linux是通过link的数量来控制文件的删除的,
只有当一个文件不存在任何link的时候,这个文件才会被删除(这里并不是文件内容删除,内容还存在,实际上是访问不到写了文件这个磁盘,所以如果误删要赶在磁盘被重新使用前恢复链接),
一般来说每个文件都有2个link计数器:i_count和i_nlink.
文件计数器
i_count 内存引用计数器 被进程调用的次数 +1
i_nlink 磁盘引用计数器 被硬链接的次数
i_count=0 & i_nlink=0 代表文件被真正删除