在Linux环境中,压缩文件的扩展名大多是
*.Z compress程序压缩的文件
*.gz gzip程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.tar tar程序打包的数据,并没有压缩过
*.tar.gz tar程序打包的文件,其中经过gzip的压缩
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩
压缩命令:
压缩:ncompress [-rcv] 文件名或目录
解压缩:uncompress *.Z
压缩:gzip [-cdtv#] 文件名(如果是目录,则指的是将目录内的所有文件“分别”进行压缩)
解压缩:gzip -d 文件
zcat可以读取纯文本被compress与gzip压缩后的压缩文件。
使用gzip压缩的文件在Windows系统中,可以被WinRAR解压缩
压缩:bzip2 [-cdtv#] 文件名(如果是目录,则指的是将目录内的所有文件“分别”进行压缩)
解压缩:bzip2 -d 文件 / bunzip2 文件,可以解压的压缩文件后缀为:.bz .bz2 tbz tbz2
bzcat可以读取被bzip2压缩后的压缩文件
打包命令:
由于tar的使用太广泛,目前Windows的WinRAR也支持.tar.gz的解压缩
tar:
打包:
tar -zpcv -f /root/etc.tar.gz /etc
tar -jpcv -f /root/etc.tar.bz2 /etc (推荐,压缩比更高)
查看:
tar -jtv -f /root/etc.tar.bz2
解打包:
tar -jxv -f /root/etc.tar.bz2 -C /tmp
解开打包文件内的其中一个文件:
tar -jtv -f /root/etc.tar.bz2 | grep 'shadow'
(grep为选取关键字)
tar -jxv -f 打包文件.tar.bz2 待解开文件名
tar -jxv -f /root/etc.tar.bz2 etc/shadow
打包某目录,但不含该目录下的某些文件的做法:
tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.bz2 /etc /root
仅备份比某个时刻还要新的文件:
find /etc -newer /etc/passwd
ll /etc/passwd
tar -jcv -f /root/etc.newer.than.passwd/tar.bz2 --newer-mtime="2008/08/05" /etc/*
tarfile:仅是打包
tarball:打包又压缩
备份到磁带机:
tar -cv -f /dev/st0 /home /root /etc
将 /etc 整个目录一边打包一边在 /tmp 中解开
cd /tmp
tar -cvf - /etc | tar -xcf -
用dump备份完整的文件系统:
df -h
先测试一下如果需要备份此文件系统需要多少容量:
dump -S /dev/sda1
将完整备份的文件名记录成为/root/boot.dump,同时更新记录文件:
dump -0u -f /root/boot.dump /boot
ll /root/boot.dump /etc/dumpdates
cat /etc/dumpdates
新建 level1 的备份:
看一下有没有任何文件系统被 dump 过的数据
dump -W
dd if=/dev/zero of=/boot/testing.img bs=1M count=10
使用 level1 备份:
dump -1u -f /root/boot.dump.1 /boot
ll /root/boot*
dump -W
用dump备份非文件系统,即单一目录的方法:
dump -0j -f /root/etc.dump.bz2 /etc
用restore查看dump后的备份数据内容:
restore -t -f /root/boot.dump
restore -t -f /root/etc.dump
比较差异并且还原整个文件系统:
cd /boot
mv config-2.6.18-128.el5 config-2.6.18-128.el5-back
restore -C -f /root/boot.dump
mv config-2.6.18-128.el5-back config-2.6.18-128.el5
cd /root
fdisk /dev/hdc
n
p
w
partprobe
mkfs -t ext3 /dev/hdc8
mount /dev/hdc8 /mnt
cd /mnt
restore -r -f /root/boot.dump
仅还原部分文件的restore互动模式
cd /mnt
restore -i -f /root/etc.dump
help
ls
cd etc
pwd
1s passwd shadow group
add passwd shadow group
delete group
ls passwd shadow group (又要被解压缩的,文件名之前会出现*)
extract
quit
ll -d etc
ll etc
光盘写入工具:
新建镜像文件: mkisofs
不使用-graft-point:
mkisofs -r -v -o /tmp/system.img /root /home /etc
ll -h /tmp/system.img
mount -o loop /tmp/system.img /mnt
df -h
ls /mnt
umount /mnt
使用-graft-point:
mkisofs -r -v 'linux_file' -o /tmp/system.img -m /home/lost+found -graft-point /root=/root /home=/home /etc=/etc
ll -h /tmp/system.img
mount -o loop /tmp/system.img mnt
ll /mnt
umount /mnt
刻录光盘:cdrecord
检测刻录机所在位置:
cdrecord -scanbus dev=ATA
进行CD的刻录操作:
先抹除光盘的原始内容:(非可重复读写则可略过此步骤)
cdrecord -v DEV=ATA:1,1,0 blank=fast
开始刻录:
cdrecord -v dev=ATA:1,1,0 fs=8m -dumy -data /tmp/system.img
刻录完毕后,测试挂载:
mount -t iso9660 /dev/cdrom /mnt
df -h /mnt
ll /mnt
umount /mnt
进行DVD-RW的刻录操作:
先抹除原本内容:
cdrecord -v dev=ATA:1,1,0 blank=fast
开始写入DVD,请注意,有些参数与CD不同:
cdrecord -v dev=ATA:1,1,0 fs=8m -data -sao driveropts=burnfree /tmp/system.img
挂载测试:
mount /dev/cdrom /mnt
df -h /mnt
umount /mnt
其他常用的压缩与备份工具:
dd:
将/etc/passwd 备份到 /tmp/passwd.back当中:
dd if=/etc/passwd of=/tmp/passwd.back
ll /etc/passwd /tmp/passwd.back
将磁盘第一个扇区备份下来:
dd if=/dev/hdc if=/tmp/mbr.back bs=512 count=1
找出最小的分区,并备份:
df -h
dd if=/dev/hdcl of=/tmp/boot.whole.disk
ll -h /tmp/boot.whole.disk
cpio:
将/boot下的文件备份到/tmp/boot.cpio:
find /boot -print
find /boot | cpio -ocvB > /tmp/boot.cpio
ll -h /tmp/boot.cpio
将刚才的文件在/root/目录下解开:
cd /root
cpio -idvc < /tmp/boot.cpio
ll -h /root/boot.cpio
重启 X Window: Alt + Ctrl + Backspace
*.Z compress程序压缩的文件
*.gz gzip程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.tar tar程序打包的数据,并没有压缩过
*.tar.gz tar程序打包的文件,其中经过gzip的压缩
*.tar.bz2 tar程序打包的文件,其中经过bzip2的压缩
压缩命令:
压缩:ncompress [-rcv] 文件名或目录
解压缩:uncompress *.Z
压缩:gzip [-cdtv#] 文件名(如果是目录,则指的是将目录内的所有文件“分别”进行压缩)
解压缩:gzip -d 文件
zcat可以读取纯文本被compress与gzip压缩后的压缩文件。
使用gzip压缩的文件在Windows系统中,可以被WinRAR解压缩
压缩:bzip2 [-cdtv#] 文件名(如果是目录,则指的是将目录内的所有文件“分别”进行压缩)
解压缩:bzip2 -d 文件 / bunzip2 文件,可以解压的压缩文件后缀为:.bz .bz2 tbz tbz2
bzcat可以读取被bzip2压缩后的压缩文件
打包命令:
由于tar的使用太广泛,目前Windows的WinRAR也支持.tar.gz的解压缩
tar:
打包:
tar -zpcv -f /root/etc.tar.gz /etc
tar -jpcv -f /root/etc.tar.bz2 /etc (推荐,压缩比更高)
查看:
tar -jtv -f /root/etc.tar.bz2
解打包:
tar -jxv -f /root/etc.tar.bz2 -C /tmp
解开打包文件内的其中一个文件:
tar -jtv -f /root/etc.tar.bz2 | grep 'shadow'
(grep为选取关键字)
tar -jxv -f 打包文件.tar.bz2 待解开文件名
tar -jxv -f /root/etc.tar.bz2 etc/shadow
打包某目录,但不含该目录下的某些文件的做法:
tar -jcv -f /root/system.tar.bz2 --exclude=/root/etc* --exclude=/root/system.tar.bz2 /etc /root
仅备份比某个时刻还要新的文件:
find /etc -newer /etc/passwd
ll /etc/passwd
tar -jcv -f /root/etc.newer.than.passwd/tar.bz2 --newer-mtime="2008/08/05" /etc/*
tarfile:仅是打包
tarball:打包又压缩
备份到磁带机:
tar -cv -f /dev/st0 /home /root /etc
将 /etc 整个目录一边打包一边在 /tmp 中解开
cd /tmp
tar -cvf - /etc | tar -xcf -
用dump备份完整的文件系统:
df -h
先测试一下如果需要备份此文件系统需要多少容量:
dump -S /dev/sda1
将完整备份的文件名记录成为/root/boot.dump,同时更新记录文件:
dump -0u -f /root/boot.dump /boot
ll /root/boot.dump /etc/dumpdates
cat /etc/dumpdates
新建 level1 的备份:
看一下有没有任何文件系统被 dump 过的数据
dump -W
dd if=/dev/zero of=/boot/testing.img bs=1M count=10
使用 level1 备份:
dump -1u -f /root/boot.dump.1 /boot
ll /root/boot*
dump -W
用dump备份非文件系统,即单一目录的方法:
dump -0j -f /root/etc.dump.bz2 /etc
用restore查看dump后的备份数据内容:
restore -t -f /root/boot.dump
restore -t -f /root/etc.dump
比较差异并且还原整个文件系统:
cd /boot
mv config-2.6.18-128.el5 config-2.6.18-128.el5-back
restore -C -f /root/boot.dump
mv config-2.6.18-128.el5-back config-2.6.18-128.el5
cd /root
fdisk /dev/hdc
n
p
w
partprobe
mkfs -t ext3 /dev/hdc8
mount /dev/hdc8 /mnt
cd /mnt
restore -r -f /root/boot.dump
仅还原部分文件的restore互动模式
cd /mnt
restore -i -f /root/etc.dump
help
ls
cd etc
pwd
1s passwd shadow group
add passwd shadow group
delete group
ls passwd shadow group (又要被解压缩的,文件名之前会出现*)
extract
quit
ll -d etc
ll etc
光盘写入工具:
新建镜像文件: mkisofs
不使用-graft-point:
mkisofs -r -v -o /tmp/system.img /root /home /etc
ll -h /tmp/system.img
mount -o loop /tmp/system.img /mnt
df -h
ls /mnt
umount /mnt
使用-graft-point:
mkisofs -r -v 'linux_file' -o /tmp/system.img -m /home/lost+found -graft-point /root=/root /home=/home /etc=/etc
ll -h /tmp/system.img
mount -o loop /tmp/system.img mnt
ll /mnt
umount /mnt
刻录光盘:cdrecord
检测刻录机所在位置:
cdrecord -scanbus dev=ATA
进行CD的刻录操作:
先抹除光盘的原始内容:(非可重复读写则可略过此步骤)
cdrecord -v DEV=ATA:1,1,0 blank=fast
开始刻录:
cdrecord -v dev=ATA:1,1,0 fs=8m -dumy -data /tmp/system.img
刻录完毕后,测试挂载:
mount -t iso9660 /dev/cdrom /mnt
df -h /mnt
ll /mnt
umount /mnt
进行DVD-RW的刻录操作:
先抹除原本内容:
cdrecord -v dev=ATA:1,1,0 blank=fast
开始写入DVD,请注意,有些参数与CD不同:
cdrecord -v dev=ATA:1,1,0 fs=8m -data -sao driveropts=burnfree /tmp/system.img
挂载测试:
mount /dev/cdrom /mnt
df -h /mnt
umount /mnt
其他常用的压缩与备份工具:
dd:
将/etc/passwd 备份到 /tmp/passwd.back当中:
dd if=/etc/passwd of=/tmp/passwd.back
ll /etc/passwd /tmp/passwd.back
将磁盘第一个扇区备份下来:
dd if=/dev/hdc if=/tmp/mbr.back bs=512 count=1
找出最小的分区,并备份:
df -h
dd if=/dev/hdcl of=/tmp/boot.whole.disk
ll -h /tmp/boot.whole.disk
cpio:
将/boot下的文件备份到/tmp/boot.cpio:
find /boot -print
find /boot | cpio -ocvB > /tmp/boot.cpio
ll -h /tmp/boot.cpio
将刚才的文件在/root/目录下解开:
cd /root
cpio -idvc < /tmp/boot.cpio
ll -h /root/boot.cpio
重启 X Window: Alt + Ctrl + Backspace
本文详细介绍Linux环境下各种压缩和备份命令的使用方法,包括压缩工具如gzip、bzip2及tar等,以及备份工具如dump和restore的操作流程。还介绍了如何创建和刻录ISO镜像文件。

1833

被折叠的 条评论
为什么被折叠?



