最近,Linux 基金会发起了一个全新的 LFCS(Linux 基金会认证系统管理员(Linux Foundation Certified Sysadmin))认证,旨在让遍布全世界的人都有机会参加该认证的考试,通过考试的人将表明他们有能力在 Linux 上执行基本的中级系统管理任务。这项认证包括了对已运行的系统和服务的支持、一流水平的问题解决和分析以及决定何时将问题反映给工程师团队的能力。
LFCS 系列第三讲
本讲是系列教程中的第三讲,在这一讲中,我们会涵盖如何在文件系统中归档/压缩文件及目录、设置文件属性和搜索文件等内容,这些都是 LFCS 认证中必须掌握的知识。
归档和压缩的相关工具文件归档工具将一堆文件整合到一个单独的归档文件之后,我们可以将归档文件备份到不同类型的介质或者通过网络传输和发送 Email 来备份。在 Linux 中使用频率最高的归档实用工具是 tar。当归档工具和压缩工具一起使用的时候,可以减少同一文件和信息在硬盘中的存储空间。
tar 使用工具tar 将一组文件打包到一个单独的归档文件(通常叫做 tar 文件或者 tarball)。tar 这个名称最初代表磁带存档程序(tape archiver),但现在我们可以用它来归档任意类型的可读写介质上边的数据,而不是只能归档磁带数据。tar 通常与 gzip、bzip2 或者 xz 等压缩工具一起使用,生成一个压缩的 tarball。
基本语法:
#tar[选项][路径名...]
其中 ... 代表指定哪些文件进行归档操作的表达式
tar 的常用命令 长选项简写描述-create c 创建 tar 归档文件
-concatenate A 将一存档与已有的存档合并
-append r 把要存档的文件追加到归档文件的末尾
-update u 更新新文件到归档文件中去
-diff 或 -compare d 比较存档与当前文件的不同之处
-file archive f 使用档案文件或归档设备
-list t 列出 tarball 中的内容
-extract 或 -get x 从归档文件中释放文件
常用的操作修饰符 长选项缩写描述
-directory dir C 执行归档操作前,先转到指定目录
-same-permissions p 保持原始的文件权限
-verbose v 列出所有的读取或提取的文件。但这个标识符与 -list 一起使用的时候,还会显示出文件大小、属主和时间戳的信息
-verify W 写入存档后进行校验
-exclude file 不把指定文件包含在内
-exclude=pattern X 以PATTERN模式排除文件
-gzip 或 -gunzip z 通过gzip压缩归档
-bzip2 j 通过bzip2压缩归档
-xz J 通过xz压缩归档
Gzip 是最古老的压缩工具,压缩率最小,bzip2 的压缩率稍微高一点。另外,xz 是最新的压缩工具,压缩率最好。xz 具有最佳压缩率的代价是:完成压缩操作花费最多时间,压缩过程中占有较多系统资源。
通常,通过这些工具压缩的 tar 文件相应的具有 .gz、.bz2 或 .xz的扩展名。在下列的例子中,我们使用 file1、file2、file3、file4 和 file5 进行演示。
通过 gzip、bzip2 和 xz 压缩归档
归档当前工作目录的所有文件,并以 gzip、bzip2 和 xz 压缩刚刚的归档文件(请注意,用正则表达式来指定哪些文件应该归档——这是为了防止将归档工具包前一步生成的文件打包进来)。
#tar czf myfiles.tar.gz file[0-9]