1.常用压缩打包命令

常用的压缩打包扩展名为如下:

*.Z         compress 程序压缩的文件,非常老旧了,不再细说
*.gz        gzip 程序压缩的文件;
*.bz2       bzip2 程序压缩的文件;
*.tar       tar 程序打包的数据,并没有压缩过;
*.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩
*.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩

gzip,gcat的使用

gzip [-cdtv#] 档名
zcat 档名.gz
选项与参数:
-c  :将压缩的数据输出到萤幕上,可透过数据流重导向来处理;
-d  :解压缩的参数;
-t  :可以用来检验一个压缩档的一致性~看看文件有无错误;
-v  :可以显示出原文件/压缩文件的压缩比等资讯;
-#  :压缩等级,-1 最快,但是压缩比最差、-9 最慢,但是压缩比最好!默认是 -6

zcat用于读取压缩后的文件,并显示到屏幕上,gzip压缩会删除原始文件,如果想要保留原始文件则可以如下操作:

gzip -9 -c test > test.gz

将test文件以压缩等级为9压缩 ,并且输出到test.gz文件中

bzip2,bzcat的使用

bzip2 [-cdkzv#] 档名
bzcat 档名.bz2
选项与参数:
-c  :将压缩的过程产生的数据输出到萤幕上!
-d  :解压缩的参数
-k  :保留原始文件,而不会删除原始的文件喔!
-z  :压缩的参数
-v  :可以显示出原文件/压缩文件的压缩比等资讯;
-#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!

使用方法和gzip类似。

打包压缩

默认gzip和bzip2压缩都只能压缩单文件,不能像win里的压缩软件一样,可以一个文件夹压缩,如果想要压缩一个文件夹则需要先打包(tar)再压缩。

打包压缩命令

tar [-j|-z] [cv] [-f 创建的档名] filename... <==打包与压缩
tar [-j|-z] [tv] [-f 创建的档名]             <==察看档名
tar [-j|-z] [xv] [-f 创建的档名] [-C 目录]   <==解压缩
选项与参数:
-c  :创建打包文件,可搭配 -v 来察看过程中被打包的档名(filename)
-t  :察看打包文件的内容含有哪些档名,重点在察看『档名』就是了;
-x  :解打包或解压缩的功能,可以搭配 -C (大写) 在特定目录解开特别留意的是, -c, -t, -x 不可同时出现在一串命令列中。
-j  :透过 bzip2 的支持进行压缩/解压缩:此时档名最好为 *.tar.bz2
-z  :透过 gzip  的支持进行压缩/解压缩:此时档名最好为 *.tar.gz
-v  :在压缩/解压缩的过程中,将正在处理的档名显示出来!
-f filename:-f 后面要立刻接要被处理的档名!建议 -f 单独写一个选项罗!
-C 目录    :这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。其他后续练习会使用到的选项介绍:
-p  :保留备份数据的原本权限与属性,常用於备份(-c)重要的配置档
-P  :保留绝对路径,亦即允许备份数据中含有根目录存在之意;
--exclude=FILE:在压缩的过程中,不要将 FILE 打包!

最简单的使用命令

压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录

2. dump备份工具

dump备份工具功能非常强大,对文件系统备份可以增量备份。

用法:

dump [-Suvj] [-level] [-f 备份档] 待备份数据
选项与参数:
-S    :仅列出后面的待备份数据需要多少磁碟空间才能够备份完毕;
-u    :将这次 dump 的时间记录到 /etc/dumpdates 文件中;
-v    :将 dump 的文件过程显示出来;
-j    :加入 bzip2 的支持!将数据进行压缩,默认 bzip2 压缩等级为 2
-level:就是我们谈到的等级,从 -0 ~ -9 共十个等级;
-f    :有点类似 tar 啦!后面接产生的文件,亦可接例如 /dev/st0 装置档名等
-W    :列出在 /etc/fstab 里面的具有 dump 配置的 partition 是否有备份过?

使用示例

dump -0u -f /root/boot.dump /boot  #将/boot 分区备份到root/boot.dump 文件里 

dump -0j -f /root/etc.dump.bz2 /etc #将/etc 目录备份到/root/etc.dump.bz2文件中

3. restore还原工具

用于恢复dump备份的文件

用法:

restore -t [-f dumpfile] [-h]        <==用来察看 dump 档
restore -C [-f dumpfile] [-D 挂载点] <==比较dump与实际文件
restore -i [-f dumpfile]             <==进入互动模式
restore -r [-f dumpfile]             <==还原整个文件系统
选项与参数:
相关的各种模式,各种模式无法混用喔!例如不可以写 -tC 啦!
-t  :此模式用在察看 dump 起来的备份档中含有什么重要数据!类似 tar -t 功能;
-C  :此模式可以将 dump 内的数据拿出来跟实际的文件系统做比较,最终会列出『在 dump 文件内有记录的,且目前文件系统不一样』的文件;
-i  :进入互动模式,可以仅还原部分文件,用在 dump 目录时的还原!
-r  :将整个 filesystem 还原的一种模式,用在还原针对文件系统的 dump 备份;
其他较常用到的选项功能:
-h  :察看完整备份数据中的 inode 与文件系统 label 等资讯
-f  :后面就接你要处理的那个 dump 文件罗!
-D  :与 -C 进行搭配,可以查出后面接的挂载点与 dump 内有不同的文件!

示例

restore -t -f /root/boot.dump #观察备份后的内容
restore -C -f /root/boot.dump #比较差异
restore -i -f /root/etc.dump #进入交互模式,可以仅还原部分文件

4.其他压缩与备份工具

dd工具

[root@www ~]# dd if="input_file" of="output_file" bs="block_size" \
> count="number"
选项与参数:
if   :就是 input file 罗~也可以是装置喔!
of   :就是 output file 喔~也可以是装置;
bs   :规划的一个 block 的大小,若未指定则默认是 512 bytes(一个 sector 的大小)
count:多少个 bs 的意思。范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中
[root@www ~]# dd if=/etc/passwd of=/tmp/passwd.back
3+1 records in
3+1 records out
1945 bytes (1.9 kB) copied, 0.000332893 seconds, 5.8 MB/s
[root@www ~]# ll /etc/passwd /tmp/passwd.back
-rw-r--r-- 1 root root 1945 Sep 29 02:21 /etc/passwd
-rw-r--r-- 1 root root 1945 Dec 17 18:09 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为 1945 bytes,因为我没有配置 bs ,
# 所以默认是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个命令啦~范例二:将自己的磁碟之第一个磁区备份下来
[root@www ~]# dd if=/dev/hdc of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0104586 seconds, 49.0 kB/s
# 第一个磁区内含有 MBR 与 partition table ,透过这个动作,
# 我们可以一口气将这个磁碟的 MBR 与 partition table 进行备份哩!范例三:找出你系统最小的那个分割槽,并且将他备份下来:
[root@www ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hdc2             9.5G  3.9G  5.1G  44% /
/dev/hdc3             4.8G  651M  3.9G  15% /home
/dev/hdc1              99M   21M   73M  23% /boot  <==就捉他好了!
[root@www ~]# dd if=/dev/hdc1 of=/tmp/boot.whole.disk
208782+0 records in
208782+0 records out
106896384 bytes (107 MB) copied, 6.24721 seconds, 17.1 MB/s
[root@www ~]# ll -h /tmp/boot.whole.disk
-rw-r--r-- 1 root root 102M Dec 17 18:14 /tmp/boot.whole.disk
# 等於是将整个 /dev/hdc1 通通捉下来的意思~如果要还原呢?就反向回去!
# dd if=/tmp/boot.whole.disk of=/dev/hdc1 即可!非常简单吧!
# 简单的说,如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软件一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!

cpio

cpio -ovcB  > [file|device] <==备份
cpio -ivcdu < [file|device] <==还原
cpio -ivct  < [file|device] <==察看
备份会使用到的选项与参数:-o :将数据 copy 输出到文件或装置上 -B :让默认的 Blocks 可以添加至 5120 bytes ,默认是 512 bytes ! 这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
还原会使用到的选项与参数:-i :将数据自文件或装置 copy 出来系统当中 -d :自动创建目录!使用 cpio 所备份的数据内容不见得会在同一层目录中,因此我们必须要让 cpio 在还原时可以创建新目录,此时就得要 -d 选项的帮助!-u :自动的将较新的文件覆盖较旧的文件!-t :需配合 -i 选项,可用在"察看"以 cpio 创建的文件或装置的内容
一些可共享的选项与参数:-v :让储存的过程中文件名称可以在萤幕上显示 -c :一种较新的 portable format 方式储存

cpio不能指定需要备份的目录,所以一般和find配合使用。

使用示例

备份:

范例:找出 /boot 底下的所有文件,然后将他备份到 /tmp/boot.cpio 去!
[root@www ~]# find /boot -print
/boot
/boot/message
/boot/initrd-2.6.18-128.el5.img
....以下省略....
# 透过这个 find 我们可以找到 /boot 底下应该要存在的档名!包括文件与目录[root@www ~]# find /boot | cpio -ocvB > /tmp/boot.cpio
[root@www ~]# ll -h /tmp/boot.cpio
-rw-r--r-- 1 root root 16M Dec 17 23:30 /tmp/boot.cpio

恢复:

范例:将刚刚的文件给他在 /root/ 目录下解开
[root@www ~]# cpio -idvc < /tmp/boot.cpio
[root@www ~]# ll /root/boot
# 你可以自行比较一下 /root/boot 与 /boot 的内容是否一模一样!

5. 结束

转载于:https://www.cnblogs.com/Reyzal/p/5020860.html

3.Linux 文件的压缩与打包相关推荐

  1. linux 文件的压缩和打包

    在我们的生活中,经常会和朋友.同事.客户发一些文件.为了能够更加快速.高效的将文件传递出去,经常会用到压缩工具.压缩工具通过一定的算法,把数据给尽可能的缩小.这样不仅方便传递.而且可以节省空间.有时候 ...

  2. LINUX文件的压缩与打包

    gzip 文件名 后缀gz压缩 gzip -d 文件名 解压 zcat 文件名 直接查看gz压缩文件 bzip2 -z 文件名 后缀bz2压缩 bzip2 -d 文件名 解压 bzcat 文件名 直接 ...

  3. linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...

    在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...

  4. linux压缩和打包的区别,Linux中的压缩和打包

    使用gzip命令可以将一个文件完成压缩 gzip services##压缩Services文件,压缩文件的名称是services.gz,注意,压缩完成之后原文件不在了 gunzip services# ...

  5. Linux笔记之浅析linux文件的压缩与解压——tar命令

    文件的压缩与解压 Linux 常用的压缩与解压缩命令有:tar.gzip.gunzip.bzip2.bunzip2.compress .uncompress. zip. unzip.rar.unrar ...

  6. linux文件夹 压缩效率,Linux 高压缩率工具 XZ 压缩详解

    一.XZ 基础信息 XZ 压缩比比较高,在这里没有进行详细对比. 官网介绍到: 压缩后的文件大小 gzip 小30%,比bzip2小15%. 我测试 一个 112M 的文件,xz 压缩完后 4.5M, ...

  7. Note For Linux By Jes(4)-文件的压缩与打包

    Linux系统常见的压缩命令:compress,gzip,zcat,bzip2,bzcat 打包命令:tar 压 缩:tar-jcv-f filename.tar.bz2 要被压缩的文件或目录名称 查 ...

  8. Linux系统下文件的压缩与打包

    压缩和解压缩 压缩数据或者解压数据: 为什么要移出数据信息前面的 / 目录 -P --absolute-paths 不要从文件名中去除 '/' 1 compress和uncompress 格式 com ...

  9. Linux文件的压缩和解压命令tar

    压缩文件扩展名 打包并压缩文件 tar的参数 语法:tar [参数] 压缩包名 一个或多被打包的文件 功能 作用 压缩一个或多个文件 -c 必须,创建一个压缩包 -v 可选,显示压缩的详细信息 -z ...

最新文章

  1. CentOS6 安装并破解Jira 7
  2. C++ STL之map常用指令
  3. Win7 VS2013环境编译Squirrel 3.0.7
  4. 适用于 php-5.2 的 php.ini 中文版
  5. 2345电脑管家_如何彻底清除流氓的2345安全卫士及2345SafeCenterSvc服务?
  6. 5G NR基础参数及帧结构
  7. ABP理论学习之依赖注入
  8. Session的clear方法和flush方法
  9. linux运行bak,linux 备份学习
  10. c语言实现顺序表(详细代码)
  11. 【计算电磁学】真空中电磁波传播的MATLAB一维FDTD仿真程序
  12. 微信小程序云数据库的分页提取,解决提取大量数据的耗时问题
  13. mac谷歌浏览器默认无痕打开
  14. 计算机操作日志文件,教你完全读懂Windows日志文件
  15. springboot医院预约挂号系统在线视频点播系统毕业设计毕设作品开题报告开题答辩PPT
  16. 补间动画tween.js
  17. SFDC 基本知识网络图
  18. 27岁计算机考研,男生27岁研究生毕业真的晚吗?
  19. 云服务器ECS常见的计费方式
  20. bzoj 1503 (权值线段树)

热门文章

  1. SharePoint 2007 文件夹或者文件名过长
  2. linux常见问题解答汇总
  3. hexo的next主题个性化教程 打造炫酷网站
  4. 苹果为何加强云计算布局 汤换药也换?
  5. 《智能路由器开发指南》——1.1 OpenWrt简介
  6. Java MVC框架性能比较 jsp、struts1、struts2、springmvc3 (转帖)
  7. 在.NET中实现Actor模型的不同方式
  8. 57条经验之谈 转载(非常不错,我收藏了)
  9. 动态树形列表基本原理演示
  10. J2EE持久层持久化上下文传播总结(续)