zoukankan      html  css  js  c++  java
  • linux操作指南-03

    1.1 Linux 系统常见的压缩命令

    原文:http://cn.linux.vbird.org/linux_basic/0240tarcompress.php

    *.Z         compress 程序压缩的文件;
    *.gz        gzip 程序压缩的文件;
    *.bz2       bzip2 程序压缩的文件;
    *.tar       tar 程序打包的数据,并没有压缩过;
    *.tar.gz    tar 程序打包的文件,其中并且经过 gzip 的压缩
    *.tar.bz2   tar 程序打包的文件,其中并且经过 bzip2 的压缩
    

    1.1.1 gzip, zcat

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

    范例一:将 /etc/man.config 复制到 /tmp ,并且以 gzip 压缩
    [root@www ~]# cd /tmp 
    [root@www tmp]# cp /etc/man.config .
    [root@www tmp]# gzip -v man.config
    man.config:      56.1% -- replaced with man.config.gz
    [root@www tmp]# ll /etc/man.config /tmp/man*
    -rw-r--r-- 1 root root 4617 Jan  6  2007 /etc/man.config
    -rw-r--r-- 1 root root 2684 Nov 10 17:24 /tmp/man.config.back.Z
    -rw-r--r-- 1 root root 2057 Nov 10 17:14 /tmp/man.config.gz  <==gzip压缩比较佳
    
    范例二:由於 man.config 是文字档,请将范例一的压缩档的内容读出来!
    [root@www tmp]# zcat man.config.gz
    # 由於 man.config 这个原本的文件是是文字档,因此我们可以尝试使用 zcat  去读取!
    # 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!
    
    范例三:将范例一的文件解压缩
    [root@www tmp]# gzip -d man.config.gz
    # 不要使用 gunzip 这个命令,不好背!使用 gzip -d 来进行解压缩!
    # 与 gzip 相反, gzip -d 会将原本的 .gz 删除,产生原本的 man.config 文件。
    
    范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
    [root@www tmp]# gzip -9 -c man.config > man.config.gz
    

    1.1.2 bzip2, bzcat

    [root@www ~]# bzip2 [-cdkzv#] 档名
    [root@www ~]# bzcat 档名.bz2
    选项与参数:
    -c  :将压缩的过程产生的数据输出到萤幕上!
    -d  :解压缩的参数
    -k  :保留原始文件,而不会删除原始的文件喔!
    -z  :压缩的参数
    -v  :可以显示出原文件/压缩文件的压缩比等资讯;
    -#  :与 gzip 同样的,都是在计算压缩比的参数, -9 最佳, -1 最快!
    
    范例一:将刚刚的 /tmp/man.config 以 bzip2 压缩
    [root@www tmp]# bzip2 -z man.config 
    # 此时 man.config 会变成 man.config.bz2 !
    
    范例二:将范例一的文件内容读出来!
    [root@www tmp]# bzcat man.config.bz2
    # 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
    
    范例三:将范例一的文件解压缩
    [root@www tmp]# bzip2 -d man.config.bz2
    
    范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
    [root@www tmp]# bzip2 -9 -c man.config > man.config.bz2
    

    2.1 开发频率最高的一个命令 tar!!!

    tar 的选项与参数非常的多!这也就是它强大的原因吧!

    [root@www ~]# tar [-j|-z] [cv] [-f 创建的档名] filename... <==打包与压缩
    [root@www ~]# tar [-j|-z] [tv] [-f 创建的档名]             <==察看档名
    [root@www ~]# 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 欲解压缩的目录

    3.1 完整备份工具:dump

    dump 的选项虽然非常的繁复,不过如果只是想要简单的操作时,您只要记得底下的几个选项就很够用了!

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

    1. 先找出系统中最小的那个文件系统,如下所示:

    [root@www ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/hdc2 9.5G 3.7G 5.3G 42% /
    /dev/hdc3 4.8G 651M 3.9G 15% /home
    /dev/hdc1 99M 11M 83M 12% /boot <==看起来最小的就是他啦!
    tmpfs 363M 0 363M 0% /dev/shm

    2. 先测试一下,如果要备份此文件系统,需多少容量?

    [root@www ~]# dump -S /dev/hdc1
    5630976 <==注意一下,这个单位是 bytes ,所以差不多是 5.6MBytes。

    # 3. 将完整备份的档名记录成为 /root/boot.dump ,同时升级记录档:
    [root@www ~]# dump -0u -f /root/boot.dump /boot
      DUMP: Date of this level 0 dump: Tue Dec  2 02:53:45 2008 <==记录等级与备份时间
      DUMP: Dumping /dev/hdc1 (/boot) to /root/boot.dump        <==dump的来源与目标
      DUMP: Label: /boot                                        <==文件系统的 label
      DUMP: Writing 10 Kilobyte records
      DUMP: mapping (Pass I) [regular files]                    <==开始进行文件对应
      DUMP: mapping (Pass II) [directories]
      DUMP: estimated 5499 blocks.                              <==评估整体block数量
      DUMP: Volume 1 started with block 1 at: Tue Dec  2 02:53:46 2008
      DUMP: dumping (Pass III) [directories]                    <==开始 dump 工作
      DUMP: dumping (Pass IV) [regular files]
      DUMP: Closing /root/boot.dump                             <==结束写入备份档
      DUMP: Volume 1 completed at: Tue Dec  2 02:53:47 2008
      DUMP: Volume 1 5550 blocks (5.42MB)                       <==最终备份数据容量
      DUMP: Volume 1 took 0:00:01
      DUMP: Volume 1 transfer rate: 5550 kB/s
      DUMP: 5550 blocks (5.42MB) on 1 volume(s)
      DUMP: finished in 1 seconds, throughput 5550 kBytes/sec
      DUMP: Date of this level 0 dump: Tue Dec  2 02:53:45 2008
      DUMP: Date this dump completed:  Tue Dec  2 02:53:47 2008
      DUMP: Average transfer rate: 5550 kB/s
      DUMP: DUMP IS DONE
    # 在命令的下达方面,dump 后面接 /boot 或 /dev/hdc1 都可以的!
    # 而运行 dump 的过程中会出现如上的一些信息,您可以自行仔细的观察!
    
    [root@www ~]# ll /root/boot.dump /etc/dumpdates
    -rw-rw-r-- 1 root disk      43 Dec  2 02:53 /etc/dumpdates
    -rw-r--r-- 1 root root 5683200 Dec  2 02:53 /root/boot.dump
    # 由於加上 -u 的选项,因此 /etc/dumpdates 该文件的内容会被升级!注意,
    # 这个文件仅有在 dump 完整的文件系统时才有支持主动升级的功能。
    
    # 4. 观察一下系统主动创建的记录档:
    [root@www ~]# cat /etc/dumpdates
    /dev/hdc1     0   Tue Dec  2 02:53:47 2008 +0800
    [文件系统] [等级] [       ctime 的时间         ]
    

    3.1.1 restore

    [root@www ~]# restore -t [-f dumpfile] [-h]        <==用来察看 dump 档
    [root@www ~]# restore -C [-f dumpfile] [-D 挂载点] <==比较dump与实际文件
    [root@www ~]# restore -i [-f dumpfile]             <==进入互动模式
    [root@www ~]# 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 内有不同的文件!
    
  • 相关阅读:
    Atitit.atiRI  与 远程调用的理论and 设计
    Atitit.提升 升级类库框架后的api代码兼容性设计指南
    Atitit.研发管理软件公司的软资产列表指南
    Atitit.软件开发的三层结构isv金字塔模型
    Atitit.加密算法ati Aes的框架设计
    Atittit.研发公司的组织架构与部门架构总结
    IIS HTTP Error 500.24
    Visual Studio 快捷键
    软件学习遐想
    navigator属性
  • 原文地址:https://www.cnblogs.com/xhj928675426/p/13701645.html
Copyright © 2011-2022 走看看