Linux 文件打包压缩常用命令
zip 老了一些,但是所有系统都支持(.zip)。
格式
  zip 压缩后的文件名 要被压缩的文件 参数
参数
  -1                    压缩比,1-9可选,9为最大压缩率。
  -c                    增加注释。
  -d                    解压出一个文件。
  -D                    不存储文件的目录信息。
  -f                    替换现有文件。 
  -F                    修复压缩文件。
  -g                    增加文件到包内。
  -m                    增加文件到包内,并删除源文件。

-n                    不压缩特定扩展名的文件。

-q                    安静模式。

-r                    包括子文件夹。

-t                    只压缩指定日期后的文件。

-T                    测试压缩文件是否正常。

-u                    更新改动过的文件和新文件。

-v                    显示详细信息。

-x                    不压缩指定文件。

解压使用unzip,参数类似。

gzip Linux上的老牌压缩格式(.gz)。
格式
  gzip 压缩后的文件名 参数 要被压缩的文件
参数
 -a或--ascii  使用ASCII文字模式。 
 -c或--stdout或--to-stdout  把压缩后的文件输出到标准输出设备,不去更动原始文件。 
 -d或--decompress或----uncompress  解开压缩文件。 
 -f或--force  强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接。 
 -h或--help  在线帮助。 
 -l或--list  列出压缩文件的相关信息。 
 -L或--license  显示版本与版权信息。 
 -n或--no-name  压缩文件时,不保存原来的文件名称及时间戳记。 
 -N或--name  压缩文件时,保存原来的文件名称及时间戳记。 
 -q或--quiet  不显示警告信息。 
 -r或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -S<压缩字尾字符串>或----suffix<压缩字尾字符串>  更改压缩字尾字符串。 
 -t或--test  测试压缩文件是否正确无误。 
 -v或--verbose  显示指令执行过程。 
 -V或--version  显示版本信息。 
 -<压缩效率>  压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高。 
 --best  此参数的效果和指定"-9"参数相同。 
 --fast  此参数的效果和指定"-1"参数相同。

tar 最常用的打包格式(.tar)
格式
  tar -cvf 压缩后的文件名 要被压缩的文件
参数:
-c :建立一个压缩文件
-x :解开一个压缩文件
-t :查看压缩文件里面的文件
 参数c/x/t不能同时使用。
-z :用 gzip 压缩
-j :用 bzip2 压缩
-v :详细信息
-f :压缩后的文件名,这个参数必须是最后一个参数
-p :使用原文件的原来属性
-P :可以使用绝对路径来压缩
-N :比日期yyyy/mm/dd新的文件才会被打包
--exclude FILE:在压缩的过程中,不要将 FILE 打包

-------------在chinaitlab看到一个超简单的摘录了如下--------------------
  .tar
  解包: tar xvf FileName.tar
  打包:tar cvf FileName.tar DirName
  (注:tar是打包,不是压缩!)
  ---------------------------------------------
  .gz
  解压1:gunzip FileName.gz
  解压2:gzip -d FileName.gz
  压缩:gzip FileName
  .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 a FileName.rar
  压缩:r ar e FileName.rar
  
  rar请到:http://www.rarsoft.com/download.htm 下载!
  解压后请将rar_static拷贝到/usr/bin目录(其他由$PATH环境变量指定的目录也可以):
  [root@www2 tmp]# 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环境变量指定的目录也可以):
  [root@www2 tmp]# cp lha /usr/bin/
  ---------------------------------------------
  .rpm
  解包:rpm2cpio FileName.rpm | cpio -div
  ---------------------------------------------
  .deb
  解包:ar p FileName.deb data.tar.gz | tar zxf -
  ---------------------------------------------

-----------------------转来的tar使用详细-------------------------------------------

tar是“tape archive”(磁带存档)的简称,它出现在还没有软盘驱动器、硬盘和光盘驱动器的计算机早期阶段。那时软件的发行和备份都需要大卷的磁带,计算机上运行的头几个程序中就得有一个是磁带的阅读程序。随着时间的推移, tar命令逐渐变为一个将很多文件进行存档的工具,目前许多用于Linux操作系统的程序就是打包为tar档案文件的形式。

tar 命令的格式是:

tar [option] <file>;

tar命令有很多参数,利用f选项、设备或文件的名字可以指示tar命令将档案置于特定的设备或文件中。当为tar的档案创建一个文件时,这个文件名的扩展通常是如果指定了一个目录名,那么它所有的子目录都会被包含在档案之中。

利用tar命令和f选项的格式如下所示:

#tar opionsf  archive-name.tar directory-and-filenames

要创建一个档案应使用c选项,与f选项一起,c选项会在设备或文件中创建档案,应在f选项的左边输入这一选项。在下例中,目录mydir和它所有的子目录都被存入文件myarch.tar中。

#tar cf  myarch.tar  mydir

如果想要改动已经存档的目录中的文件,可以使用u选项使tar更新档案中的文件。tar比较每一个档案文件与相应用户目录中文件最近一次修改的时间,然后将上一次存档之后又被修改过的文件拷贝到档案文件中去。在用户目录中新创建的文件也会被添加到档案文件中。在下面的例子中,用户用mydir目录中最近被修改或添加的文件来对myarch.tar文件进行更新。

#tar uf myarch.tar mydir

如果想查看在一个档案中存储着哪些文件,可以使用tar命令和t选项。下面命令列出所有存储在myarch.tar档案中的文件:

#tar tf myarch.tar

要将文件备份到一个特定的设备,只须把设备名作为档案。在下面的例子中,用户在/dev/fdo设备的软盘中创建了一个档案,并将mydir目录中所有的文件都拷贝到档案中。

#tar cf/dev/fdo  mydir

要恢复设备磁盘中的文件,可使用xf选项:

#tar xf/dev/fdo

如果所备份的文件大小超过设备可用的存储器,比如软盘,此时就可以创建一个使用多个标号的tar档案。当使用m选项向一个软驱进行存档时,tar命令在一张软盘已满的时候会提醒再放入一张新的软盘。

#tar cmf/dev/fdo  mydir

要想恢复几张盘中的档案,只要将第一张软盘放入软驱,然后输入有x和m选项的tar命令。必要时会被提醒放入另外一张软盘。

#tar  xmf/dev/fdo

tar操作不会对档案文件实行压缩操作。如果想压缩档案文件,可以指示tar激活gzip实用工具,在存档之前对文件进行压缩。利用z选项,tar在对文件存档之前首先要使用gzip来压缩文件。当恢复文件时,同样的Z选项将激活gzip对文件解压。

#tar czf  myarch.tar mydir

值得注意的是,压缩档案中的单个文件和整体压缩档案是不同的。通常档案文件是为了便于传输而把几个文件组合成为一个tar文件。为了缩短传输时间,档案应当越小越好,可以将其压缩然后传送压缩后的版本。接收者可以对之解压缩,然后恢复tar文件。在tar文件上使用gzip将会产生有.tar.gz扩展名的文件。扩展名.gz被加到被压缩的gzip文件名之后。

下面的例子创建了myarch.tar的一个压缩的版本,它具有了.gz的扩展名。

#gzip  myarch.tar
    #ls
    #myarch.tar.gz

tar命令虽然有非常多的参数,但是使用起来并不困难,可以快速而又简单地为任何需要的子目录生成档案文件。

首先,我们来建立一个有三个文件的子目录,再建立一个有另外三个文件的子目录,如下所示:

# mkdir mydir
    #cd mydir
    # touch file1 file2 file3
    # mkdir mydir2
    #cd mydir2
    # touch file21 file22 file23
    #cd../..
    #tree mydir
    mydir
      file1
      file2
      file3
    mydir2
      file21
      file22
      file23

现在已经有了一个子目录和其中的文件,使用这个命令的c(生成)和f(文件)参数来生成一个tar档案文件:

# tar cf mydir.tar mydir
    # ls -l *.tar
    - r w - r - - r - - 1 bball u s e r s 10240 Jan 5 15 : 01 mydir. t a r

请注意,原来的子目录并没有发生变化。在缺省的情况下,tar命令不会删除原来的子目录和文件。如果想看看命令执行的过程,可以使用v参数,如下所示:

# tar cvf mydir.tar mydir
    mydir/
    mydir/file1
    mydir/file2
    mydir/file3
    mydir/mydir2/
    mydir/mydir2/file21
    mydir/mydir2/file22
    mydir/mydir2/file23

tar命令在进行操作的时候,就会把正在添加到档案文件中去的子目录和文件的文件名显示出来。使用w参数,即交互参数,这样tar命令在执行的过程当中会询问是否想加入每个文件。当想有选择地备份内容不多的子目录的时候,这样就非常地方便,如下所示:

# tar cwf mydir.tar mydir
    add mydir?y
    add mydir/file1?n
    add mydir/file2?y
    add mydir/file3?n
    add mydir/mydir2?y
    add mydir/mydir2/file21?y
    add mydir/mydir2/file22?n
    add mydir/mydir2/file23?y

在上面的例子中,没有把文件file1、file3和文件file22归档。可以使用tar命令的t参数列出档案文件中的内容,f参数定义操作所使用的tar档案文件,如下所示:

# tar tf mydir.tar
    mydir/
    mydir/file2
    mydir/mydir2/
    mydir/mydir2/file21
    mydir/mydir2/file23

需要注意的是,如果参数的顺序放错了,tar命令会显示出错信息并退出。

下面就来看看如何来释放整个的档案文件或者其中的某一个文件。如果想释放其中所有的文件,可以同时使用-x释放参数和-f。为了了解命令执行的过程,还可以加上-v参数:

# tar xvf mydir.tar
    mydir/
    mydir/file2
    mydir/mydir2/
    mydir/mydir2/file21
    mydir/mydir2/file23

如果只是想从档案文件中释放几个文件的话,可以再次使用w参数:

# tar xvwf mydir.tar
    extract mydir/?y
    mydir
    extract mydir/file2?y
    mydir/file2
    extract mydir/mydir2/?y
    mydir/mydir2/
    extract mydir/mydir2/file21?y
    mydir/mydir2/file21
    extract mydir/mydir2/file23?y
    mydir/mydir2/file23

上例表明查看了档案文件,并交互地释放了文件。如果只想从档案文件中释放某一个文件,可以在命令行中指定这个文件。作为示例,我先删除了原始的mydir子目录,然后使用一个空的子目录进行如下操作:

# tar xf mydir.tar mydir/mydir2/file23
    # tree mydir
    m y d i r
    - - mydir2
    - - file23
    1 directory, 1 file

注意,正如所看到的只有一个文件被释放出来。虽然tar命令不会覆盖整个的子目录,但是它会覆盖掉那些有着相同文件名的文件。

值得一提的是,还可以使用其它程序,如BRU-2000或者taper脚本程序来备份系统或者选定的文件和子目录。OpenLinux操作系统也可以通过cron日程安排来自动进行文件的归档整理工作。

    建立cpio档案文件

cpio命令可以从tar或者cpio档案文件中拷入或者拷出文件。因为cpio命令和tar命令兼容,所以我这里不再详细介绍它如何工作。但是这个命令具备一些tar命令没有的功能,如下所示:

◆ 支持cpio和tar两种档案文件格式;

◆ 支持许多老式磁带数据格式;

◆ 能够通过一个管道读取文件的文件名。

只有很少的Linux软件包是以cpio格式发行的。如果对cpio命令的详细情况感兴趣的话,可以阅读它的使用手册。

    使用gzip压缩文件

gzip命令是用来压缩文件的。它不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和tar命令一起构成Linux操作系统中比较流行的压缩文件格式。据统计,gzip命令对文本文件有60%~70%的压缩率。

gzip命令的格式是:

gzip [option] [file]

gzip很容易使用。如果想压缩某个文件或者磁带档案文件,可输入下面的内容:

# gzip mydir.tar

在缺省的状态下,gzip会压缩文件、再加上一个.gz扩展名,然后删除掉原来的文件。如果想解压缩文件,可以使用gzip的对应程序命令gunzip或者gzip命令的-d解压缩参数。但是必须保证这个用于解压缩的文件有.gz(或者.Z、-gz、.z、-z、或者_z)扩展名,否则gzip命令和 gunzip命令都会显示出错信息。如果想使用自己的扩展名,可以使用-S后缀参数,如下所示:

# gzip -S .gzipped mydir.tar

gzip还可以处理用zip命令、compress命令和pack命令压缩的文件包。如果想在压缩或者解压缩的过程中看到更多的信息,可以使用-l列清单参数看到文件在被压缩或解压缩的时候的文件长度。在前一个例子中,压缩完子目录mydir之后,可以使用gzip命令按照下面的方法得到有关的数据:

# gzip -l mydir.tar.gz
    compressed uncompr.ratio uncompressed_name
    312 21330 98.2% mydir.tar

此外,gzip还有一个很有用的参数-t,可以用来测试压缩文件的完整性。如果文件正常,gzip不会给出任何显示。如果想看到OK这两个字母,可以在测试某个文件时使用-tv参数。

    使用compress压缩文件

compress命令就像它的文件名那样是用来压缩文件的。这是Unix中出现得比较早的一个压缩程序,它通过使用自适应的Lemple-Ziv编码来缩小所指文件的大小。每一个文件将被一个带有.Z扩展名的压缩文件所代替,但文件的属主关系、访问时间和修改时间将保持不变。如果没有指点文件,则接受标准输入的文件进行压缩并送到标准输出。

compress命令格式是:

compress [option] [file]

与compress对应的有一个解压缩命令uncompress,其格式如下:

uncompress [option] [file]

它使“.Z”的压缩文件恢复。

compress和uncompress命令的选项如下:

◆-c 写到标准输出,不改变文件。

◆-f 强制压缩,即使文件并不真正减小或.Z文件已经存在,也进行压缩。

◆-v 显示每一个被压缩文件的缩小的百分比。

下面举例说明compress命令的用法:

#compress file

上面代码表明将生成压缩文件file.Z代替file,要解压缩输入:

#uncompress file.Z

注意,像使用gzip命令一样,使用uncompress命令时必须给出一个带有.Z扩展名的文件名,否则uncompress命令显示出错信息。

分类: Linux

Linux 文件打包压缩常用命令(笔记,搜录自网络和文档)相关推荐

  1. Linux文件打包及下载命令-tar(打包解压)

    一.tar命令打包解压 在维护配置服务器时,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. ta ...

  2. Linux的vx开头的文件,微博 Qzone 微信 Linux文件及目录常用命令,进来瞅瞅

    一.Linux中的目录结构 l /bin :系统命令目录 l /dev :系统设备目录 l /home :用户的家 /home/lau l /lib :系统库文件 .so 动态库 .a静态库 l /m ...

  3. Linux文件及目录常用命令

    一.Linux中的目录结构 l /bin :系统命令目录 l /dev :系统设备目录 l /home :用户的家 /home/lau l /lib :系统库文件 .so 动态库  .a静态库 l / ...

  4. linux将目录打包压缩,linux tar (打包.压缩.解压缩)命令说明 | tar如何解压文件到指定的目录?...

    linux下tar命令实用 简介 参数: -c :建立一个压缩档案的参数指令(create 的意思): -x :解开一个压缩档案的参数指令! -t :查看 tarfile 里面的档案! 特别注意,在参 ...

  5. Linux 文件相关的常用命令

    一.       ls 命令 格式: ls [options] [dirname] 选项参数: -a: 列出全部文件,包括隐藏文件 -d: 仅仅列出目录本身,而不包括文件数据 -f: 直接列出结果,而 ...

  6. Linux 文件打包(tar命令——怎么使打包后的文件夹里只有想要的文件而不是有多一个原目录)

    正常打包情况下,打包后的目录下还有个原目录,如下:   怎么去掉这个多余的文件夹呢?如下tar -cvf config.tar -C config/ .   打包包含隐藏目录的文件夹:tar -cvf ...

  7. linux tar 打包gzip,tar linux 打包 压缩 gzip 命令说明

    参数: -c  :建立一个压缩档案的参数指令(create 的意思): -x  :解开一个压缩档案的参数指令! -t  :查看 tarfile 里面的档案! 特别注意,在参数的下达中, c/x/t 仅 ...

  8. Linux 常用命令笔记

    Linux 常用命令笔记 1. locate locate:用来定位文件的位置,如:locate a.txt 但是这个命令有延迟,也就是新建的文件不一定能搜索到,如果非要找到新建的文件可以使用 upd ...

  9. Linux下打包压缩war、解压war包和jar命令

    环境 RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9 + Putty 0.62 问题 Linux下打包压缩war.解压war包和jar命令 解决 把project_a文 ...

最新文章

  1. Ubuntu 中的 dpkg 安装deb、删除deb、显示已安装包列表、解压deb文件、显示deb包内文件列表、配置deb软件包
  2. PLSQLDeveloper SQL查询内容中文显示乱码
  3. Java和PHP在Web开发方面的比较
  4. 删除c++程序中的注释
  5. 重新打开_iPhone 应用停止响应或无法打开的解决办法
  6. Python入门5_条件循环语句
  7. django用sqlite跟mysql_django框架学习:九. django连接mysql,sqlite
  8. css命中与jquery命中
  9. 医学影像设备学_什么是医学影像专业?
  10. centos7安装samba服务,以及设置权限分配
  11. php打出等边三角形,CSS 如何进行单一div的正多边形变换
  12. 基于Java Web的网络考试系统
  13. 3DMAX、MAYA、C4D区别
  14. Wannacry蠕虫勒索软件“永恒之蓝”3种修复方案
  15. 无线网络连接 wlan test
  16. 计算机模块一试题答案,2016年职称计算机考试模块综合试题及答案(1)
  17. VSCode添加背景图片
  18. 应用场景应该如何选择适合的区块链底层技术平台?
  19. android加载网页pdf,android 一行代码搞定加载网络 pdf 文件
  20. 软件工程之项目团队分工

热门文章

  1. XMLHttpRequest: 网络错误 0x80070005, 拒绝访问 解决办法
  2. 信号差和服务器关系,手机信号为什么差,和这几个原因有关系
  3. 6-7 拓扑排序 (10分)_数据结构实验6_羊卓的杨
  4. Egret Native1.1.2发布,集中修复iOS、NativeRender相关问题
  5. 抖音故障效果特效怎么做 详细教程送上
  6. 结构建模设计——Solidworks软件之在已建模型的基础上进行特征修改及模型报错的解决方法实战
  7. docker 修改 mysql 端口
  8. wma html在线播放,在HTML网页中如何播放MP3-WMA-RM文件
  9. 如何在Mac上快速签署PDF,来看这篇超全面分析!
  10. python json loads_python 读写json文件(dump, load),以及对json格式的数据处理(dumps, loads)...