Linux 指令笔记(五)
Linux鬼鬼
解压缩 操作
在 Linux 中经常会下载到压缩文件,而压缩文件的格式有很多,比如 zip、rar、gz、xz、tar.gz、tar.xz 等。
比较常见的就是各种 .tar、.tar.xz、.tar.gz、.tar.bz、.tar.bz2、.tar.Z 后缀压缩包,这几个的解压缩命令基本一样,说明一下参数的意义。
tar 本身只是一个打包的作用,而 .tar 后面的 .xz / .gz / .bz 等等才是压缩格式,也就是比如 log.tar.gz 压缩包,就是先用 .tar 把指定文件/文件夹打包到一起,然后再用 gz 来压缩打包后的 .tar 为 .tar.gz。
tar 参数介绍
-x- 是从压缩文件提取(解压)文件出来,所以在解压命令中都有这个参数-c- 创建一个新的压缩包文件,所以在压缩命令中都有这个参数-f- 指定要解压的压缩包文件或要压缩的文件/文件夹,所以这个参数必须放在解压缩命令参数的最后,然后后面跟着要解压的压缩包文件或要压缩的文件/文件夹-j- 解压缩bz/bz2格式的参数-J- 解压缩xz/lzip格式的参数-z- 解压缩gz/tgz格式的参数-Z- 解压缩Z格式的参数-v- 详细列出解压缩过程中处理的文件
更多的命令可以用 tar --help 来查看。
tar、gz、zip 等解压压缩包示例
解压压缩包说明
# 解压后缀为 .tar 的压缩包tar -xf log.tar
# 解压后缀为 .tar.xz 的压缩包tar -xJf log.tar.xz
# 解压后缀为 .tar.gz 的压缩包tar -xzf log.tar.gz
# 解压后缀为 .gz 的压缩包,如提示命令不存在,请安装:# yum install gzip -y# 或# apt-get install gzip -ygzip -d log.gzgunzip log.gz
# 解压后缀为 .bz / .bz2 / tar.bz2 的压缩包bzip2 -d log.bzbunzip2 log.bztar -jxf log.tar.bz
bzip2 -d log.bz2bunzip2 log.bz2tar -jxf log.tar.bz2
# 解压后缀为 .Z / tar.Z 的压缩包uncompress log.Z
tar xZf log.tar.Z
# 解压后缀为 .rar 的压缩包,如提示命令不存在,请安装:# yum install unrar -y# 或# apt-get install unrar -y# 注意 rar 和 unrar 是分开的unrar x log.rar
# 解压后缀为 .zip 的压缩包,如提示命令不存在,请安装:# yum install unzip -y# 或# apt-get install unzip -y# 注意 zip 和 unzip 是分开的unzip log.zip提示:现在的 GNU tar 解压时会自动识别压缩格式,
tar xf log.tar.gz、tar xf log.tar.xz不写-z/-J也能解开,只记一个tar xf就够了。
更多的命令可以用 tar --help / gzip --help / unrar --help / unzip --help 来查看。
压缩 文件/文件夹 示例
压缩文件/文件夹说明
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.tar 压缩包tar -cf log.tar log.txttar -cf log.tar log
# 如果要压缩多个文件和文件夹,那么只需要在后面一直加下去即可tar -cf log.tar log.txt log2.txt log bash
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.tar.xz 压缩包tar -cJf log.tar.xz log.txttar -cJf log.tar.xz log
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.tar.gz 压缩包tar -czf log.tar.gz log.txttar -czf log.tar.gz log
# 压缩当前目录下的 log.txt 文件为 log.txt.gz# 注意 gzip 不能指定输出文件名,也不能直接压缩文件夹(文件夹要先用 tar 打包再压缩)gzip log.txt
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.tar.bz 压缩包# -j 就是 bzip2,扩展名叫 .bz 还是 .bz2 没有区别tar cjf log.tar.bz log.txttar cjf log.tar.bz log
# 用 bzip2 直接压缩单个文件为 log.txt.bz2(同样不能压缩文件夹)bzip2 -z log.txt
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.tar.bz2 压缩包tar cjf log.tar.bz2 log.txttar cjf log.tar.bz2 log
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.Z / log.tar.Z 压缩包# compress 同样只能处理单个文件compress log.txt
tar cZf log.tar.Z log.txttar cZf log.tar.Z log
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.rar 压缩包,如提示命令不存在,请安装:# yum install rar -y# 或# apt-get install rar -y# 注意打包用的是 rar,unrar 只能解压rar a log.rar log.txtrar a log.rar log
# 分别压缩当前目录下的 log.txt 文件 / log 文件夹为 log.zip 压缩包,如提示命令不存在,请安装:# yum install zip -y# 或# apt-get install zip -y# 注意 zip 和 unzip 是分开的zip log.zip log.txtzip log.zip log