今天在学linux打包、压缩、解压缩的一些命令,感觉蛮难记的T T,有一种明天就会忘的感觉><。但是也不耽误我和小可爱们分享呀~
先明晰一些概念~打包和压缩的是一个意思吗?答案是:NO! 打包是指打包是指将一大堆文件或目录什么的变成一个总的文件,压缩呢,则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的很多压缩程序只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另外的工具将这一大堆文件先打成一个包,然后再就原来的压缩程序进行压缩。
然后我们还会常常听到归档这个词,博主的理解是 归档和打包其实是一个意思的啦~
一、zip文件打包与解压缩
(一)zip打包和压缩
1.zip -r -q -o shiyanlou.zip /home/shiyanlou 使用zip把/home/shiyanlou目录压缩成shiyanlou.zip
2.zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou -x ~/*.zip
-[1-9]用于设置压缩级别,1 表示最快压缩但体积大,9 表示体积最小但耗时最久
-x 是为了排除我们上一次创建的 zip 文件,否则又会被打包进这一次的压缩文件中(这里只能使用绝对路径,否则不起作用)
3.zip -r -e -o shiyanlou_encryption.zip /home/shiyanlou 创建加密 zip压缩包
4.zip -r -e -l shiyanlou.zip /home/shiyanlou 创建windows解压后换行的zip包
5.du -h shiyanlou.zip 查看文件大小
6.du -h -d 0 *.zip ~ | sort 查看默认、最低、最高压缩级别及未压缩的文件的大小
(二)unzip解压缩
1.unzip shiyanlou.zip 解压到当前目录
2.unzip -q shiyanlou.zip -d ziptest 使用安静模式将文件解压到指定目录
3.unzip -l shiyanlou.zip 不解压只查看压缩包的内容
4.unzip -O GBK 中文压缩文件.zip 使用 -O(英文字母,大写 o)参数指定编码类型
二、rar文件打包与解压缩
(一)rar压缩
1.sudo apt-get install rar unrar 安装 rar 和 unrar 工具
2.rar a shiyanlou.rar . 使用 a 参数添加一个目录 ~ 到一个归档文件中(rar 的命令参数没有 -,如果加上会报错)
3.rar d shiyanlou.rar .zshrc 从指定压缩包文件中删除某个文件
4.rar l shiyanlou.rar 查看但不解压文件
(二)unrar解压
1.unrar x shiyanlou.rar 全路径解压
2.unrar e shiyanlou.rar tmp/ 去掉路径解压
三、tar 打包工具
1.tar -cf shiyanlou.tar ~ 创建一个 tar 包
2.tar -xf shiyanlou.tar -C tardir 解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)
3.tar -tf shiyanlou.tar 只查看不解包文件 -t 参数
4.tar -czf shiyanlou.tar.gz ~ 使用 gzip 来压缩文件
5.tar -xzf shiyanlou.tar.gz 解压 *.tar.gz 文件
压缩文件格式 参数
*.tar.gz -z
*.tar.xz -J
*tar.bz2 -j
练习:
如何将/home/zheng目录下的所有文件打包压缩成/tmp/zheng/tar.gz?怎样从压缩包中恢复?
打包:tar -zcvf /tmp/zheng.tar.gz /home/zheng
解包:tar -zxvf /tmp/zheng.tar.gz
今天写的很匆忙,因为第一次没自动保存刷新了就啥都没了T T。可恶的优快云...所以感觉可能会有错误,先这样啦~明天再改~
本文介绍了Linux系统中常用的文件打包、压缩与解压缩命令,包括zip、unzip、rar、unrar及tar等工具的基本用法。通过具体示例展示了不同场景下如何选择合适的命令及其参数。

被折叠的 条评论
为什么被折叠?



