LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: gao_linfeng

请教这句的具体意思并举例说明

[复制链接]
发表于 2004-6-2 22:25:33 | 显示全部楼层
不知道大家用过bbiagent吗?他的img你很难看到什么东西。不过你使用了一下方法试试(加密一词好像不太准确,见谅)
Das Problem ist, das dies ein 1-Diskettenlinux ist.
Kernel und RAM-Disk befinden sich auf demselben Datenträger.


Aber es gibt trotzdessen eine Möglichkeit


Als erstes must du von der Diskette die du mit
sudo dd if=BBIagent.img of=/dev/fd0
erzeugt hast booten.


RAMDISK: Compressed Ramdisk found at Block ???


Diese Zahl brauchst du.


dd if=BBIagent.img of=root.img.gz bs=1k skip=???
gunzip root.img.gz
sudo mount -o loop -t ext2 root.img /mnt/


Alles ändern. Und dann:
umount /mnt
gzip -v9 root.img
dd if=root.img of=/dev/fd0 bs=1k seek=510
发表于 2004-6-3 00:05:37 | 显示全部楼层
最初由 lonereed 发表
1) 前边只是管道的传递, 最后只产生一个文件即 outfile
2) 其实这种问题你试一试就知道了

对,自己动手做个实验,感觉一下吧~
发表于 2004-6-3 08:55:30 | 显示全部楼层
最初由 gao_linfeng 发表
问题就在这里,我的本意就是只产出一个文件,可是我刚才用:
tar -zcfv file.tar.gz file |dd of=outfile bs=100k count=3
缺弄出两个文件来。
应该这样用:
  1. tar -cvf - /your/path/files | gzip -c | dd of=outfile bs=1024k
复制代码
发表于 2004-6-3 08:57:46 | 显示全部楼层
tar -cvf - 后面的 - 表示将结果输出到 stdout 即屏幕上
gzip -c 中的 -c 也是此意
dd 默认是读 stdin 的
 楼主| 发表于 2004-6-3 09:41:00 | 显示全部楼层
按照lonereed兄的意思来说,那这句可打成如下:
tar -zcvf -  file |gzip -c |dd of=output bs=100k
我回去试试看。谢谢楼上的兄位老大。
发表于 2004-6-3 10:38:49 | 显示全部楼层
tar 的 -z 就是自动调用 gzip, 因此你不必再用 gzip -c 了:
  1. tar -czvf - /your/path/files | dd of=outfile bs=1024k
复制代码
 楼主| 发表于 2004-6-3 12:18:36 | 显示全部楼层
这回终于明白了,原来这些数据流都是可以输出成文件或者输出到屏幕上的,这样以来假如我的目标盘没有多余空间的话,就可以利用上诉命令直接将一个压缩好的文件放到目标盘里了,或者也可以利用dd命令的skip命令只将压缩后文件的某一部分放到目标区里。

谢谢楼上的兄弟们。
发表于 2004-6-3 12:49:43 | 显示全部楼层
linux 下的许多 command 都能读 stdin, 写 stdout, 这给 shell 编程 (主要是管道的运用) 带来很多方便
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表