vlambda博客
学习文章列表

适用于linux的5个最佳命令行归档工具

存档是一个通常要压缩的文件,它包含了一组文件。tar应用程序是打包盒解包存档文件的。文件扩展名tar.bz2tar.gz.tgz可以确定文件是压缩的tar存档文件,它们往往是互联网上提供的软件包。

1.tar 命令

tar是标准的UNIX/Linux归档应用工具。早期它曾经是一个磁带归档程序,后来逐渐发展成为能够处理各种归档文件的通用归档包。tar接受很多带有选项的归档过滤器。

tar选项

  1. -A:将tar文件附加到现有档案中。
  2. -c:创建一个新的存档文件。
  3. -d:将存档与指定的文件系统进行比较。
  4. -j:bzip存档
  5. -r:将文件附加到现有档案中。
  6. -t:列出现有档案的内容。
  7. -u:更新存档
  8. -x:从现有存档中提取文件。
  9. -z:gzip存档
  10. –delete:从现有存档中删除文件。
tar示例

创建 tar 存档文件。

# tar -zcvf name_of_tar.tar.gz /path/to/folder

解压一个 tar 存档文件。

# tar -zxvf Name_of_tar_file.tar.gz

shar命令

shar代表Shellarchive 是一个 shell 脚本,执行该脚本将创建文件。shar 是一个自解压存档文件,它是一个遗留应用程序,需要Unix Bourne Shell提取文件。shar 具有纯文本的优点,但它具有潜在危险,因为它输出可执行文件。

shar选项

  1. -o:在选项中按照指定将输出保存到存档文件。
  2. -l:限制选项中指定的输出大小,但不要拆分它。
  3. -L:限制选项中指定的输出大小并将其拆分。
  4. -n:要包含在 shar 文件头中的存档名称。
  5. -a:允许自动生成标题。

Note:这-o选项是必需的,如果-l或者-L选项被使用并且-n选项是必需的,如果-a 选项被使用。

shar示例

创建一个 shar 归档文件。

# shar file_name.extension > filename.shar

提取一个shar归档文件。

# unshar file_name.shar

3.ar 命令

ar是档案的创建和操作应用程序,主要用于二进制目标文件库。ar代表存档器,可用于为任何目的创建任何类型的存档,但在很大程度上已被tar取代,现在它仅用于创建和更新静态库文件。

选项

  1. -d从存档中删除模块。
  2. -m在档案中移动成员。
  3. -p:打印档案的指定成员。
  4. -q:快速追加。
  5. -r:插入要存档的文件成员。
  6. -s:添加索引到存档。
  7. -a:向存档的现有成员添加新文件。
ar 示例

ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。

# ar cr libmath.a substraction.o division.o

提取ar存档文件。

# ar x libmath.a

4.cpio

cpio代表Copy in and out. cpio是一个用于Linux的通用文件归档器。它被积极使用RedHat Package Manager(RPM) 并在initramfsLinux内核以及一个重要的归档工具Apple Computer’s Installer

cpio 选项

  1. -0:读取以空字符而不是换行符结尾的文件名列表。
  2. -a:重置访问时间。
  3. -A:追加。
  4. -b:交换。
  5. -d:制作目录。
cpio 例子

创建一个 cpio 存档文件。

# cd rumenz
# ls

file1.o file2.o file3.o

# ls | cpio  -ov > /path/to/output_folder/obj.cpio

提取 cpio 存档文件。

# cpio -idv < /path/to folder/obj.cpio

5. 压缩包

gzip是标准且广泛使用的文件压缩和解压缩应用程序。Gzip允许文件连接。使用gzip压缩文件,输出格式为*.tar.gz或者*.tgz

gzip 选项

  1. –stdout:在标准输出上产生输出。
  2. –to-stdout在标准输出上产生输出。
  3. –decompress:解压文件。
  4. –uncompress:解压文件。
  5. -d:解压文件。
  6. -f强制压缩 / 解压。
gzip 示例

创建一个gzip存档文件。

# tar -cvzf name_of_archive.tar.gz /path/to/folder

提取 gzip 存档文件。

# gunzip file_name.tar.gz
# tar -xvf file_name.tar

Note:gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出.gz的扩展名。

相关文章




近期热文






入门小站
全栈入门知识
275篇原创内容
Official Account