tar 压缩

本文详细介绍了Unix系统中tar命令的基本用法,包括文件打包、压缩、解压、解包及显示文件等内容。同时对比了tar与cpio命令的特点,以及compress与DOS下Pkzip的压缩效果。

二、tar

  1.文件或目录打包:

  tar -cvf /u0/temp2.tar /usr/lib

  将/usr/lib目录下的文件与子目录打包成一个文件库为/u0/temp2.tar。

  tar -cvf /u0/temp2.tar /usr/lib *.c *.f

  将/usr/lib目录下的*.c *.f等文件(不含子目录)打包。

  注意:如果指定文件如*.c *.f或*.*,则打包时均不含子目录。如果指定为.或*,则含子目录。

  2.压缩:

  同上:compress /u0/temp2.tar压缩为/u0/temp2.tar.Z

  3.解压:

  uncompress /u0/temp2.tar.Z则还原为/u0/temp2.tar。

  4.解包展开:

  tar -xvf /u0/temp2.tar

  若以相对路径打包的,解包时,以相对路径存放展开的文件数据;若以绝对路径打包的,解包时,以绝对路径存放展开的文件数据。

  若指定展开的文件名,须注意文件的目录路径。

  5.显示:

  tar -tvf /u0/temp2.tar 显示文件库内的文件名称。当指定文件名时,亦须注意文件的路径。

  相对来说这两个命令各有优缺点。

  1)tar速度比cpio慢,且不能跨越两份存储媒体,但文件格式几乎在所有的Unix系统中都能通用,且使用简便。

  2)cpio则由于可通过管道功能,使得其打包时的文件选择、排除功能非常强,且能跨越多份媒体,并能备份特殊的系统文件。

  另外,压缩命令compress比DOS下的Pkzip的压缩率要低些。经测试,在一个目录下527个文本文件共15.7MB,在Unix打包后用compress压缩,大小为 2.1MB;
相同的文件拷到DOS系统用Pkzip压缩,则大小为1.4MB。

 

Tar是一种常用的文件打包工具,可将多个文件或目录合并成一个文件,还能配合压缩程序进行压缩。以下是Tar压缩的相关信息: ### 常用选项及功能 - **c**:创建.tar格式的包文件。 - **x**:释放.tar格式的文件。 - **t**:查看包中的文件列表。 - **v**:表示在命令执行时显示详细的提示信息。 - **f**:包文件名,用于指定包文件名。当与 -c 选项一起使用时,创建的tar包文件使用该选项指定的文件名;当与 -x 选项一起使用时,则释放该选项指定的tar包文件。 - **p**:打包时保留文件及目录的权限。 - **z**:调用gzip程序,以gzip格式压缩或解压缩文件。 - **j**:调用bzip2程序,以bzip2格式压缩或解压缩文件。 - **J**:使用xz压缩(.tar.xz),xz的压缩率通常比bzip2更高。 - **C**:目录路径名,释放包时指定释放的目录的位置 [^1]。 ### 操作方法示例 #### 创建未压缩Tar包 ```bash tar -cvf archive.tar file1.txt file2.txt directory/ ``` 此命令将 `file1.txt`、`file2.txt` 和 `directory` 目录打包成一个名为 `archive.tar` 的文件。 #### 创建gzip压缩Tar包 ```bash tar -czvf archive.tar.gz file1.txt file2.txt directory/ ``` 该命令使用gzip压缩,将上述文件和目录打包成 `archive.tar.gz` 文件。 #### 创建bzip2压缩Tar包 ```bash tar -cjvf archive.tar.bz2 file1.txt file2.txt directory/ ``` 此命令使用bzip2压缩,生成 `archive.tar.bz2` 文件。 #### 创建xz压缩Tar包 ```bash tar -cJvf archive.tar.xz file1.txt file2.txt directory/ ``` 使用xz压缩,生成 `archive.tar.xz` 文件。 #### 查看Tar包内容 ```bash tar -tvf archive.tar ``` 此命令可查看 `archive.tar` 包中的文件列表。 #### 解压缩Tar包 ```bash tar -xvf archive.tar ``` 该命令将 `archive.tar` 包解压到当前目录。 #### 解压缩到指定目录 ```bash tar -xvf archive.tar -C /path/to/destination ``` 此命令将 `archive.tar` 包解压到 `/path/to/destination` 目录。 ### 使用场景 - **数据备份**:将重要文件和目录打包压缩后进行备份,可减少存储空间占用。 - **文件传输**:将多个文件或目录打包成一个文件,方便在网络上传输。 - **软件分发**:软件开发中,将程序文件、配置文件等打包成一个压缩包进行分发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值