1.ln 文件链接
Linux 系统中, 内核为每一个新创建的文件分配一个inode 号, 文件属性保存在inode,访问文件时, inode 被复制到内存里, 从而实现文件的快速访问。
◎ln 原理
文件放在外存, 文件信息形成FCB, FCB 的集合构成目录。 访问一个文件时需要把目录调入内存, 然后按名检索目录, 目录占用内存空间。 按名检索时, 名字不符的话其他信息并不需要读取, 所以FCB 中许多信息不需要全调入内存。 减小FCB: 将文件的详细信息放入索引结点, FCB 中记录文件名和inode 地址。 目录小了, 调入内存占空就少, 检索也快了。
Linux 包括以下两种链接方式。
(1) 硬链接(Hard Link)。 建立硬链接时, 链接文件和被链接文件必须位于同一个文件系统中, 并且不能建立指向目录的硬链接。 默认情况下, ln 产生硬链接, 原文件与链接文件两者具有相同的inode。
(2) 符号链接(Symbolic Link)。 符号链接文件也称软链接, 等价于Windows 系统下的快捷方式文件。 符号链接文件可以用来建立在不同的文件系统之上, 并且可以对目录建立符号链接。 ln 命令加参数-s 产生符号链接。
链接文件命令是ln 命令, 该命令在文件之间创建链接。 这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问的名称。
◎说明
链接的对象可以是文件, 也可以是目录。 不加参数默认创建的是一个硬链接, 目录不能创建硬链接; -s 创建一个软链接(符号链接)。
【例2-28】 硬链接文件的使用。
创建文件file 的硬链接文件file_h。
查看源文件file 和硬链接文件file_h 的文件属性, 可以看到两个文件的大小还有其他属性都一样, 链接数由原来的1 变成2。
通过stat 命令查看文件file 和file_h, 两个文件的inode 结点是都是3647368, 说明两个文件是同一个索引结点。
删除源文件file, 硬链接文件的链接数变为1, 但文件内容实际上还存在, 只是通过硬链接文件指向过去。
【例2-29】 软链接文件的使用。
创建文件file 的软连接文件file_s, file_s->file 表示file 是源文件, file_s 的文件类型是l(链接), 链接数是1。
(www.daowen.com)
使用stat 命令查看file 和file_s 发现两个文件的inode 结点是不一样的, 不是同一个文件, 一个是普通文件, 一个是符号链接。
删除源文件file, 符号链接文件还是存在, 但是由于源文件已经删除, 所以链接文件的内容也不能查看了, 软连接类似于快捷方式。
◎说明
硬链接创建后, 链接文件和目标文件没有主次之分, 文件系统中它们都和同一个inode 相关联, 具有相同的inode 号, 不允许跨文件系统, 不允许对目录创建硬链接。
软链接应用也很广泛, 在文件系统中多处共享同一个较大文件时, 使用软链接可以避免创建多个副本; 维护动态库的版本时, 使用软链接, 在升级库文件后, 只需修改软链接的源文件, 而使用该库的程序则不需要修改。
2.tar 文件打包、 压缩
tar 是Linux 中最常用的备份工具, 也称为打包工具, 可以进行文件的压缩和解压缩。Linux 中常用的压缩文件格式为∗.tar、 ∗.tar.gz、 ∗.tar.bz2, 其中.tar 通常表示使用tar命令打包数据但是没有压缩; .tar.gz 表示使用tar 命令打包文件并进行gzip 压缩;.tar.bz2 表示使用tar 命令打包文件并进行bzip2 压缩。
命令格式: tar [参数] 打包文件名文件
tar 命令的命令选项说明如表2.13 所示。
表2.13 tar 命令选项说明
tar 常用命令如下。
【例2-30】 将当前目录下的file.c 文件添加到文件myfile.tar 中。 并且通过查看myfile.tar文件中的文件内容, 来验证file.c 文件是否被成功添加到myfile.tar 打包文件中。
【例2-31】 将当前用户目录下的目录文件myfile 包括的所有文件用tar 命令打包, 然后用gzip 命令压缩, 打包压缩后的文件名为myfile.tar.gz。
【例2-32】 查看myfile.tar.gz 压缩文件的内容。
【例2-33】 将文件打包然后用bzip2 命令压缩。 将当前用户目录/home/user 下的目录文件myfile 包括的所有文件用tar 命令打包, 并且用bzip2 命令压缩, 打包压缩后的文件名为myfile.tar.bz2。
【例2-34】 用tar 命令解压经过bzip2 压缩的tar 文件。 由于使用bzip2 压缩, 所以要加上j 这个参数。 将压缩文件myfile.tar.bz2 解压到当前目录下。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。