linux下解压缩命令大全(Solaris)

在Solaris环境下,
压缩的过程  打包tar >> 压缩gzip
解压的过程  解压gzip >> 解包tar

. tar
解包:tar xvf FileName
. tar
打包:tar cvf FileName
. tar DirName
(注:tar是打包,不是压缩!)

. gz
解压1:gunzip FileName
. gz
解压2:gzip -d FileName
. gz
压缩:gzip FileName
. tar

. tar . gz 和  . tgz
解压:tar zxvf FileName
. tar . gz
压缩:tar zcvf FileName
. tar . gz DirName

. bz2
解压1:bzip2 -d FileName
. bz2
解压2:bunzip2 FileName
. bz2
压缩: bzip2 -z FileName

. tar . bz2
解压:tar jxvf FileName
. tar . bz2
压缩:tar jcvf FileName
. tar . bz2 DirName

. bz
解压1:bzip2 -d FileName
. bz
解压2:bunzip2 FileName
. bz
压缩:
...

. tar . bz
解压:tar jxvf FileName
. tar . bz
压缩:
...

. Z
解压:uncompress FileName
. Z
压缩:compress FileName

. tar . Z
解压:tar Zxvf FileName
. tar . Z
压缩:tar Zcvf FileName
. tar . Z DirName

. zip
解压:unzip FileName
. zip
压缩:zip FileName
. zip DirName

. rar
解压:rar x FileName
. rar
压缩:rar a FileName
. rar DirName

rar请到:http:
// www . rarsoft . com / download . htm 下载!
解压后请将rar_static拷贝到
/ usr / bin目录(其他由 $ PATH环境变量指定的目录也可以):
#  cp rar_static  / usr / bin / rar

. lha
解压:lha -e FileName
. lha
压缩:lha -a FileName
. lha FileName

lha请到:http:
// www . infor . kanazawa-it . ac . jp / ~ishii / lhaunix / 下载!
解压后请将lha拷贝到
/ usr / bin目录(其他由 $ PATH环境变量指定的目录也可以):
#  cp lha  / usr / bin /

. rpm
解包:rpm2cpio FileName
. rpm | cpio -div

. deb
解包:ar p FileName
. deb data . tar . gz | tar zxf -

. tar  . tgz  . tar . gz  . tar . . tar . bz  . tar . bz2  . zip  . cpio  . rpm  . deb  . slp  . arj  . rar  . ace  . lha  . lzh  . lzx  . lzs  . arc  . sda  . sfx  . lnx  . zoo  . cab  . kar  . cpt  . pit  . sit  . sea
解压:sEx x FileName
. *
压缩:sEx a FileName
. * FileName

sEx只是调用相关程序,本身并无压缩、解压功能,请注意!
sEx请到: http:
// sourceforge . net / projects / sex下载!
解压后请将sEx拷贝到
/ usr / bin目录(其他由 $ PATH环境变量指定的目录也可以):
#  cp sEx  / usr / bin /

备份和恢复实用工具(Solaris)

tar
dd
cpio
pax

tar --创建磁带和文件存档,恢复文件和目录
tar 命令在很多 UNIX 平台上都可找到。它是一个用于将文件存档到磁带上的快速易用的工具。tar 也可以用于将多个文件存档为一个文件(也就是 tar 文件),使之可以移植到其他系统上使用。例如,如果需要,可以将整个用户主目录或安装目录复制到单个 tar 文件中,并在必要时将其移动到运行 HP-UX 的服务器上。

tar 命令有很多可用的选项,但是我将只讨论用于创建、提取或恢复的三个选项,并列出 tar 文件内容的选项。

tar 命令选项
-c: 创建 tar 文件
-t: 列出 tar 的内容
-x: 提取或恢复 tar 文件内容
-v: Verbose (显示 tar 所采取的动作)

tar 命令的基本语法如下:
tar <options>; <tar filename>; <file list>;
注意: 有时您将在一些 tar 命令例子中看到在选项前使用了破折号,这对于 tar 的正确运行不是必需的。
创建新的 tar 文件:

% tar
cvf filename.tar filelist
在这里,filename.tar 是 tar 文件的名字。filelist 是想要备份的文件列表。可以使用通配符指定列表。

列出 tar 文件的内容:
% tar tvf filename.tar filelist
在这里, filename.tar 可以被一个磁带设备文件所取代。例如:
% tar cvf filename.tar /dev/rmt/0mn

提取 tar 文件内容到当前位置:
% tar xvf filename.tar

dd -- 转换和复制文件
dd 命令通常用于将整个文件系统复制到另一个文件系统,或者将硬盘驱动器的内容复制到另一块硬盘。dd 还可以用于将文件系统复制到磁带,反之亦可。dd 是一个相对较快的复制工具:它在传输数据时为数据创建一个精准的副本(字节对字节)。dd 可使用几个选项来指定缓冲区大小、块大小和数据转换。其基本的语法是:

dd <inputfile>;= <outputfile>;= options

下面的例子将整个 c0t1d0s2 的内容复制到第二块磁盘(c0t4d0s2)上,使用的块大小是 128。如果您有可用的剩余磁盘空间并且希望有准备好的备份磁盘以在灾难发生时换出,这会工作得极佳。在这个例子中指定了 slice 2,因为它在 Solaris 操作系统中代表整个磁盘。

% dd if=/dev/rdsk/c0t1d0s2 of=/dev/rdsk/c0t4d0s2 bs=128

要将一台磁带设备上的内容复制到另一台上,使用下面例子所示的命令。(注意:必须有两台可用驱动器。)

% dd if=/dev/rmt/#1drive of=/dev/rmt/#2drive
有关 dd 的 man 页面给出了很多其他可用的选项。我建议您查看 dd 的 man 页面并且阅读 Notes 小节。在那里,您将发现 dd 的一些限制,以及在从磁盘设备复制数据时使用裸字符设备的一个提示。

cpio --拷入和拷出文件存档
cpio 代表“拷入,拷出”,用于从一个位置复制数据到另一个位置。使用 cpio 与使用其他 UNIX 实用工具相比更具有优势,包括:
cpio 可以备份和恢复单独的文件而不只是所有文件系统。
cpio 在文件上创建的文件头信息较小,导致备份量较少。
tar 被限制在单台磁带设备上,cpio 则不同,它可以跨越多个磁带。
cpio 运行在三种模式中: copy-out ( cpio -o)、 copy-in ( cpio -i)和 pass 模式 ( cpio -p),最后一种模式用于从磁盘上(而不是磁带)的一个位置复制文件到另一个位置。下节列出了几个常用的选项。

cpio 命令选项
除非另行指出,否则这些选项适用于 copy-out 和 copy-in 模式。

-c: 以 ASCII 格式写入头信息, 为了便于移植。
-d: 创建所需的目录。
-v: Verbose (处理时报告文件名)。
-V: 与前面相同, 除了为每个复制的文件显示一个 “.”。
-u: 用于无条件复制;旧文件将不会替换较新的文件。
-m: 保留以前的文件修改时间。该选项在复制目录时不起作用。

要将一个目录及其子目录复制到磁带上,使用下面的例子:
% ls -R | cpio -oVc >; /dev/rmt/0
上面的例子将把当前所在的目录以及其中的所有子目录复制到位于 /dev/rmt/0 的磁带设备。-o 指定处于 copy-out 模式。-V 选项代表 verbose 并将显示.作为进度指示符。-c 选项创建一个 ASCII 头文件。

要将内容从磁带复制回目录,使用下面的例子:
% cpio -icvD < /dev/rmt/0

在上面的例子中,我们的命令将使用多个选项恢复磁带上的数据内容。-i 选项使工作处于 copy-in 模式。-d 选项在将数据复制回来的时候创建所有所需的目录。

利用 cpio 备份文件(Copy-Out 模式)
利用 cpio 有多种方法来备份文件,我在这里将介绍其中的两种。

% cpio -ov list >; /dev/rmt/0
这个命令从文件“list”读取内容并将其复制到磁带设备。

% cpio -o /dev/rmt/0
这个命令允许您指定要备份的文件。输入文件名后,按 Ctrl+D 键执行该命令。下面是一个例子:
% cpio -o >; /dev/rmt/0
filename.txt
file1name.txt

利用 cpio 恢复文件(Copy-In 模式)
利用 cpio 的恢复过程与备份文件的过程类似。只是不使用 -o 指定 copy-out 模式,我们使用 -i 模式将数据从磁带复制回来。

% cpio -icvum < /dev/rmt/0
这个例子利用了与先前使用的类似选项,还有 -m 选项,它将保留文件的修改时间。

使用下面的例子查看磁带存档上的内容列表:
% cpio -ict < /dev/rmt/0

Pass 模式
Pass 模式可用于在磁盘设备上复制目录。它在磁带上将无法工作。当要复制文件和目录时,,cpio 要优于 cp,因为它保留了文件的所有权和修改时间。

下面的例子将所有文件和目录复制到一个称为 bkup 的目录中:

% ls * | cpio -pdumv bkup

pax -- 可移植存档互换(提取、写入和列出存档文件)
pax 实用工具可以在很多与 POSIX 兼容的 UNIX 系统上找到。Solaris 操作系统从版本 2.5 开始就包含它了。pax 具有读写 tar 和 cpio 存档的能力。根据您选择如何使用 pax,它将运行于 4 种模式之一:读、写、列表和复制。要设置模式,您可以使用 -r、-w 、这两者的组合或者根本不用选项。

pax 模式选项
选项 模式 描述
-r 读 单个 -r 选项只是读模式,这允许您从磁盘或磁带读文件
无 列表 如果 -r 或 -w 选项都没有, pax 将被置于列表模式。它将从磁盘、磁带或标准输入设备读文件并且显示文件和目录层次结构
-w 写 单个 -w 选项让 pax 处于写模式。 它将依照 -x 选项指定的格式将当前目录和其中的所有子目录复制到独立的输出设备。(参见下面的例子)。如果没有指定文件,可以从标准的输入设备上读入一个列表,一次一个文件
-rw 复制 同时指定 -r 和 -w 选项,所选择的文件被复制到目的目录

pax 命令选项
选项 描述
-a 将文件附加到先前写入的存档的末尾
-b 块大小。 块大小最低为 512 字节, 或者以 512 为增量的更大块,最大 32256 字节
-c 匹配所有文件或存档成员,除了那些用 Pattern 和文件操作数指定的
-f <archive>; 指定 <archive>; 作为输入或输出存档的路径名。一个存档可以跨越多台设备。pax 提示您在存档中的下一设备的路径名
-i 交互地重命名文件或存档成员。 用于通过标准输入为可选择性的写或复制提供文件名
-p <string>; 指定在提取或存档一个文件时所用的一个或多个文件特征选项a 不保留文件访问时间
e 保留一切:用户 ID、组ID、文件模式位、文件访问时间和修改时间。
m 不保留文件修改时间
o 保留用户 ID 和组 ID
P 保留文件模式位
v Verbose 模式

-x 指定输出存档格式。默认格式是 ustar。 pax 可以支持 cpio、 tar、 bcpio、 ustar、 sv4crc 和 sv4cpio
ufsdump命令

对系统管理员而言,ufsdump命令很有用,可对整个文件系统做完全或增量转储.
完全转储是对整个文件系统做备份.在较长的间隔做一次,如一星期或一月.
增量转储是对新创建或修改的文件进行备份.增量转储更频繁一些,可能一天一次.

ufsdump命令提供了不同等级的转储,从0至9.转储等级用来确定对哪些文件备份.0级指定完全转储,1至9指定不同等级的增量转储.例如,增量转储(1等级)将对在上一次低等级 (0级)转储后修改或创建的文件进行备份.对文件系统作备份时,应将系统转至运行等级S.

如系统在运行等级3时,文件可能正在使用,于是可能造成无效备份.


例子:

# ufsdump 0uf /dev/rmt/0 /export/home

选项及参数:
0
指定0级(完全)转储.

u
更新文件/etc/dumpdates,以记录成功的转储.

f
与下面的/dev/rmt/0参数一起确定转储的磁带设备.
/dev/rmt/0
转储的磁带设备.
/export/home
指定要转储的文件系统.

ufsrestore命令
ufsrestore命令从备份磁带上拷贝文件至当前目录下.
ufsrestore命令可用于重载转储好的整个文件系统或备份带上的单个或多个文件.
ufsrestore命令的选项用来指定磁带设备名和被恢复文件的路径名.

恢复过程
用ufsrestore命令按以下步骤恢复一个文件:
# cd /newdir
# ufsrestore tuf /dev/rmt/0

gzip 命令
语法:gzip [选项] 压缩(解压缩)的文件名

该命令的各选项含义如下:

-c 将输出写到标准输出上,并保留原有文件。
-d 将压缩文件解压。
-l 对每个压缩文件,显示下列字段:
压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),
-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。
e.g.
gzip *
% 把当前目录下的每个文件压缩成 .gz 文件。

gzip -dv *
% 把当前目录下每个压缩的文件解压,并列出详细的信息。

gzip -l *
% 详细显示例1中每个压缩的文件的信息,并不解压。

gzip usr.tar
% 压缩tar备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。

Solaris下的tar没有和gzip结合起来,不像Linux的tar有z命令。如果希望tar的同时也能压缩或者解压可以这样写:
打包压缩
tar cvf - testfile | gzip > testfile.tar.gz
解包
gunzip -c testfile.tar.gz | tar xvf

你可能感兴趣的:(linux,unix,Solaris,工具,磁盘,archive)