单元15 Linux文件系统深入了解
一、分区和文件系统
1. 磁盘驱动器分成分区
2. 使用文件系统格式化分区以便用户存储数据
默认文件系统:ext3(rhel5)、ext4(rhel6)、xfs(rhel7)
其他常见文件系统包括:ext2和msdos(通常用于软盘)、iso9660(通常用于CD)、GFS和GFS2(通常用于SAN)
二、索引节点
1. 索引节点表含有ext2或ext3文件系统中全部文件的列表
2. 索引节点(index node)是表格中的条目,含有文件信息(元数据),其中包括:
文件类型(普通文件、目录)
文件权限
链接数:与索引节点编号关联的文件名数
文件所有者的用户ID,以及相关联组的组ID号
时间戳,其中包括上次访问时间、上次修改时间、以及上次索引节点更改时间
硬盘上的数据位置
有关文件的其他元数据
三、目录
1. 计算机对文件的引用就是 索引节点编号
2. 人工引用文件的方式是通过文件名
3. 目录是人们用于引用文件的文件名filename和计算机用于引用文件的索引节点编号index node number间的映射
ls -i命令可以显示索引节点编号
[root@desktop24 ~]# ls -li
62453 -rw-------. 1 root root 4250 Jul 5 01:29 anaconda-ks.cfg
62887 -rw-r--r--. 1 root root 9908224 Jul 5 01:32 boot.iso
四、cp和索引节点
1. cp命令将:
分配未使用的索引节点编号,在索引节点表中添加一条新目录
在目录中创建一条目录项,将某一名称与此索引节点编号相关联
将数据复制到新文件
五、mv与索引节点
1. 如果mv命令的目标是与来源位于相同的文件系统,那么mv命令将:
以新文件名创建新目录条目
删除使用旧文件名的旧目录条目
2. 不会影响索引节点表(时间戳除外)或磁盘上的数据位置:不会移动任何数据!
3. 如果目标是其他文件系统,mv的作用是复制并删除
六、rm和索引节点
1. rm命令将:
减少链接数,以此释放可重复使用的索引节点编号
把数据块标识在空闲列表中
删除目录条目
2. 实际上并未删除数据,但是当其他文件使用此数据块时将覆盖数据
七、硬链接
1. 硬链接会增加额外目录项以引用单个文件
文件系统上的某个物理文件
每个目录均引用同一索引节点编号
增加链接数:rm命令可减少链接数,只要还有一个链接文件就会一直保存,链接数为0时文件将被删除
无法跨驱动器或分区进行操作
2. 语法: ln filename [filename]
八、符号链接(软链接)
1. 符号链接指向其他文件
ls -l 显示链接名称和所引用的文件
lrwxrwxrwx. 1 root root 11 Jul 26 20:58 test -> /etc/passwd
文件类型:l用于符号链接
符号链接的内容即其引用的文件的名称
2. 语法
ln -s filename linkname
符号链接的大小就是路径名称的字符数,出现例外是因为路径名称中含有非ascii字符。
九、七种基本文件类型
- 常规文件
d 目录
l 符号链接
b 块特殊文件
c 字符特殊文件
p 命名管道
s 套接字
-常规文件:概括性术语,适用于不属于以下列出的任一类型的文件。术语“类型”并不是指文件的内容,而是指操作系统处理文件的方式。图像、文本文件、硬链接和可执行文件都是常规文件,因为操作系统与这些文件进行交互时不需要特殊的规则。
d目录:目录可以被认为是一种特殊的文本文件,内核会将其假定为文本文件,但远不止于此。目录的核心只是名称和索引节点编号的列表,但是OS使用目录组织磁盘上文件(否则文件的数量将相当骇人),造成用户“处于”shell当前焦点所在的任一目录的假象。
l符号链接:另一实际上为文本文件但受到操作系统特殊处理的文件类型,符号链接包含的文本说明了一个绝对或相对的路径。链接中的字节数与其指向的路径的字符数相同。
c字符特殊文件:Linux的一条核心设计理念就是:一切都是文件,硬件也不例外。引用硬件的文件不是常规文件;它们属于两个特殊文件之一。字符特殊文件用于与硬件一次通信一个字符。
b块特殊文件:用于与硬件一次通信一个数据块:512字节、1024字节、2048字节;只要适合此类型的硬件即可。块和字符特殊文件通常位于/dev目录中。
p命名管道:在进程间传输数据的文件。它本身并不存储数据,但是在将数据写入命名管道的进程和从命名管道读取数据的另一进程之间传输数据。可以使用mknod命令创建命名管道:
[root@desktop24 tmp]# mknod mypipe p
[root@desktop24 tmp]# ll
prw-r--r--. 1 root root 0 Jul 27 08:57 mypipe
s套接字:用于内部进程通信的程序化机制。用户(甚至管理员)明确地创建套接字这种情况极为少见。
十、检查可用空间
1. baobab按目录创建图形使用报告
应用程序--->系统工具--->Disk Usage Analyzer
2. du按目录创建文本使用报告(以千字节为单位)
列出所有子目录中每个文件的默认大小:
-h(1024进制)和-H(1000进制)以更易读取的单位显示大小
-s概括了子目录
-i index node
3. df按文件系统创建文本使用报告(以千字节为单位)
同样使用-h和-H选项
-T包含了系统文件类型
十一、存档(打包)文件和压缩存档
1. 存档会将多个文件放置到同一目标文件中
易于备份、存储和传输
tar - 标准Linux存档命令
2. 存档通常都会经过压缩
压缩文件所采用的算法
通过解压缩还原原始文件
tar 天生即可支持使用gzip和gunzip(仅解压缩)或bzip2和bunzip2(仅解压缩)的压缩
十二、基本tar选项
1. 操作(必须其中一项)
-c 创建一个存档
-t 列出一个存档
-x 从存档中取出文件
2. 通常必须
-f archivename 文档存档名称
3. 可选
-z 使用gzip压缩
-j 使用bzip2压缩
-v 提供详细信息
--xattrs 存储SELinux和ACL属性
tar [选项] 指定目录及备份的名称(目标) 需要备份的目录/文件(源)
选项顺序:打包压缩,解压解包
tar -xvf 文件名 -C 解包到指定目录
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。