关于linux一些备份、还原,压缩,归档的命令

15.1 gzip
gzip(1) 是GNU的压缩程序。它只对单个文件进行压缩。基本用法如下:
$ gzip filename
程序执行以后,文件名会变成filename.gz,而且一般情况下大小会比原文件要小。注意,程序并不新建一个新的文件filename.gz, 而是将filename变成filename.gz。一般来说,文本文件压缩率会比较高。而那些jpeg图像,mp3等类似文件的压缩率就没有那么好了,因为它们本来就已经被压缩过了的。这个基本用法考虑了压缩时间和压缩后文件尺寸的平衡问题(译者注:如果要使压缩后的文件更小,就需要用到更多的时间)。要得到最小文件大小(最大压缩),可以使用如下用法:
$ gzip -9 filename
这样就可以得到gzip能够压缩的最小文件尺寸,但是需要更长的压缩时间。上面的数字越小,压缩就越快,相反压缩率也就越小。

将gzip压缩的文件解压缩,有两个命令可以使用,但实际上它们是同一个程序。只要压缩文件的后缀名被gzip程序认到,它就可以解压缩。后缀名可以是:.gz, -gz, .z, -z, .Z 和 –Z。可以使用的第一个命令是:
$ gunzip filename.gz
使用上面的命令后,filename.gz会被解压缩并去掉后缀名.gz变成filename。gunzip 实际上是gzip程序的一部分,它跟gzip –d 这个命令有等同效果。但是我们使用的时候,经常使用gunzip, 因为这个用法似乎更酷些。: ^ )

15.2 bzip2
bzip2(1)是 Slackware Linux里面压缩程序的另一个选择。它的压缩算法不同于gzip。与gzip 相比有其优点,也有一些缺点。bzip2的主要优点在于它压缩后文件的尺寸,对于相同文件,bzip2 压缩后的尺寸几乎总是小于gzip的压缩结果。有些时候,这个差距会相当大。这个优点对于使用小猫下载文件的用户来说表现得尤为突出。需要提醒的是,当在一些公共ftp 服务器上下载文件时,在.gz和.bz2文件中尽量选择.bz2文件是一种基本的网络礼节,因为这样可以减少服务器的负担以给更多人服务。
bzip2的缺点在于,它占用的CPU的使用率会比gzip更多。这就是说,压缩同一个文件,bzip2要比gzip使用更长的时间,占用更多的CPU资源。所以,当你在两者之中考虑选用哪种压缩程序的时候,需要衡量的是速度和压缩后的文件尺寸哪个对你来说更重要些。

bzip2的使用方法和gzip是一样的,所以我们不再花时间讨论了。像gunzip一样,bunzip2的效果等同于bzip2 –d。与gzip最大的不同是bzip2使用后缀名.bz2.
$ bzip2 filename
$ bunzip2 filename.bz2
$ gunzip -9 filename

15.3 tar
tar(1)是一个GNU的磁带归档程序。它可以将几个文件或者目录打包压缩成一个文件。这个特点让我们可以压缩整个目录树,而单使用gzip和 bzip2是无法做到的。tar有很多命令行参数,你可以在手册页找到它们。在这一节里,我们只是讨论一下那些经常用到的tar的用法。

tar 最常用的用法是将我们从网站或者ftp上下载的文件解压缩然后在解包。a.tar.gz是我们经常看到的文件名格式,这就是我们通常说的 "tarball",它是先把一些文件用tar打包,然后在用gzip压缩。你也有可能会看到名为a.tar.Z的文件,这也是同样的做法,但是你一般只会在比较老的Unix 系统里面遇到。
另外,你也会在另外一些地方看到如a.tar.bz2这样文件。Kernel源文件就是用这种格式发布的,为的是可以让文件更小,便于下载。你可能已经猜到,它就是先将一些文件用tar打包,然后再用bzip2压缩。

我们可以将上述格式的文件用tar加一些命令行参数进行解包。-z参数表示在首先运行gunzip将文件解压缩。将一个tarball解包的最常用的用法是:
$ tar -xvzf filename.tar.gz
这里有不少的参数,那么它们各自有什么意思呢?
-x表示提取文件。这是一个非常重要的参数,因为它告诉tar对输入的文件具体怎么处理。在这里,我们要将打包的文件分离还原成打包前的状态。
-v表示详述。加入这个参数让程序将解包出来的每一个文件列出来。如果觉得列出来太烦了,你完全可以把这个参数去掉来关闭这个功能。相反,如果你需要每个解包文件更详细的信息,则可以使用-vv参数。
-z是告诉tar先运行gunzip将文件解压缩。
-f是告诉tar在命令行输入的下一个串字符是需要处理的文件。

上面这个命令也可以用一些其他形式的写法。在比较老的系统里面由于缺少新版本的GNU tar程序,你可能会看到它是写成这样的:
$ gunzip filename.tar.gz | tar -xvf -
这行命令先把文件解压缩,然后把解压的文件对输出到tar程序。gzip可以把其处理完的数据输到标准输出。这里就是把gzip解压缩的文件作为标准输出,然后由管道把文件送到tar程序进行解包。最后的 "-"表示处理标准输入。它将解包后的文件写入磁盘。

还有一种写法是将第一种命令格式的短划线去掉,像这样:
$ tar xvzf filename.tar.gz

你也可能会碰到bzip2压缩的打包文件。在Slackware Linux所带的tar程序版本可以像gzip压缩的打包文件一样,只是要把参数-z用-j代替:
$ tar -xvjf filename.tar.bz2

这里需要注意的是,tar会把解包的文件放到当前目录。所以如果要把一个放在/tmp目录文件解压缩到你的家目录的话,这里有一些做法可供选择:
选择一,把文件拷贝到家目录,然后解包
选择二,指定需要解包文件的路径
选择三,用-C 参数指定解包后存放文件的路径

$ cd $HOME
$ cp /tmp/filename.tar.gz
$ tar -xvzf filename.tar.gz

$ cd $HOME
$ tar -xvzf /tmp/finename.tar.gz

$ cd /
$ tar -xvzf /tmp/filename.tar.gz -C $HOME

上面所有的命令都是等效的。每一种做法都是把文件解包到你的家目录,源文件则留在原来的地方。

上面讲了那么多用tar解包的命令,现在让我们来看看tar是如何来打包的吧。
在大多数情况下,只需要用参数"-c"代替参数"-x"就可以了:
$ tar -cvzf filename.tar.gz .
在这行命令里面,参数-c是告诉tar来建立一个打包文件;而参数-z是将打包的文件通过gzip程序进行压缩。filename.tar.gz 是你将要建立的文件名。(译者添加:命令行最后的"."是告诉tar将当前目录下的所有文件/文件夹打包)

参数"-f"不是必需的,但是通常来说加上会是一个好主意。如果不加,tar会将数据写到标准输出,这就需要管道将tar输出到另外一个程序,像这样:
$ tar -cv filename.tar . | gpg --encrypt

这行命令把当前目录下的所有文件打包建立一个没有被压缩的tar归档文件,通过管道输出到gpg程序进行加密,让不知道密钥的人无法读到文件内容。

15.4 zip
最后,讨论一下处理zip文件的两个程序。zip文件在Windows世界里面是极为常用的,所以Linux也有相应的程序来处理它们。zip文件的压缩程序叫做zip(1),解压缩程序叫做unzip(1).
$ zip foo *
这行命令会建立一个包涵当前目录所有文件的的zip文件 foo.zip。zip会自动将
.zip后缀名加上,所以我们不需要在命令中加上。你也可以加上一个参数-r使zip将当前目录下的所有文件夹目录也加在zip文件中:
$ zip -r foo *

解压缩文件很简单,像这样:
$ unzip foo.zip
这样会解压缩foo.zip里面的所有文件和文件夹

zip程序还有一些高级应用参数,包括建立自解压包,压缩是保留源文件,调节压缩文件的尺寸等等,在这里就不一一赘述了。如果想了解更多,请查看手册页。

dump

1、dump是Linux系统提供的备份和恢复工具,各种版本都提供(不提供日志文件)。

2、dump 执行文件系统增量备份的存储操作,可以备份到磁带、磁盘或一个磁盘文件。

指定文件备份

整个文件系统备份或增量备份

一个确定日期后改变的文件备份

上次备份后改变的文件备份

3、命令格式:

dump level unbdsf blkg-factor density size device-name file_system

level:备份级别,0~9

b::因子

u:更新dumpdates文件(/etc/dumpdates)

n:当dump完成时通知操作系统成员组的成员

d和s:备份卷的大小

f:指定的备份设备

w和W:空运行得到需要备份的文件系统的信息

restore

1、用于检查dump程序创建的转储以恢复新文件或整个文件系统

2、命令格式:

restore [-ctrox] vbsfy blocking-factor file-number device-name

c:全部恢复

t:用于显示卷的内容表

r:指明卷的整个内容应该被恢复到当前工作目录

o:覆盖原来的文件

x:提取恢复的文件名和路径名

i:允许交互式恢复

dump和restore的缺点

1、运行dump时,文件系统必须是不活跃的。

2、dump有时不能处理打开的文件和其他问题。

 cpio

1、通过拷贝的方式实现文件或文件系统的备份与恢复

cpio –o 创建一个备份

cpio –i 从备份中恢复

cpio –p 把一个文件从一个文件系统拷贝到另一个文件系统

cpio恢复

1、操作

全恢复、部分恢复

恢复到当前目录还是文件系统

用模式匹配进行恢复

交互式恢复

读取文件内容表

 tar

1、备份:tar cvfb [pattern]

2、恢复:tar mopxvf device pattern

 dd

1、将文件或原始数据以拷贝方式进行备份。

2、通过管道,实现数据流操作,在传输中把拷贝内容从一种格式转化为另一种格式。

3、借助管道能完成标准输入到标准输入,实现数据流从一个命令到另一个命令,从一个系统到另一个系统。

tar、cpio、dd

tar、cpio与dump的区别

1、dump在每个卷的开头位置写入一个内容表,用restore恢复时,该索引会被读取,在该索引表上可以运行cd、ls命令查看、选择要恢复的文件。

2、dump支持远程设备的备份,cpio不支持。

3、tar和cpio可以通过文件系统来访问文件而与文件系统无关。

关于linux一些备份、还原,压缩,归档的命令

时间: 2024-10-14 18:59:14

关于linux一些备份、还原,压缩,归档的命令的相关文章

Linux下的文件压缩归档与系统进程管理

Linux下的文件压缩归档与系统进程管理   一:实验环境 1):在虚拟机下配置好linux系统 2):了解文件压缩归档的含义 二:实验目标 1):理解并会用文件的压缩归档 2):熟练掌握文件压缩归档的命令 3):理解各种压缩形式的使用环境 4):理解个文件的压缩区别 三:实验步骤 一:压缩的常用形式及命令 1):常用形式 grub.tar grub.tar.bz2 grub.tar.gz grub.tar.zip 2):压缩命令分析 [[email protected] test]#tar -

Linux系统备份还原脚本

\ #!/bin/sh #备份linux系统. #命令如:sh 当前脚本.sh /dev/sdax 备份文件名 #参数1:备份的盘,备份前先umount.如:/dev/sda1 #参数2:备份保存的文件名. if [ $# -ne 2 ]; then echo "请传入两个参数." exit 0 fi #当前日期,用于建立临时文件夹和备份文件. datename=`date +%Y%m%d_%H%M%S` #临时挂载的文件夹名称 tmpdir="/tmp/dir${daten

Linux 的备份和压缩命令

linux备份和压缩的命令,简单介绍一下,详细百度 tar  备份文件(tar是用来建立,还原备份文件的工具程序,可以加入,解开备份文件内的文件) tar[选项][文件] -A 追加tar文件到文件归档 -c 创建一个新归档 -d 找出归档和文件系统的差异 -r 追加文件至归档结尾 -u 仅追加比归档中副本更新的文件 -x 从归档中解出文件

Linux系统备份还原工具2(TAR/压缩工具)

相比DD备份还原工具,TAR压缩还原工具更加小巧和灵活,但是不能备份MBR.当然可以通过重新安装GRUB来解决MBR的这一问题.同时,TAR的做法也是官方推荐的. 注意:一个硬盘启动时最新经过MBR(只有512KB),然后通过MBR指向操作系统的GRUB(也就是内核的引导程序). 准备备份 为准备系统的完整备份,最好清空垃圾桶,并从当前安装中删除任何不需要的文件和程序.这包括可以填充不需要的许多文件的主文件夹.这样做可以减少创建的存档的大小,就是说释放空间有多少. 下面列出了一个例子,可以自己决

linux计划任务及压缩归档

1.计划任务介绍 我们可以通过一些设置.来让电脑定时提醒我们该做什么事了.或者我们提前设置好,告诉电脑你几点做什么几点做什么,这种我们就叫它定时任务.而遇到一些需要执行的事情或任务.我们也可以通过命令来告诉电脑一会临时把这个工作给做一下 总结:在我们LINUX中,我们可以通过crontab和at这两个东西来实现这些功能的 计划任务的作用:是做一些周期性的任务,在生产中的主要用来定期备份数据 计划任务的安排方式分两种: 定时性的,也就是例行.就是每隔一定的周期就要重复来做这个事情 突发性的,就是这

关于linux系统下文件压缩归档操作命令略提

Linux下文件压缩归档操作命令:gzip/ungzip 后缀 .gz  xz/unxz       后缀 .xz  bzip2/bunzip2 后缀 .bz2  tar 用于归档并压缩  -# :#为0-9 指定压缩比 gzip -c name 压缩结果输出到标准输出  -d 解压缩  -v verbose  zcat 不解压的情况下查看压缩文件  -r 递归压缩 xz -k 保留原文件 xzcat 不解压的情况下查看原文件 tar Jcf FILE.tar.xz /DIR/TO/FILE 将

小蚂蚁学习Linux(6)——压缩与解压缩命令详解

在Linux中常用的压缩格式有以下几个:.zip    .gz    .bz2    .tar.gz    tar.bz2.首先先解释前三个. .zip格式的压缩:    zip   压缩文件名    原文件名    如:zip    abc.zip    abc 后缀名是一定要写的,虽然Linux不关心后缀名,但是我们人类还是要看的. 压缩目录的时候需要加上选项    -r    如:zip    -r    目录名    源目录名 解压的方法也挺简单    unzip    [文件或目录]

linux中的常用压缩与解压缩命令

linux中常用的压缩格式有   .zip   .gz   .bz2   .tar.gz   .tar.bz2 一..zip 1.命令格式 zip 压缩文件名 源文件名         (压缩文件到当前目录) zip -r 压缩文件名 源目录名     (压缩目录文件到当前目录) unzip 压缩文件名                    (解压缩.zip文件到当前目录) 说明:.zip格式的压缩文件在Linux及Windows中通用,当源文件比较小时,压缩文件可能比原文件大(压缩格式的换算)

Linux系统备份还原工具4(rsync/数据同步工具)

rsync即是能备份系统也是数据同步的工具. 在Jenkins上可以使用rsync结合SSH的免密登录做数据同步和分发.这样一来可以达到部署全命令化,不需要依赖任何插件去实现. 命令参考:http://man.linuxde.net/rsync 说明: rsync命令 是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. rsy

[Linux] PHP程序员玩转Linux系列-备份还原MySQL

1.PHP程序员玩转Linux系列-怎么安装使用CentOS 2.PHP程序员玩转Linux系列-lnmp环境的搭建 3.PHP程序员玩转Linux系列-搭建FTP代码开发环境 前几天有个新闻,说是gitlab的工程师把数据文件给误删了,搞了个大事件,很多人都去围观了.备份工作应该在最开始的时候就要做,否则就会失去最佳时机,为了保证我的数据是安全的,因此我要搞备份了.备份分为逻辑备份和物理备份,逻辑备份是导sql,物理备份是基于文件的,这两种我都搞一下. 开启binlog 首先第一件事是打开bi