如何在Linux命令行上使用7zip archiver
如果我们是Windows用户,我们肯定会使用7zip文件归档。
它不仅具有最高的压缩比,而且还支持7z,Lzma2,XZ,拉链,ZIP64,CAB,RAR等一系列档案格式。
在本文中,我们将讨论如何在Linux命令行上使用7zip archiver。
如果系统上未安装7zip,请通过我们喜欢的命令行下载管理器安装它。
例如,我使用以下命令来安装它:
$sudo apt-get install p7zip-full
安装包后,"7z"命令应执行归档和提取工作。
在本文中,我们将讨论如何在Linux命令行上使用7zip archiver(具有最高压缩率的幂)。
测试环境
以下是本文使用的测试环境的详细信息:
- OS - Ubuntu 13.04
- shell - Bash 4.2.45
- 应用 - P7Zip-Full 9.20.1~DFSG.1-4
一些例子
在我们从示例开始之前,值得注意的点是7z命令提供工作的函数字母,如命令行选项,而是没有散列( - )。
这些函数字母告诉该命令需要执行该功能。
以下是在Linux命令行上使用7zip的一些示例:
1)使用功能字母'A'创建一个简单的.7z归档
要创建.7z存档,请使用这样的命令:
z a output.7z output1 output2 output3 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Scanning Creating archive output.7z Compressing output1 Compressing output2 Compressing output3 Everything is Ok
因此,我们可以看到7z命令通过函数字母'a',后跟要创建的存档的名称,然后是要包含在存档中的文件的名称。
执行此命令后,生成具有相同名称的存档。
以下是我们如何验证相同的:
$ls output.7z output.7z
不仅是7z档案,我们还可以创建其他档案。
例如,允许创建一个.zip存档:
z a output.zip output1 output2 output3 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Scanning Creating archive output.zip Compressing output1 Compressing output2 Compressing output3 Everything is Ok $ls output.zip output.zip
2)使用函数字母'e'提取存档
就像'a'一样用于将文件添加到存档,函数字母'e'可用于提取存档。
例如,允许允许提取我们在最后一个示例中创建的Output.7z存档:
z e output.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Processing archive: output.7z Extracting output1 Extracting output2 Extracting output3 Everything is Ok Files: 3 Size: 101 Compressed: 248 $ls output* output1 output2 output3 output.7z
因此,我们可以看到文件已从存档中提取成功。
3)使用功能字母'L'列出存档的详细信息
如果我们想要列出存档的详细信息,则可以使用将其名称作为参数与7z命令一起以及功能字母'L'。
这是一个例子:
z l output.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Listing archive: output.7z - Path = output.7z Type = 7z Method = LZMA Solid = + Blocks = 1 Physical Size = 248 Headers Size = 176 Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ----------------------- 2013-08-19 11:25:32 ....A 18 72 output1 2013-08-15 21:49:55 ....A 13 output2 2013-08-15 21:51:00 ....A 70 output3 ------------------- ----- ------------ ------------ ----------------------- 101 72 3 files, 0 folders
因此,我们可以看到输出中列出了存档内容的详细信息。
4)使用功能字母'U'更新存档
假设我们创建文件夹的存档(包含某些文件)。
$ls new_dir z a new.7z new_dir/ 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Scanning Creating archive new.7z Compressing new_dir/output1 Compressing new_dir/output2 Compressing new_dir/output3 Everything is Ok $ls new.7z new_dir
现在,在一段时间后,将一些新文件添加到文件夹中,并希望将它们添加到存档中。
因此,而不是创建一个新的存档,我们可以通过以下方式更新现有的存档:
z u new.7z new_dir/ 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Scanning Updating archive new.7z Everything is Ok
这样你可以更新存档。
5)使用功能字母'T'测试存档的完整性
以下是如何测试存档的完整性的示例:
z t new.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Processing archive: new.7z Testing new_dir/output1 Testing new_dir/output2 Testing new_dir/output3 Testing new_dir/output4 Testing new_dir Everything is Ok Folders: 1 Files: 4 Size: 101 Compressed: 276
但如果存在一些问题,完整性检查真的很有帮助。
这是一个例子:
z t new.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=en_IN,Utf16=on,HugeFiles=on,2 CPUs) Processing archive: new.7z Error: Can not open file as archive