一、打包归档命令 tar

    什么是 tar 命令

   tar 命令可以为 Linux 的文件和目录创建档案。利用 tar,可以为某一种特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。tar 最初被用来在磁带上创建档案,现在,用户可以在任何设备上创建档案。利用 tar 命令,可以把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。

   语法

SYNOPSIS
       tar [OPTION...] [FILE]...

   选项

- c建立打包档案
- x解压
- t查看打包文件中的内容
- r向压缩归档文件末尾追加文件
- u更新原压缩包中的文件
- A追加 tar 文件值归档
- z有 gzip 属性的
- j有 bz2 属性的
- J有 xz 属性的
- Z有 compress 属性的
- v显示过程
- O将文件解开到标准输出
- N <日期格式 > 或 - -newer=<日期时间>只将较指定日期更新的文件保存到备份文件里
- f(此参数是必须使用的)该参数是最后一位,后面只能接档案名

   给大家举例子加深理解

  1、将文件 file4 以 .gz 方式压缩
在这里插入图片描述
  2、将压缩文件 file4.gz 解压并标准输出

在这里插入图片描述
  3、将 /tmp 下比 “2020/03/10” 日期新的文件打包压缩成 .gz 形式的压缩文件

# tar -N "2020/03/10" -zcvf file5.gz /tmp

  4、查看打包文件内容

在这里插入图片描述

   提示:

  1、无论是压缩还是解压过程,’ f ’ 不能漏掉。
  2、在用 -N 时,末尾一定不要遗漏 目录

二、文件备份

    1、文件备份命令 dd :

   用指定大小的块拷贝一个文件,并在拷贝的同时进行制定的转换。

   语法

SYNOPSIS
       dd [OPERAND]...
       dd OPTION

   选项

if = 文件名输入文件名,缺省为标准输入。即指定源文件。<if = inputfile >
of =文件名输出文件名,缺省为标准输出。即指定目的文件。<of = outputfile>
ibs = bytes一次读入 bytes 个字节,即指定一个块大小为 bytes 个字节
obs = bytes一次输出 bytes 个字节,即指定一个块大小为 bytes 个字节
bs同时设置读入/输出的块大小为 bytes 个字节
cbs = bytes一次转换 bytes 个字节,即指定转换缓冲区大小
skip = blocks从输入文件开头跳过 blocks 个块后再开始复制
seek = blocks从输出文件开头跳过 blocks 个块后再开始复制
count = blocks仅拷贝 blocks 个块,块大小等于 ibs 指定的大小

   以下是转换选项

conv = conversion用指定的参数转换文件
= ascii转换 ebcdic 为 ascii
= ebcdic转换 ascii 为 ebcdic
= ibm转换 ascii 为 alternate ebcdic
= block把每一行转换为长度为 cbs ,不足部分用空格补充
= unblock使每一行的长度都为 cbs ,不足部分用空格补充
lcase把大写字符转换为小写字符
ucase把小写字符转换为大写字符
swab交换输入的每对字节
noerror出错时不停止
notrunc不截短输入文件
sync将每个输入块填充到 ibs 个字节,不足部分用空(NUL)字符补齐
   实例

1、将本地 /dev/hdb 整盘备份到 /dev/hdd

# dd if=/dev/hdb of=/dev/hdd

2、将 /dev/hdb 全盘数据利用 gzip 压缩,并保存到指定路径

# dd if=/dev/hdb | gzip > /root/image.gz

3、备份磁盘开始的 512 个字节大小MBR信息到指定文件

# dd if=/dev/hda of=/root/image bs=512 count=1

4、测试硬盘的读写速度

# dd if=/dev/zero bs=1024 count=1000000 of=/root/1G.file

5、确定硬盘的最佳块大小

# dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
# dd if=/dev/zero of=/root/1Gb.file bs=2048 count=500000
# dd if=/dev/zero of=/root/1Gb.file bs=4096 count=250000
# dd if=/dev/zero of=/root/1Gb.file bs=8192 count=125000
   2、cpio备份命令

   cpio是用来建立,还原备份档案的工具程序,它可以加入,解开 cpio,img 或 tar 备份档内的文件

   选项

- o拷贝文件到某个文件或者设备
- c存储方式 (一种较新的 portable format)方式存储
- v显示存储过程
- B以5120字节大小拷贝, 默认是512 ,这样的好处是大文件的存储加快
- i从某个文件或者设备拷贝出
- d自动创建目录
- u ( update)自动新文件覆盖旧文件
- t查看文件或者设备中的内容

   常用模式

 备份 # cpio -ocvB > [ file | device ]
 还原 # cpio -ivcdu > [ file | device ]
 查看 # cpio -ivct > [ file | device ]

1、检查磁带机上有什么文件并记录到 /tmp/content 中

# cpio -ivctd < /dev/st0 > /tmp/content

2、将磁带上的资料还原回来

# cpio -ivcdu < /dev/st0

   提示

  一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0

Logo

更多推荐