Linux文档压缩与打包

本文介绍在Linux环境下使用zip和tar工具进行文件压缩与解压缩的方法。包括如何使用zip压缩单个文件或目录,并进行解压;如何使用tar命令进行文件打包及解包,还介绍了如何排除特定文件进行打包,以及如何结合gzip、bzip2和xz等工具进行压缩。
zip压缩工具
zip压缩包在Windows和Linux中比较常用,它可以压缩目录和文件,压缩目录时,需要指定目录下的文件
zip 1.txt.zip 1.txt 压缩文件并指明目录下的文件
unzip 1.txt.zip
[root@localhost d6z]# zip 1.txt.zip 1.txt 压缩文件
adding: 1.txt (deflated 73%)
[root@localhost d6z]# du -sh 1.txt.zip 查看压缩的情况
476K 1.txt.zip
[root@localhost d6z]# unzip 1.txt.zip 解压
Archive: 1.txt.zip
replace 1.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
inflating: 1.txt
[root@localhost d6z]# ls
1.txt 1.txt.zip 2.txt d6z test1 test2
tar打包工具
tar -cvf 123.tar 123
tar -cvf aming.tar 1.txt 123
tar -xvf aming.tar
tar -tf aming.tar
tar -cvf aming.tar --exclude 1.txt --exclude 2123
实验
准备
[root@localhost d6z]# cd /root 切换到root目录下
[root@localhost ~]# mkdir /tmp/8 创建一个目录
[root@localhost ~]# cd /tmp/8 切换到创建的目录下
[root@localhost 8]# mkdir test 创建目录
[root@localhost 8]# mv /tmp/1.txt test 移动一个文件到test目录下
打包
[root@localhost 8]# tar -cvf test.tar test 打包test目录
test/ 
test/1.txt
[root@localhost 8]# ls 打印当前目录清单
test test.tar
[root@localhost 8]# du -sh 查看目录大小
3.5M .
解包
[root@localhost 8]# tar -xvf test.tar test 解包
test/
test/1.txt
[root@localhost 8]# ls 打印当前的目录清单
test test.tar
备注:tar 打包和解包都会覆盖之前的文件
[root@localhost test]# tar -cvf test.tar 1.txt 2.txt 3.txt 打包目录和文件
1.txt
2.txt
3.txt
[root@localhost test]# tar -xvf test.tar 1.txt 2.txt 3.txt 解压目录和文件
1.txt 
2.txt
3.txt
[root@localhost 8]# tar -tf test.tar -tf 查看tar打包的文件
test/
test/test.tar
test/1.txt
test/2.txt
test/3.txt
[root@localhost 8]# tar -cvf test.tar --exclude 3.txt test -- exclude 过滤文件打包
test/
test/test.tar
test/1.txt
test/2.txt
tar打包并压缩
tar -zcvf 123.tar.gz 123 打包以gzip压缩
tar -zxvf 123.tar.gz 解压
tar -jcvf 123.tar.bz2 123 打包以bzip2压缩
tar -jxvf 123.tar.bz2 解压
tar -Jcvf 123.tar.xz 123 打包以xz压缩
tar -Jxvf 123.tar.xz 解压
[root@localhost 8]# tar -zcvf test.tar.gz test gzip压缩
test/
test/3.txt
test/test.tar
test/1.txt
test/2.txt
[root@localhost 8]# ls
2.txt test test.tar test.tar.gz
[root@localhost 8]# du -sh test
3.5M test
[root@localhost 8]# tar -zxvf test.tar.gz 解包
test/
test/3.txt
test/test.tar
test/1.txt
test/2.txt
备注:bzip xz 打包压缩同gzip操作方法一样
查看tar包压缩命令
-tf 适用所有的tar包压缩
[root@localhost 8]# tar -tf test.tar.xz 查看打包gzip压缩包
test/
test/3.txt
test/test.tar
test/1.txt
test/2.txt
[root@localhost 8]# tar -tf test.tar.gz
test/
test/3.txt
test/test.tar
test/1.txt
test/2.txt
[root@localhost 8]# tar -tf test.tar.bz2
test/
test/3.txt
test/test.tar
test/1.txt

test/2.txt




本文转自 yzllinux 51CTO博客,原文链接:http://blog.51cto.com/12947851/2058231,如需转载请自行联系原作者

<think>好的,我现在需要帮助用户解答关于Linux文件压缩打包方法以及Shell常用命令的实验总结的问题。首先,我要确保自己了解用户的具体需求。用户提到了“实验报告 总结 反思”,所以可能需要结构化的内容,适合作为实验报告的部分。 接下来,我需要回忆Linux中常用的压缩打包命令。常见的工具有gzip、bzip2、xz用于压缩,而tar用于打包。可能需要详细说明这些命令的用法,包括压缩、解压、查看内容等操作。同时,用户可能也需要知道不同压缩工具的区别,比如压缩率和速度的权衡。 然后是关于Shell常用命令的实验总结。这里应该包括文件操作命令(如ls、cp、mv、rm)、目录操作(cd、mkdir、rmdir)、文本处理(cat、grep、awk、sed)、权限管理(chmod、chown)以及进程管理(ps、kill、top)等。需要给出每个命令的常见用法示例,并可能结合实验中的具体操作进行说明。 用户还提到“反思”,这部分可能需要讨论在实验过程中遇到的问题,比如命令参数记错、权限问题导致的错误,以及如何解决这些问题。此外,可以比较不同压缩工具的性能,比如gzip压缩速度快但压缩率一般,而xz压缩率高但速度慢,适用于不同场景。 需要检查是否有引用内容可以关联。用户提供的引用中,引用[2]提到了Bootloader和内核解压,可能压缩有关联,可以引用此处说明压缩在系统启动中的应用。引用[3]提到隐私和响应速度的权衡,可能在反思部分讨论压缩工具的选择时提及速度和效率的平衡。 另外,按照用户的系统级指令,必须使用正确的中文回答,数学公式用$...$,独立公式用$$...$$,但这个问题可能涉及较少数学内容。不过如果有涉及,比如文件大小的计算,可能需要使用公式,例如压缩后的文件大小计算。 需要确保回答结构清晰,分点说明,帮助用户逐步理解。可能的结构是:先讲压缩打包方法,再讲Shell常用命令,最后总结反思。每个部分下分小点,使用代码块展示命令示例,引用相关文献。 最后,生成相关问题,可能涉及压缩工具比较、Shell脚本编写、常见错误处理等。</think>### Linux文件压缩打包方法 #### 1. 常用压缩工具 - **gzip**:压缩速度快,压缩率一般 ```bash gzip file.txt # 压缩为file.txt.gz gunzip file.txt.gz # 解压 zcat file.txt.gz # 查看压缩文件内容 ``` - **bzip2**:压缩率优于gzip,速度较慢 ```bash bzip2 file.txt # 压缩为file.txt.bz2 bunzip2 file.txt.bz2 # 解压 bzcat file.txt.bz2 # 查看内容 ``` - **xz**:压缩率最高,速度最慢 ```bash xz file.txt # 压缩为file.txt.xz unxz file.txt.xz # 解压 xzcat file.txt.xz # 查看内容 ``` #### 2. 打包工具tar ```bash tar -cvf archive.tar dir/ # 打包目录(不压缩) tar -xvf archive.tar # 解包 tar -czvf archive.tar.gz dir/ # 打包并用gzip压缩 tar -xzvf archive.tar.gz # 解压gzip压缩包 tar -cjvf archive.tar.bz2 dir/ # 打包并用bzip2压缩 tar -xjvf archive.tar.bz2 # 解压bzip2压缩包 ``` #### 3. 应用场景对比 - **快速压缩**:选择gzip(如日志文件) - **高压缩率**:选择xz(如软件分发包) - **系统级压缩**:Linux内核镜像常使用gzip/xz(参考内核解压流程[^2]) --- ### Shell常用命令实验总结 #### 1. 文件操作 - **查看编辑** ```bash cat file.txt | grep "keyword" # 过滤关键词 nano file.txt # 文本编辑 ``` - **权限管理** ```bash chmod 755 script.sh # 设置可执行权限 chown user:group file # 修改所属用户/组 ``` #### 2. 目录管理 ```bash mkdir -p dir1/dir2 # 递归创建目录 rm -rf dir/ # 强制删除目录(慎用) ``` #### 3. 进程控制 ```bash ps -aux | grep nginx # 查看进程 kill -9 PID # 强制终止进程 ``` --- ### 实验反思 1. **常见错误** - 误用`rm -rf`导致数据丢失(需添加确认提示) - 压缩参数错误(如`tar`忘记`-z`导致解压失败) 2. **性能权衡** - 高压缩率工具(如xz)适用于存储受限场景,但会增加CPU负载[^3] 3. **脚本优化** - 结合`find`压缩命令实现批量处理 - 使用`&&`串联命令提高操作可靠性 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值