Chinaunix首页 | 论坛 | 博客
  • 博客访问: 711388
  • 博文数量: 147
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1725
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-22 10:36
文章分类

全部博文(147)

文章存档

2011年(1)

2010年(1)

2009年(35)

2008年(110)

我的朋友

分类: LINUX

2008-10-14 09:04:21


打包:tar cvf 1.tar 文件名
解压:tar xvf 1.tar
查看包中的内容:tar -tf 1.tar
向包中添加新的文件:tar rvf 1.tar 文件名

生成压缩包:tar zcvf 1.tar.gz 文件 
查看压缩包文件:tar ztf 1.tar.gz
解压:tar zxvf 1.tar.gz

压缩:gzip 文件名
解压:gunzip *.gz
查看:gzip -l *.gz

压缩:zip -r 1.zip 文件(递归压缩)
解压:unzip 1.zip

.bz2
压缩但是不删除:bzip2 -k 文件
解压文件:bunzip2 文件

dd用于备份命令
dd if="input_file" of="output_file" bs="block_size"(块的大小) count="number"
将/etc/passwd备份到/tmp/passwd.back(一般是文件)
dd if=/etc/passwd of=/tmp/passwd.back
恢复:dd if=/tmp/passwd.back of=/etc/passwd
备份/dev/sda的MBR
dd if=/dev/sda of=/path/to/image bs=512 count=1
恢复: dd if=/path/to/image of=/dev/sda
将备份的MBR信息写到磁盘开始部分
备份整个/dev/sda1的分区
dd if=/dev/sda1 of=/some/path/filename(后面的of不能在该分区内,否则就读不完)
恢复dd if=/some/path/filename of=/dev/sda1
dd用于切割文件的命令:
为了将一台安装SCO UNIX 5.0.5主机上的TAR打包文件备份, 需要将其通过网络传送到另外一台配有磁带机的UNIX主机上。两台主机通过TX530网卡相连,用FTP传送的时候,前几个文件分别在10M、20M字节 大小,都能够顺利传送。但其中有一个文件压缩后体积已达98M之巨,传送了几次,要么只能传40M, 要么只能传20M左右就导致网络崩溃,换画面PING对方主机,本应为零的速率延迟降为2400多毫秒,而且误码率极高,只有重新启动两台主机才能恢复网 络通讯。

    UNIX的SHELL功能强大,非WINDOWS可比,从上面使用的TAR、FTP已可管窥。同样,UNIX已经提供了文件切割功能,不需要费力气去寻找第三方的文件切割程序。能完成这个功能的UNIX命令就是DD。
    要切割的大文件为DGJD,共98336321字节,则:
   dd if=dgjd of=zz1 bs=1 count=20000000  
    dd if=dgjd of=zz2 bs=1 count=20000000 skip=20000000
    dd if=dgjd of=zz3 bs=1 count=20000000 skip=40000000
    dd if=dgjd of=zz4 bs=1 count=20000000 skip=60000000
    dd if=dgjd of=zz5 bs=1 count=18336321 skip=80000000

    其中IF(INPUT FILENAME)是要切割的大文件名,OF(OUTPUT FILENAME)是切割后的子文件名,BS是指明以多少字节作为一个切割记录单位,COUNT是要切割的单位记录数,SKIP是说明切割时的起点,单位 同样以BS设定值为准。通过上述五条指令就将DGJD大文件切割成为4个2千万字节、1个18336321字节的子文件。要注意的是SKIP的值不能错。 由此
也不难看出,DD切割是“非损耗”式的切割,并且支持从任意位置开始的任意大小的切割。

    要将生成的ZZ1、ZZ2、ZZ3、ZZ4四个子文件组装为XDGJD,则:
   dd if=zz1 of=xdgjd bs=1 count=20000000
    dd if=zz2 of=xdgjd bs=1 count=20000000 seek=20000000
    dd if=zz3 of=xdgjd bs=1 count=20000000 seek=40000000
    dd if=zz4 of=xdgjd bs=1 count=20000000 seek=60000000
    dd if=zz5 of=xdgjd bs=1 count=18336321 seek=80000000

    其中SKIP参数改为SEEK参数,指明组装的新大文件XDGJD每次的开始位置是从文件头开始多少字节。如果缺省,则组装从文件头开始,显然这不是我们 每次都希望的, 所以需用SEEK参数明确指出开始位置。通过以上5个指令,即可将5个子文件重新组装为一个大文件。将切割后生成的子文件重新用FTP传送,结果有的能够 顺利传送, 有的仍然导致网络瘫痪,不怕,继续切割,切成每个一千万字节,再传,OK!成功传送!
删除文件中的部分内容:
例子:日志文件过大时候想删除该文件的前半部分,可以将后面部分复制出来,在将源文件删除即可
tail -n 行数 文件名>文件名


阅读(1260) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~