ubuntu cpio ubuntu哪个版本最好

大家好,关于ubuntu cpio很多朋友都还不太明白,今天小编就来为大家分享关于ubuntu哪个版本最好的知识,希望对各位有所帮助!

ubuntu系统查找命令大全ubuntu查找命令详解

一.以文件名查找:

1. find命令

find/-name"filename"

目的:在根目录“/”开始搜被称为filename的文件,“filename”文件名可以包含通配符(*,?),注意:filename是文件名字符串,可以带双引号,也可不带find命令功能强大,它有很多选项让你以不同的方式搜索文件,例如,通过日期,文件大小,权限,拥有者等等。

2. locate命令

locate filename

发现包含字符串“filename”的文件名。这比find命令更容易。但是基于数据库(通常在夜间重建),所以你无法找到刚刚存到文件系统的文件。为了强制立即更新数据库,作为超级用户可以使用:updatedb&(中间没有空格)

3. which命令

which executeable_name

查找可执行文件,根据可执行文件的文件名。

例如 which apache2,返回/usr/sbin/apache2

二.以文件内容查找

1. grep-n字符串名字/filepath/filename

返回包含该字符串的该行,可以是多行。且包含行数。

2. sudo gedit/filepath/filename

而后,用ctrl+F去查找相应的字符串。

3. vi或者less命令可以查找相应的内容

例如 vi/filepath/filename而后,输入“/字符串”,按下字母“n”到下一个匹配的字符串

4. tail命令

查看文件内容的特殊方法

1.如果你只想看文件的前5行,可以使用head命令,如:

head-5/etc/passwd

2.如果你想查看文件的后10行,可以使用tail命令,如:

tail-20/etc/passwd

tail-f/var/log/messages

参数-f使tail不停地去读最新的内容,这样有实时监视的效果

tail-f/var/log/messages

按Ctrl+C后,直接从脚本退出到提示符下了

搜索

----

whereis

查找软件的安装路径

-b只查找二进制文件

-m只查找帮助文件

-s只查找源代码

-u排除指定类型文件

-f只显示文件名

-B在指定目录下查找二进制文件

-M在指定目录下查找帮助文件

-S在指定目录下查找源代码

locate

在文件索引数据库中搜索文件

-d搜索指定数据库

updatedb

更新文件索引数据库

find [路径]

查找文件

-name根据文件名查找文件

-iname根据文件名查找文件,忽略大小写

-path根据路径查找文件

-ipath根据路径查找文件,忽略大小写

-amin过去N分钟内访问过的文件

-atime过去N天内访问过的文件

-cmin过去N分钟内修改过的文件

-ctime过去N天内修改过的文件

-anewer比参照文件更晚被读取过的文件

-cnewer比参照文件更晚被修改过的文件

-size根据文件大小查找文件,单位b c w k M G

-type根据文件类型查找文件。b块设备 c字符设备 d目录 p管道文件 f普通文件 l链接 s端口文件

-user按归属用户查找文件

-uid按UID查找文件

-group按归属群组查找文件

-gid按GID查找文件

-empty查找空文件

grep|"<正则表达式>" [文件名]

在文件中搜索内容

通用格式:find pathname-options [-print-exec-ok]

例子:

find/-name filename再根目录里面搜索文件名为filename的文件

find/etc-name*s*在目录里面搜索带有s的文件

find/etc-name*S在目录里面搜索以s结尾的文件

find/etc-name s*在目录里面搜索以s开头的文件

find/-amin-10在系统中搜索最后10分钟访问的文件

find/-atime-2查找在系统中最后48小时访问的文件

find/-empty查找在系统中为空的文件或者是文件夹

find/-group groupname查找在系统中属于groupname的文件

find/-mmin-5查找在系统中最后5分钟修改过的文件

find/-mtime-1查找在系统中最后24小时修改过的文件

find/-nouser查找在系统中属于费用户的文件

find/-user username查找在系统中属于username的文件

find/-ctime-1查找在系统中最后24小时被改变状态的文件

find/-fstype type查找在系统中文件类型为?的文件

find/-user user1name-or-user user2name查找在系统中属于user1name或着属于user2name的文件

find/-user user1name-and-user2name在系统中查找既属于user1name又属于user2name用户的文件.

一、find命令

1、find命令的一般形式为;

find pathname-options [-print-exec-ok...]

2、find命令的参数;

pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。

-print: find命令将匹配的文件输出到标准输出。

-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command'{} \;,注意{}和\;之间的空格。

-ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。

3、find命令选项

-name

按照文件名查找文件。

-perm

按照文件权限来查找文件。

-prune

使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。

-user

按照文件属主来查找文件。

-group

按照文件所属的组来查找文件。

-mtime-n+n

按照文件的更改时间来查找文件,- n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-m time选项。

-nogroup

查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。

-nouser

查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。

-newer file1! file2

查找更改时间比文件file1新但比文件file2旧的文件。

-type

查找某一类型的文件,诸如:

b-块设备文件。

d-目录。

c-字符设备文件。

p-管道文件。

l-符号链接文件。

f-普通文件。

-size n:[c]查找文件长度为n块的文件,带有c时表示文件长度以字节计。

-depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。

-fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。

-mount:在查找文件时不跨越文件系统mount点。

-follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。

-cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。

另外,下面三个的区别:

-amin n

查找系统中最后N分钟访问的文件

-atime n

查找系统中最后n*24小时访问的文件

-cmin n

查找系统中最后N分钟被改变文件状态的文件

-ctime n

查找系统中最后n*24小时被改变文件状态的文件

-mmin n

查找系统中最后N分钟被改变文件数据的文件

-mtime n

查找系统中最后n*24小时被改变文件数据的文件

4、使用exec或ok来执行shell命令

使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的

在有些操作系统中只允许-exec选项执行诸如l s或ls-l这样的命令。大多数用户使用这一选项是为了查找旧文件并删除它们。建议在真正执行rm命令删除文件之前,最好先用ls命令看一下,确认它们是所要删除的文件。

exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。

例如:为了用ls-l命令列出所匹配到的文件,可以把ls-l命令放在find命令的-exec选项中

# find.-type f-exec ls-l{} \;

-rw-r--r-- 1 root root 34928 2003-02-25./conf/httpd.conf

-rw-r--r-- 1 root root 12959 2003-02-25./conf/magic

-rw-r--r-- 1 root root 180 2003-02-25./conf.d/README

上面的例子中,find命令匹配到了当前目录下的所有普通文件,并在-exec选项中使用ls-l命令将它们列出。

在/logs目录中查找更改时间在5日以前的文件并删除它们:

$ find logs-type f-mtime+5-exec rm{} \;

记住:在shell中用任何方式删除文件之前,应当先查看相应的文件,一定要小心!当使用诸如mv或rm命令时,可以使用-exec选项的安全模式。它将在对每个匹配到的文件进行操作之前提示你。

在下面的例子中, find命令在当前目录中查找所有文件名以.LOG结尾、更改时间在5日以上的文件,并删除它们,只不过在删除之前先给出提示。

$ find.-name"*.conf"-mtime+5-ok rm{} \;

rm..../conf/httpd.conf>? n

按y键删除文件,按n键不删除。

任何形式的命令都可以在-exec选项中使用。

在下面的例子中我们使用grep命令。find命令首先匹配所有文件名为“ passwd*”的文件,例如passwd、passwd.old、passwd.bak,然后执行grep命令看看在这些文件中是否存在一个sam用户。

# find/etc-name"passwd*"-exec grep"sam"{} \;

sam:x:501:501::/usr/sam:/bin/bash

Ubuntu常用命令

在使用Ubuntu操作系统的过程中,掌握一些常用命令能极大地提高工作效率。本文将介绍Ubuntu中常用的命令分类,以帮助用户更好地管理和操作系统。

一、系统信息查看

使用“systemctl status”命令可以查看系统服务状态,通过“uptime”命令了解系统运行时间,利用“top”命令监控系统性能。

二、文件与目录操作

创建目录使用“mkdir”命令,删除使用“rmdir”或“rm-r”命令。文件复制使用“cp”命令,移动使用“mv”命令。使用“ls”查看目录内容,使用“cd”切换目录。

三、文件搜索

使用“find”命令搜索特定文件,通过“locate”命令快速查找。利用“grep”命令进行文本内容搜索,可以精确定位到需要的文本。

四、挂载文件系统

使用“mount”命令挂载外部设备,通过“umount”命令卸载。确保在挂载前确认设备类型和挂载点。

五、磁盘空间管理

使用“df-h”查看磁盘使用情况,利用“du-h”估计文件大小。通过“lsblk”查看磁盘块设备,使用“parted”管理分区。

六、用户与群组管理

使用“useradd”创建新用户,通过“usermod”修改用户信息,使用“passwd”修改密码。利用“groupadd”创建新群组,通过“gpasswd”管理群组成员。

七、文件权限设置

使用“chmod”命令设置文件或目录权限,使用“chown”更改所有者。权限表示为读(r)、写(w)、执行(x),使用“+”添加权限,“-”删除权限。

八、打包与压缩

使用“tar”命令打包文件,通过“zip”或“unzip”进行压缩与解压操作。确保在压缩前备份重要文件。

九、RPM包管理

在使用Fedora、RedHat等系统时,使用“yum”命令进行软件包安装、升级、卸载。确保系统更新以获取最新功能与安全补丁。

十、软件包升级器YUM

使用“yum update”命令升级所有软件包。确保系统始终运行在最新稳定版本,提高系统安全性和功能。

十一、文件内容查看

使用“cat”命令查看文件内容,通过“less”或“more”命令分页查看。使用“head”查看文件开头,使用“tail”查看文件结尾。

十二、文本处理

使用“sed”命令进行文本替换与编辑,通过“awk”进行文本分析与处理。确保在处理敏感数据时保护数据安全。

十三、SWAP文件系统

使用“swapon”命令激活SWAP空间,通过“swapoff”命令关闭SWAP。确保SWAP空间在不使用时关闭,避免占用大量物理内存。

十四、备份操作

使用“rsync”命令进行文件备份,通过“cpio”或“tar”命令创建完整系统备份。确保定期备份,以防数据丢失。

十五、关机与重启

使用“shutdown”命令关机,通过“reboot”命令重启。确保在执行关机与重启操作前保存所有未保存的更改。

如何备和恢复Ubuntu系统

在使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。

和备份Windows系统不同,如果你要备份Ubuntu系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3文件系统,你可能会丢失一些宝贵的数据。

1.备份系统

我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!

首先成为root用户:

$ sudo su

然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):

# cd/

下面是我用来备份系统的完整命令:

# tar cvpzf backup.tgz–exclude=/proc–exclude=/lost+found–exclude=/backup.tgz–exclude=/mnt–exclude=/sys/

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西,必须把“/media”也排除在外。

有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:

# tar cvpjf backup.tar.bz2–exclude=/proc–exclude=/lost+found–exclude=/backup.tar.bz2–exclude=/mnt–exclude=/sys/

2.恢复系统

在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了,你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

使用下面的命令来恢复系统:

# tar xvpfz backup.tgz-C/

如果你的档案文件是使用Bzip2压缩的,应该用:

# tar xvpfj backup.tar.bz2-C/

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:

# mkdir proc

# mkdir lost+found

# mkdir mnt

# mkdir sys

等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

Linux备份策略研究

世界上没有绝对安全的系统。如果想获得绝对安全的系统,只有不连接网络,不让管理员之外的人使用,刷卡管制人员进出,使用监视器监视录像,甚至于不要开机。但是这是完全不切实际的,我们仅能寄望尽量让系统能在承担低风险的情况下工作,因为任何操作系统都不可能毫无漏洞。那么怎样才能让系统承担最低的风险呢?回答因该是在保障系统尽量安全的基础上,做好各个系统上的数据备份工作。一旦系统遭受到毁灭性的打击,可将平时做好的备份数据及时恢复,这样才能使被破坏的系统迅速恢复正常,以避免不必要的损失。

下面针对Linux操作系统上的数据备份方法发表一下自己的看法。

数据备份种类

总的来说,在Linux操作系统中将备份分为两类:系统备份,实现对操作系统和应用程序的备份;用户备份,实现对用户文件的备份。在下面我们会看到,系统备份和用户备份是不同的。

系统备份

系统备份就是对操作系统和应用程序的备份,进行系统备份的原因是尽量在系统崩溃以后能快速简单完全地恢复系统的运行。进行备份的最有效方法是仅仅备份那些对于系统崩溃后恢复所必需的数据。

Linux系统中很多重要的文件位于/etc目录之下,如:

/etc/group:组用户信息;

/etc/passwd:包含所有的用户信息,如密码,登录shell等;

/etc/fstab:配置系统有哪些文件系统;

/etc/inittab:配置init在不同运行级别下分别如何启动系统;

/etc/hosts:域名解析的配置信息;

/etc/inetd.conf:进程控制信息;

/etc/printcap:配置如何与打印机通信;

/etc/XF86Config:包含XFree86的初始配置;

上面这些重要的配置文件都需要定期的做备份。

不同的系统可能有很多重要配置文件,可以看到/etc目录下的配置文件非常重要。当然,某些程序使用了其他目录下的一些文件,但是Linux的基本配置文件绝大多数都位于/etc目录下。很多人曾经花费了好长时间才正确的配置了XF86Config文件,想到如果重新再做一遍,就很费时费力。再举个例子,/etc目录下的passwd文件,如果误操作,将此文件更改,或删除了,则整个系统用户无法正常登录,如果定期或及时的对其备份,遇到上面的情况后,就可以非常快速的恢复。

如果修改了某个程序所使用的配置文件,一般不能将其搬移到其它的地方,因为程序通常在固定的地方寻找配置文件。因此记录对系统所做的修改也非常重要,无论所做的修改如何小,当系统崩溃时才能轻松的恢复系统。

用户备份

用户备份不同于系统备份,因为用户的数据变动更加频繁一些。当备份用户数据时,只是为用户提供一个虚拟的安全网络空间,合理的放置最近用户数据文件的备份,当出现任何问题,例如,误删除某些文件或者硬盘发生故障时,用户可以恢复自己的数据。

用户备份应该比系统备份更加频繁,也许每天都需要进行备份,或使用cron程序自动定期运行某个程序的方法来备份数据。

数据备份策略

不管系统多么可靠,总会发生一些意想不到的事情,致使系统数据丢失。因此使用备份来保护数据不丢失是一种非常重要的手段,尤其在系统数据非常重要的时候。经常进行数据备份能够减少偶然破坏造成的损失,保证系统能够从错误中恢复正常运行。备份不应该成为一个长时间痛苦的事情,但它是作为系统管理必不可少的工作,在着手之前进行详细的考虑和计划是应该的。

在进行备份之前,首先要选择合适的备份策略,这将决定何时需要备份,以及出现故障时进行恢复的方式。通常使用的备份方式有三种:

完全备份:每隔一定时间就对系统进行一次全面的备份,这样在备份间隔期间出现数据丢失等问题,可以使用上一次的备份数据恢复到前次备份时数据状况。这是最基本的备份方式,但是每次都需要备份所有的数据,并且每次备份的工作量也很大,需要大量的备份介质,因此这种备份不能进行的太频繁,只能每隔一段较长时间才进行一次完整的备份。但是这样一旦发生数据丢失,只能恢复到上次备份的数据,这期间内更新的数据就有可能丢失。

增量备份:首先进行一次完全备份,然后每隔一个较短时间进行一次备份,但仅仅备份在这个期间更改的内容。当经过一个较长的时间后再重新进行一次完全备份,开始前面的循环过程。由于只有每个备份周期进行一次完全备份,其他只进行更新数据的备份,因此工作量小,可以进行频繁的备份。例如以一个月为一个周期,一个月进行一次完全备份,每天晚上0点进行这一天改变的数据备份。这样一旦发生数据丢失,首先恢复到前一个完全备份,然后按日期一个一个恢复每天的备份,就能恢复到前一天的情况。这种备份方法比较经济。

累计备份:这种备份方法与增量备份相似,首先每月进行一次完全备份,然后每天进行一次更新数据的备份。但不同在于,增量备份是备份该天更改的数据,而累计备份是备份从上次进行完全备份后更改的全部数据文件。一旦发生数据丢失,可以使用前一个完全备份恢复到前一个月的状态,再使用前一个累计备份恢复到前一天的情况。这样做的缺点是每次做累计备份工作的任务比增量备份的工作量要大,但好处在于,增量备份每天都备份,因此要保存数据备份数量太多,而累计备份则不然,只需保存一个完全备份和一个累计备份就可以恢复故障以前的状态。另外在进行恢复工作时,增量备份要顺序进行多次备份的恢复,而累计备份只需两次恢复,因此它的恢复工作相对简单。

增量备份和累计备份都能以比较经济的方式对系统进行备份,在这些不同的策略之间进行选择不但与系统数据更新的方式相关,也依赖于管理员的习惯。通常在系统数据更新不是太频繁的话,可以选用更新备份的方式。但是如果系统数据更新太快,使每个备份周期后的几次累计备份的数据量相当大。这时候可以考虑增量备份或混用累计备份和增量备份的方式,或者缩短备份周期。

数据备份命令

在Linux系统中常用的备份命令通常有下面几种:

1.使用tar命令

Linux的实用程序tar最初是为了制作磁带存档而设计的(把文件和目录复制到磁带中,然后从存档中提取或恢复文件),而现在的应用中可以把它用于任何设备,它是数据备份中最常用的命令之一。

下面具体介绍tar命令的使用方法:

(1)格式:tar参数......

(2)参数:

c:创建备份(Create)

v:表示回显模式(Verbose),将产生一系列备份的文件列表

f:指定使用的备份文件,它后面的参数为输出的备份文件名

x:展开备份文件

t:显示备份文件的内容

T:后面跟随一个文件参数,指定从这个文件中读取要备份的各个文件的路径。如果不使用T参数,那么就需要一个参数,指明进行备份文件和目录的路径

Z:使用压缩方式创建和解开备份文件,这是GNU的新版tar的功能,需要同时安装gzip。

例如:

$ tar cvf backup.tar/etc

上面的命令将/etc下的所有文件打包成tar存档文件backup.tar。tar的第一个参数“cvf”,是tar的命令参数,“c”告诉tar创建一个存档文件;“v”选项迫使tar采用冗长模式,即在存档时打印每个文件名;“f”选项告诉tar下一个参数backup.tar是创建的存档文件名。

下面一行的命令将tar文件backup.tar解开并放到当前工作目录下。必须说明的是这样做是有危险的,因为在从tar文件中解开文件时,旧文件将被覆盖。

$ tar xvf backup.tar

在解开tar文件之前,知道在何处打开文件是非常重要的。例如,假设存档以下文件:/etc/hosts,/etc/group和/etc/passwd。如果用下述命令:

$ tar cvf backup.tar/etc/hosts/etc/group/etc/passwd

目录/etc会被加到每个文件名前。为了将文件展开到正确位置,需要用下述命令:

$ cd/

$ tar xvf backup.tar

这是因为文件从存档文件中抽取出路径名,如果用下述命令存档文件:

$ cd/etc

$ tar cvf hosts group passwd

这样目录名就不存在存档文件中,因此需要在展开文件之前用“cd/etc”命令进入目录etc。由此可见,tar文件的创建方式与在何处展开有很大关系。

命令:

$ tar tvf backup.tar

在解开tar文件之前显示tar文件的索引,用这种方式可以看到存档文件中与文件名有关的目录名,从而在正确位置上展开存档文件。

2.gzip和compress命令

与MS-DOS的存档程序不同, tar在存档过程中并不压缩文件。因此,如果存储两个1MB的文件,那么tar文件大小为2MB,gzip命令用来压缩文件(被压缩的文件并不需要是tar格式)。

例如:

$ gzip-9 backup.tar

压缩backup.tar文件,产生的文件为backup.tar.gz,开关“-9”告诉gzip用最高的压缩比。gunzip命令用来解开一个gzip压缩的文件,用“gzip-d”也可以达到同样效果。

例如:

$ gunzip backup.tar.gz

$ gzip-d backup.tar.gz

3.联合使用

介绍了这些命令之后,我们来尝试组合使用这些命令。为了压缩存储一组文件,可以用下述命令:

$ tar cvf backup.tar/etc

$ gzip-9 backup.tar

结果是形成文件backup.tar.gz。展开该文件时,用相反的命令:

$ gunzip backup.tar.gz

$ tar xvf backup.tar

tar命令还包括“z”选择项,它会自动采用gzip压缩算法来联机压缩/解压文件。例如,下列命令:

$ tar cvfz backup.tar.gz/etc

上面一行的命令等价于:

$ tar cvf backup.tar/etc

$ gzip backup.tar

而命令:

$ tar xvfz backup.tar.Z

可以用来代替下述命令:

$ uncompress backup.tar.Z

$ tar xvf backup.tar

案例实验

案例:使用tar进行备份。

选定了备份方式之后,可以使用tar、cpio、dump等备份工具软件将数据备份到磁带上。对于一般的备份,使用tar就足够了。tar能够创建备份文档,能够备份到磁带上或者产生一个文件,如:

$ tar cvf root.tar/root

将/root目录下的所有文档备份到root.tar文件中,root.tar为指定输出的备份文件,/roo t指出要做备份的目录。如果要备份到磁带上,将输出的备份文件指定为磁带设备文件即可:

$ tar cvf/dev/rmt/0h/root

如果设置了环境变量TAPE,则可以不使用选项“f”指定输出磁带设备名字:

$ TAPE=/dev/rmt/0h; export TAPE

$ tar cv/root

要进行增量备份,必须找出哪些文件在这个期间进行更新。这个任务可以由命令find来完成,例如查找过去七天更改的文件,并使用tar的“-T”参数制定进行备份的文件,命令如下:

$ find/-mtime-7-print>/tmp/filelist

$ tar-c-T/tmp/filelist-f/dev/rmt/0h

由于要使用find来找出需要备份的文件列表,那么就需要利用文件的修改时间进行查询,需要使用“-mtime”参数。另一个更有用的参数是“-newer”,可以查找出所有比某个文件更新的文件,由于备份是周期进行的,因此可以在完全备份之后生成一个标记文件,那么所有比这个文件新的文件都需要进行更新备份。

$ find/-newer full_back_tag_file-print>/tmp/filelist

进行数据备份需要定期执行,不能完全依赖于管理员手工进行备份。备份也应该选择在系统比较空闲时进行,以免影响系统的正常处理任务。通常可以选择半夜 0:00点之后进行备份,这样更不能将这个任务由管理员手工完成了。但Linux提供了定时服务cron程序,能够在确定的时间中执行一系列任务,因此数据备份必须和cron合作来完成,或者使用/etc下的daily,weekly,monthly文件做定时备份的操作。

阅读剩余
THE END