linux中压缩与备份命令大全_linux shell

一、压缩与解压缩

1、compress [-rcv] 文件或目录 <==压缩

uncompress 文件.Z <==解压缩

-r:可以连同目录下的文件也同时进行压缩

-c:将压缩数据输出成standard output(输出到屏幕)

-v:可以显示出压缩后的文件信息以及压缩过程中的一些文件名变化

(这个命令是非常老旧的一款)

2、gzip [-cdtv#] 文件名

-c:将压缩的数据输出到屏幕上,可通过数据流重定向来处理

-d:解压缩的参数

-t:可以用来检验一个压缩文件的一致性,看看文件有错误

-v:可以显示压缩比等信息

-#:压缩等级,-1最快,但压缩比最差,-9最慢,但压缩比最好,最好是默认的-6

注:默认的情况下,原文件会被覆盖,要想保留源文件可以使用-c与>的组合(例如gzip -c man.config > man.config.gz 此时源文件会被保留)

zcat 文件名.gz 读取.gz压缩包(前提示原本的文件为文本文件)

3、bzip2 [-cdkzv#] 文件名

-c:将压缩过程中产生的数据输出到屏幕上

-d:解压缩的参数

-k:保留源文件

-z:压缩的参数

-v:显示压缩比等信息

-#:同gzip

bzcat 文件名.bz2 读取.bz2压缩包

解压缩可以使用bunzip2来代替bzip2 -d

4、打包命令tar (可以将多个目录或者文件打包成一个大文件,同时还可以通过gzip/bzip2的支持,将该文件进行压缩)

tar [-j|-z] [cv] [-f 新建的文件名] filename... <==打包与压缩

tar [-j|-z] [tv] [-f 新建的文件名] <==查看文件名

tar [-j|-z] [xv] [-f 新建的文件名] [-C 目录] <==解压缩

-c:新建打包文件,可搭配-v来查看过程中被打包的文件名

-t:查看打包文件的内容有哪些文件名,重点在查看文件名

-x:解压缩或解打包的功能,可以搭配-C在特定的目录解开(-c,-t,-x不能同时出现在同一命令行)

-j:通过bzip2的支持进行压缩/解压缩,此时文件名最好为*.tar.bz2

-z:通过gzip的支持进行压缩/解压缩,此时的文件名最好为*.tar.gz

-v:在压缩/解压缩的过程中,将正在处理的文件名显示出来

-f filename:-f后面接被处理的文件名

-C目录:这个参数用在解压缩的时候,若要在特定目录进行解压缩

-p:保留备份数据的原本属性与权限

-P:保留绝对路径,即允许备份数据中含有根目录

--exclude=file:在压缩的过程中不要将file打包

--newer-mtime='date':仅更新比date这个时刻还要新的文件

二、备份命令

1、dump备份整个文件系统和单一目录(限制在于对单一目录的备份支持比较不足)

dump [-Suvj] [-level] [-f备份文件] 待备份的数据

-S:仅列出后面的待备份数据需要多少磁盘空间才能够备份完毕

-u:将这次dump的时间记录到/etc/dumpdates文件中

-v:将dump的文件过程显示出来

-j:加入bzip2的支持,将数据进行压缩,默认的压缩等级是2

-level:压缩等级,同前

-f:后面接产生的文件

-W:l列出在/etc/fstab里面的具有dump设置的分区是否有备过

如果待备份的数据只是,目录,并非单一文件系统则有限制:

(1)所有的备份数据都必须要在该目录下面

(2)且仅能使用leve 0,即支持完整备份而已

(3)不支持-u参数,即无法创建/etc/dumpdates这个level备份的时间记录文件

2、dump的恢复使用restore命令

restore -t [-f dumpfile] [-h] <==用来查看dump文件

restore -C [-f dumpfile] [-D 挂载点] <==比较dump与实际文件

restore -i [-f dumpfile] <==进入互动模式

restore -r [-f dumpfile] <==还原整个文件系统

-t:此模式用在查看dump起来的备份文件中含有什么重要的数据

-C:此模式可以将dump内的数据拿出来跟实际的文件系统做比较

-i:进入互动模式,可以仅还原部分文件,用在dump目录时的还原

-r:将整个文件系统还原的一种模式,用在还原对文件系统的备份

-h:查看完整备份数据中的inode与文件系统label等信息

-f:后面就接你要处理的那个dump文件

-D:与-C进行搭配,可以查出后面接的挂载点与dump内有不同的文件

3、有光盘写入工具

步骤一:新建镜像文件 mkisofs [-o 镜像文件] [-rv] [-m file] 待备份文件..[-V vol] -graft-point isodir=systemdir...

-o:后面接你想要产生的那个镜像文件名

-r:通过Rock Ridge产生支持UNIX/LINUX的文件数据

-v:显示构建ISO文件的过程

-m file:-m为排除文件

-V vol:新建Volume

-graft-point:graft有转嫁或移植的意思

步骤二:将该镜像文件刻录至光盘或者DVD当中

cdrecord -scanbus dev=ATA <==查询刻录机的位置

cdrecord -v dev=ATA:x,y,z blank=[fast|all] <==抹除重复读写片

cdrecord -v dev=ATA:x,y,z -format <==格式化DVD+RW

cdrecord -v dev=ATA:x,y,z [可用参数功能] file.iso

-scanbus:用在扫描磁盘总线并找出可用的刻录机,后续的设备为ATA接口

-v:在cdrecord运行的过程,显示过程而已

dev=ATA:x,y,z:后续的x,y,z为你系统上刻录机所在的位置,非常重要

blank=[fast|all]:blank为抹除可重复写入的CD/DVD-RW,使用fast较快,all较完整

-format:仅针对DVD+RW这种格式的DVD

[可用参数功能]主要是写入CD/DVD时可使用的参数:

-data:指定后面的文件以数据格式写入,不是以CD音轨方式写入

speed=X:指定刻录速度

-eject:指定刻录完毕后自动退出光盘

fs=Ym:指定多少缓冲存储器,可用在将镜像文件先暂存区,默认为4M,一般建议可增加到8M

针对DVD的参数功能:

driveropts=burnfree:打开Buffer Underrun Free模式的写入功能

-sao :支持DVD-RW的格式

4、dd可备份完整的分区或磁盘,因为dd可读取磁盘的扇区表面数据

dd if="input file" of="output file" bs="block size" count="number"

if:就是input file

of:就是output file

bs:规划的一个block的大小,若为指定则默认是512bytes

count:多少个bs的意思

5、cpio可以备注任何东西,cpio得要配合类似find等可以找到文件名的命令来告知cpiof该备份的数据在哪里

cpio -ovcB > [file|device] <==备份

cpio -ivcdu < [file|device] <==还原

cpio -ivct <[file|device] <==查看

备份会使用到参数:

-o:将数据copy输出到文件或设备上

-B:让默认的Bloks可以增加至5120bytes,默认是512beytes

还原会使用的参数:

-i:将数据自文件或设备复制到系当中

-d:自动新建目录

-u:自动将较新的文件覆盖较旧的文件

-t:需要配合-i参数,可以用在查看以cpio新建的文件或设备的内容

一些共享的参数:

-v:让存储的过程中文件名可以显示在屏幕上

-c:一种较新的portable format方式存储

时间: 2024-10-25 16:06:42

linux中压缩与备份命令大全_linux shell的相关文章

Git中需要熟记的命令小结_linux shell

提交流程相关 查看文件改动以及新增的文件 git status 添加新增文件 git add your_file_path // 添加全部文件 git add * // 添加某类型文件 git add dir/*.js 简单的提交文件 git commit -m "Commit message" 提交你所有的修改文件以及添加的文件 git commit -am 'your message' 撤销修改某个文件 git checkout -- <filename> 放弃本地所有

详解Linux中vi命令大全_linux shell

vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令.由于 对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它.Vi也是Linux中最基本的文本编 辑器,学会它后,您将在Linux的世界里畅行无阻. vi的基本概念 基本上vi可以分为三种状态,分别是命令模式(command mode).插入模式(Insert mode)和底行模式(last line m

积累linux常用命令大全_linux shell

本人记忆力有限,就把平时在项目中遇到的linux常用命令分享给大家. Linux常用命令全集 http://www.jb51.net/linux/ linux文件中存在^M 使用shell命令tr可以实现去除,具体命令如下: 复制代码 代码如下:   cat -v yourfile | tr -d "^M" > targetfile VIM中选定某个单词 在ESC之后,使用w或者wi或者vwi可以选择某个单词 在控制台中快速移动光标 1.删除 1.1 ctrl + d 删除光标所

linux中关于mysql 语句命令大全

1.linux下启动mysql的命令:  代码如下 复制代码 mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令:  代码如下 复制代码 mysqladmin restart /ect/init.d/mysql restart (前面为mysql的安装路径) 3.linux下关闭mysql的命令:  代码如下 复制代码 mysqladmin -u root -p密码 shutdown /ect/i

一天一个shell命令 linux文本操作系列-touch命令用法_linux shell

之前我们学过dd创建测试文件,如果不需要考虑文件大小,创建一个空白文件的话,不妨试试 touch: 将每个文件的访问时间和修改时间改为当前时间. 不存在的文件将会被创建为空文件,除非使用-c 或-h 选项. 入门例子: 1. 如果想生成100个空文件 for name in {1..100}.txt do touch $name done 2. 改进一下 touch test{1..20}.c 查看 --help 用法:touch [选项]... 文件... 将每个文件的访问时间和修改时间改为当

Linux中vi、vim命令大全

  一.一般模式:删除.复制与粘贴类命令 x,X x为向后删除一个字符,X为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 D 删除当前行所有字符,试成为空行 ndd(n代表数字) 删除光标所在行的向下n列 d1G 删除光标所在行到第一行的所有数据 dG 删除光标所在行到最后一行的所有数据 yy 复制光标所在行 y1G 复制光标所在行到第一行的所有数据 yG 复制光标所在行到最后一行的所有数据 ynj(n代表数字) 复制光标所在行向下n+1行 dnj(n代表数字) 删除

Linux中搭建FTP服务器的方法_linux shell

Linux是以后操作系统的趋势所在,目前的大部分国产操作系统,甚至于安卓系统都是与Linux离不开关系.其中,FTP作为其中共享手段存在已久,我们今天就来看看怎么搭建简单的FTP服务器吧. FTP 是文件传输协议(File Transfer Protocol)的缩写.顾名思义,FTP用于计算机之间通过网络进行文件传输.你可以通过FTP在计算机账户间进行文件传输,也可以在账户和桌面计算机之间传输文件,或者访问在线软件归档.但是,需要注意的是多数的FTP站点的使用率非常高,可能需要多次重连才能连接上

linux中常用脚本和函数分享_linux shell

#查找当前目录中是否存在指定目录,若不存在,则创建之 复制代码 代码如下: function mkdir_1{  if test ! -d $1    then     mkdir $1  fi} #指定文件中的"prefix = .*"串替换为"prefix=/home/gnome-unicore-install2/usr/" #可以用来作为sed用法的参考 复制代码 代码如下: function modify_prefix {   chmod +w $1   

shell中嵌套执行expect命令实例_linux shell

一直都想把expect的操作写到bash脚本里,这样就不用我再写两个脚本来执行了,搞了一下午终于有点小成就,给大家看看吧. 系统:centos 5.x 1.先安装expect 复制代码 代码如下: yum -y install expect 2.脚本内容: 复制代码 代码如下: cat auto_svn.sh #!/bin/bash passwd='123456' /usr/bin/expect <<-EOF set time 30 spawn ssh -p18330 root@192.168