27 January 2015

tar [option] tarfile filename

tar 主要模式

  • -A --catenate 追加tar文件至归档,合并多个tar文件
  • -c --create 创建一个新归档
  • -d --diff 找出归档文件和文件系统的差异
  • -r --append 追加文件到 归档结尾
  • -t --list 列出归档内容
  • -u --update 仅追加比归档中副本更新的文件
  • -x --extract 从归档中解出文件
  • -f --file 指定归档文件
  • -v,--v 显示进度信息
  • -C 指定文件提取得目录
  • --totals 归档完成后,打印总归档字节数
  • --delete 从归档文件中删除指定的文件
  • --exclude 归档时,排除指定样式的文件
  • -j 生成归档文件时,使用bunzip格式进行压缩
  • -z 生成归档文件时,使用gzip格式进行压缩
  • --lzma 生成归档文件时,使用lzma格式进行压缩
  • -a 生成归档文件时,根据扩展名自动进行压缩

实例

  • tar -czvf test.tar.gz test 将test文件夹打包压缩
  • tar zxvf test.tar.gz 解压
  • tar -tf test.tar.gz 查看包里面的文件信息
  • tar -cf test.tar *.jpg 将当前目录所有.jpg文件打包成一个test.tar文件
  • tar -rf test.tar *.gif 将所有.gif文件增加到test.tar的包里面
  • tar -uf test.tar logo.gif 更新原来tar包test.tar中logo.gif文件
  • tar -xf test.tar 解出test.tar包中所有文件
  • tar -cjf test.tar.bz2 *.jpg 压缩成.bz2的压缩文件
  • tar -xjf test.tar.bz2 解压.bz2文件
  • tar -cZf test.tar.Z *.jpg 压缩成.Z的压缩文件
  • tar -xZf all.tar.Z 解压.Z文件
  • tar -xvf all.tar file_one file_two 提取归档中的指定文件
  • tar -Af file_one.tar file_two.tar 合并两个tar文件到file_one.tar
  • tar -f all.tar --delete file_one 删除指定文件
  • tar -cf all.tar * --exclude "*.log" 归档时排除日志文件

gzip/gunzip 压缩和解压缩文件

gzip [option] file

gunzip [option] file

gzip只能压缩单个文件,如果指定多个文件,则会生成多个单独的压缩文件,gzip会在生成压缩文件后,删除源文件,gunzip会在解压缩完成后,删除源文件

  • -l,--list 列出压缩文件的属性信息
  • --fast 指定最低压缩比
  • --best 指定最高压缩比
  • -n 指定压缩比
  • -v 显示进度信息

bzip2/bunzip2 进行压缩/解压缩

bzip2 file bunzip2 file

bzip2通常能生成比gzip压缩比更高的文件,默认bzip2会删除源文件,-k会保留

  • -k 保留源文件
  • -n 指定压缩比

zip/unzip 进行压缩/解压缩

zip [option] file file2 dirs

zip压缩/解压缩后,不会删除源文件

  • -r 递归,压缩目录时使用
  • -l 列出压缩文件内容
  • -d 从压缩文件中删除指定文件
  • -u 更新压缩文件的内容

实例

压缩文件

  • zip all.zip file
  • zip all.zip file_one file_two
  • zip -r all.zip dri_name

更新压缩文件

  • zip all.zip -u log.txt

删除指定的内容

  • zip -d all.zip log.txt

解压文件

  • unzip all.zip

列出压缩文件的内容

  • unzip -l all.zip