shell 文件的归档和压缩

本文详细介绍了使用tar命令进行文件归档的操作,包括创建、查看、添加和提取归档文件的方法。同时,还讲解了如何利用gzip、bzip2和zip等工具进行文件压缩和解压缩,以及rsync命令实现数据的同步备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tar归档

-c 创建文件

-f 指定文件

-v 冗余信息

打包到归档文件

tar -cf output.tar file1 file2 file3 folder1 ..

列出归档文件的内容

 

tar -tf output.tar

 

 

tar -tvf out.tar

 

向已归档的文件中添加另一个文件

 

$ tar -rvf original.tar new_file

从归档文件中提取文件或文件夹

 

tar -xf out.tar

 

将文件抽取到指定目录下,目录必须先要存在

tar -xf archive.tar -C /path/to/extraction_directory

 

 

归档之后再压缩

gz bz2

压缩和解压缩

gzip,gunzip可以用于压缩与解压缩

 

压缩的方式有3种 。 lzma 。 gzip, bzip2,zip

 

zip命令

zip对文档进行压缩

zip file.zip file

对文件夹进行递归操作

zip -r archive.zip folder1 folder2

 

在压缩文件中添加新的文件

zip file.zip -u newfile

在压缩文件中删除文件

zip -d arc.zip file.txt

列出压缩文件中的内容

unzip -l archive.zip

 

要从文件中提取内容 unzip之后并不会删除之前的内容

unzip file.zip

 

rsync同步备份

 

rsync -avz source destination

rsync -avz /users/apple/backup root@10.10.244.36:/data/tomcat/puhui-core-server-restful-1.0/logs

 

 

转载于:https://my.oschina.net/iioschina/blog/2244607

### 如何使用 Shell 脚本批量解压 `tar`、`gzip` `zip` 文件 对于不同类型的压缩文件,可以编写相应的 Shell 脚本来实现批量解压操作。 #### 批量解压 `.tar.gz` 或者 `.tgz` 文件 当处理`.tar.gz`或`.tgz`格式的文件时,可利用`for`循环遍历指定目录下的所有目标文件并逐一执行解压命令: ```bash #!/bin/bash # 遍历当前目录下所有的 .tar.gz 或 .tgz 文件 for file in *.tar.gz *.tgz; do [ -f "$file" ] || continue # 如果不是文件则跳过 echo "正在解压 $file..." tar zxvf "$file" # 解压到当前目录 done ``` 此段脚本中的`tar zxvf`参数含义如下: - z 表示通过 gzip 进行过滤[^2] - x 提取文件 - v 显示处理过程中的信息 - f 后面接要读写的档案名 #### 批量解压 `.gz` 单独压缩过的文件 针对仅由`gzip`单独压缩而来的`.gz`文件,则应采用下面这种方式来进行批量化释放空间的工作: ```bash #!/bin/bash # 对于单个被 gzip 压缩后的文件 for gzipped_file in *.gz ; do gunzip "${gzipped_file}" # 使用gunzip解开压缩包 done ``` 这里运用到了`gunzip`工具来完成对单一文件形式的`.gz`数据流的操作。值得注意的是,在大多数情况下,经过上述指令之后原压缩件会被自动删除只留下解压后的内容[^1]。 #### 处理 ZIP 归档 最后如果面对的是ZIP格式的数据集合体的话,那么就需要借助专门为此设计的应用程序——unzip啦! ```bash #!/bin/bash # 循环解压多个 .zip 文件 for zipfile in *.zip; do unzip "$zipfile" # 将内容提取至同名子文件夹内 done ``` 这段简单的 Bash Script 可以帮助快速有效地管理大量相同类型的压缩文档资源,无论是个人还是团队协作环境都非常实用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值