Linux学习笔记四

文件打包

常见的文件压缩包文件格式,windows上常见的有*.zip*.7z。但Linux上要有更多,如下:

文件后缀名 说明
*.zip zip 程序打包压缩的文件
*.rar rar 程序压缩的文件
*.7z 7zip 程序压缩的文件
*.tar tar 程序打包,未压缩的文件
*.gz gzip 程序(GNU zip)压缩的文件
*.xz xz 程序压缩的文件
*.bz2 bzip2 程序压缩的文件
*.tar.gz tar 打包,gzip 程序压缩的文件
*.tar.xz tar 打包,xz 程序压缩的文件
*tar.bz2 tar 打包,bzip2 程序压缩的文件
*.tar.7z tar 打包,7z 程序压缩的文件

使用zip打包文件夹

1
2
3
4
cd 目录
zip -p -r -o fiel.zip 路径
du -h file.zip
file file.zip

其中,-r参数表示递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o表示输出文件,需在其后紧跟打包输出文件名。后面使用du命令查看打包后文件的大小。

  • 设置压缩级别为9和1(9最大,1最小),重新打包。
1
2
zip -r -9 -q -o filename.zip
zip -r -1 -q -o filename.zip

1表示最快压缩但体积大,9表示体积最小但耗时最久。

在使用du命令分别查看默认压缩级别、最低、最高压缩级别以及未压缩的文件的大小。

1
du -h -d 0 *.zip ~ | sort

-h全称—human-reachable,易人们读;-d全称为—max-depth

创建加密zip包

使用-e参数可以创建加密压缩包

1
zip -r -e -o file.zip 待压缩文件目录

但如果想让在Linux创建的zip压缩包文件在Windows上解压后没有任何问题,需要使用以下命令:

1
zip -r -l -o file.zip 待压缩文件目录

使用unzip解压到当前目录

1
unzip file.zip

使用安静模式,将文件解压到指定目录:

1
unzip -q file.zip -d ziptest

但如果只想查看压缩包的内容可以使用-l参数:

1
unzip -l file.zip

文件压缩

文件打包工具tar

创建一个tar包:

1
2
cd 目录
tar -P -cf file.tar 文件路径

其中,-p保留绝对路径符,-c表示创建一个tar包文件,-f用于指定创建的文件名,文件名必须紧跟在-f之后。

  • 解包一个文件(-x参数)到指定路径的已存在目录(-C参数):

    1
    2
    mkdir tardir
    tar -xf file.tar -C tardir
  • 只查看不解包文件-t参数

    1
    tar -tf file.tar
  • 保留文件属性和跟随链接

    1
    tar -cpf etc.tar etc

冬季火炉

1
2
sudo apt-get install libaa-bin
aafire