备份压缩相关命令

Linux 命令学习-备份压缩相关命令

@(笔记-初稿)[Linux]

[TOC]

记录我对于Linux的学习,备份相关的命令:

ps:“~” 表示为 home 目录,“.” 则是表示目前所在的目录,“…” 则表示当前目录的上一层目录
-h 用人类可读的格式展示(G(千兆字节),M(兆字节),K(千字节)),大部分命令有这个参数

备份命令

tar 命令用于备份文件,本身不做压缩
格式:tar <操作参数> [选项] 文件或者目录
操作参数是指要做的动作,必选至少有一个,有:

  1. [-]A --catenate --concatenate 将一存档与已有的存档合并
  2. [-]c --create 创建一个新的存档
  3. 1.[-]d --diff --compare 比较存档与相应的未存档文件的不同之处
  4. [-]r --append 将文件附加到存档结尾
  5. [-]t --list 列出存档中文件的目录
  6. [-]u --update 仅将较新的文件附加到存档中
  7. [-]x --extract --get 从存档提取文件
  8. –delete 把指定文件从存档中删除(不要用于磁带!)

常用选项:

  1. -t 显示压缩文件的内容
  2. -z 支持gzip解压文件
  3. -j 支持bzip2解压文件
  4. -Z 支持compress解压文件
  5. -v 显示操作过程
  6. -l 文件系统边界设置
  7. -k 保留原有文件不覆盖
  8. -m 保留文件不被覆盖
  9. -W 确认压缩文件的正确性
  10. -f 指定压缩文件
1
2
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName

zip与unzip

zip 用于压缩文件。在window平台中rar是常用的压缩文件格式,但是在linux平台中zip是个使用广泛的压缩文件格式。
格式:zip [参数] [打包后的文件名] [打包的目录路径]
常用参数:

  1. -a 将文件转成ASCII模式
  2. -b<工作目录> 指定暂时存放文件的目录。
  3. -c 替每个被压缩的文件加上注释。
  4. -d 从压缩文件内删除指定的文件。
  5. -D 压缩文件内不建立目录名称。
  6. -F 尝试修复损坏的压缩文件
  7. -h 显示帮助界面
  8. -m 将文件压缩之后,删除源文件
  9. -n 特定字符串 不压缩具有特定字尾字符串的文件
  10. -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
  11. -q 安静模式,在压缩的时候不显示指令的执行过程
  12. -r 将指定的目录下的所有子目录以及文件一起处理
  13. -S 包含系统文件和隐含文件(S是大写)
1
2
#将 /var/www/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
zip -q -r html.zip /var/www/html/

unzip 用于解压缩zip文件
格式:unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s) …] [-x xfile(s) …] [-d exdir]
常用参数:

  1. -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
  2. -l 显示压缩文件内所包含的文件。
  3. -n 解压缩时不要覆盖原有的文件;
  4. -o 不必先询问用户,unzip执行后覆盖原有的文件;
  5. -P [密码] 使用zip的密码选项;
  6. -q 执行时不显示任何信息;
  7. -d<目录> 指定文件解压缩后所要存储的目录。
  8. -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
  9. -Z unzip -Z等于执行zipinfo指令。
1
2
3
4
#将压缩文件html.zip在当前目录下解压缩。
unzip html.zip
#将压缩文件html.zip在目录/var/www/html/下解压缩。
unzip html.zip -d /var/www/html/

gzip

gzip 用于压缩或解压缩文件,用它压缩文件后,其名称后面会多出".gz"的扩展名
格式:gzip [OPTION]… [FILE]…
常用选项:

  1. -c或–stdout或–to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。
  2. -d或–decompress或----uncompress  解开压缩文件。
  3. -f或–force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。
  4. -l或–list  列出压缩文件的相关信息。
  5. -n或–no-name  压缩文件时,不保存原来的文件名称及时间戳记。
  6. -N或–name  压缩文件时,保存原来的文件名称及时间戳记。
  7. -q或–quiet  不显示警告信息。
  8. -r或–recursive  递归处理,将指定目录下的所有文件及子目录一并处理。
  9. -S<压缩字尾字符串>或----suffix<压缩字尾字符串>  更改压缩字尾字符串。
  10. -t或–test  测试压缩文件是否正确无误。
  11. -v或–verbose  显示指令执行过程。
  12. -<压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。
  13. –best  此参数的效果和指定"-9"参数相同。
  14. –fast  此参数的效果和指定"-1"参数相同。
1
2
3
4
5
6
7
8
9
10
11
12
13
ls *
a.txt b.txt c.txt #有三个文件
gzip * #压缩,不保留原文件
ls *
a.txt.gz b.txt.gz c.txt.gz


gzip -dv * //解压文件,并列出详细信息
a.txt.gz: 27.8% -- replaced with a.txt
b.txt.gz: 8.0% -- replaced with b.txt
c.txt.gz: 25.9% -- replaced with c.txt

gzip -c 待压缩文件 > 带压缩文件.gz #压缩文件并保留源文件

bzip2 系列

bzip2 是.bz2文件的压缩程序。
bunzip2 bzip2 bzcat是同一个程序,bunzip2 == bzip2 -d
格式:

  1. -c或–stdout  将压缩与解压缩的结果送到标准输出。
  2. -d或–decompress  执行解压缩。
  3. -f或–force  bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。
  4. -h或–help  显示帮助。
  5. -k或–keep  bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。
  6. -s或–small  降低程序执行时内存的使用量。
  7. -t或–test  测试.bz2压缩文件的完整性。
  8. -v或–verbose  压缩或解压缩文件时,显示详细的信息。
  9. -z或–compress  强制执行压缩。
  10. -L,–license,
  11. -V或–version  显示版本信息。
  12. –repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。
  13. –repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。
  14. -压缩等级  压缩时的区块大小

ps:
bunzip2 (以及 bzip2 -d) 对所有指定的文件进行解压缩处理。不是由 bzip2 产生的文件将被忽略,同时发出一个警告信息。 bzip2 按下
列方式由压缩文件名确定解压后的文件名:

          filename.bz2    解压成   filename
          filename.bz     解压成   filename
          filename.tbz2   解压成   filename.tar
          filename.tbz    解压成   filename.tar
          anyothername    解压成   anyothername.out

   如果文件名的后缀不是下列之一: .bz2, .bz, .tbz2 或 .tbz, .bzip2 将抱怨无法确定原始文件名,并采用原文件名加 .out 作为解压缩
   文件名。
1
2
bzip2 add.c add.s # 将原文件删除并压缩,后缀名为.bz2
bzip2 -d *.bz2 # 解压缩

bzip2recover - 恢复损坏的 bzip2 文件
格式:bzip2recover filename