免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7043 | 回复: 14

[网络相关] tar 和ssh [复制链接]

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
发表于 2013-08-17 13:53 |显示全部楼层
本帖最后由 securitypluscn 于 2013-08-17 13:56 编辑

我正在学入侵检测程序Ossec HIDS
以下是书中的两个小程序。
# cat /; tar --exclude client.keys -cf /tmp/ossec.tar var/ossec etc/init.d/ossec 'find etc -name "S[0-9][0-9]ossec"'

# cat /tmp/ossec.tar | ssh root@192.168.65.30 "groupadd ossec; useradd -g ossec -d /var/ossec ossec; cd / ; tar -xf -"

第一个程序很好理解,将所需的文件用tar打包.
第二个程序我不懂,请帮忙解答。

我只知道用scp传文件。为什么用cat 命令?我在机器上只执行“cat /tmp/ossec.tar" 时会出一些乱码。
"tar -xf -" 中的“-”是做什么用的?

先谢谢了。


论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2013-08-17 17:38 |显示全部楼层
目的就是将tar 文件传到远程服务器后直接解包。 - 可以理解为标准输入。
  1. cat /tmp/ossec.tar | ssh root@192.168.65.30 " tar -xf -"
复制代码

论坛徽章:
54
15-16赛季CBA联赛之北京
日期:2019-01-25 10:16:38白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:532015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之大阪钢巴
日期:2015-06-25 17:30:042015亚冠之城南
日期:2015-06-25 15:10:58黄金圣斗士
日期:2015-12-02 11:44:3515-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56
发表于 2013-08-17 22:33 |显示全部楼层
回复 2# rdcwayx


    版版,我也有此疑问,为什么用cat?

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
发表于 2013-08-17 23:52 |显示全部楼层
rdcwayx 发表于 2013-08-17 17:38
目的就是将tar 文件传到远程服务器后直接解包。 - 可以理解为标准输入。


非常感谢你的解答。

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
发表于 2013-08-17 23:55 |显示全部楼层
reyleon 发表于 2013-08-17 22:33
回复 2# rdcwayx


我以为CAT只能读文本文件呢。

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2013-08-18 12:18 |显示全部楼层
本帖最后由 rdcwayx 于 2013-08-18 14:23 编辑

tar 原来用于磁带备份,不带压缩功能。文件在打包的时候加了些头文件标识, 文件包大小前后比较的话,其实几乎没有变化。

所以untar 的时候,就相当于从磁带里读这个文件,和cat起的作用是一样的。

你可以在本机上试验一下这个命令。
  1. tar cvf infile.tar infile
  2. cat infile.tar |tar xvf -
复制代码
除非这个tar文件需要反复使用,让我做的话,我一般不产生这个临时tar文件,直接打包传到远程服务器后解包。
  1. tar cvf - 文件1 目录1 文件x  |ssh user@server "cd /PATH; tar xvf -"
复制代码

论坛徽章:
54
15-16赛季CBA联赛之北京
日期:2019-01-25 10:16:38白银圣斗士
日期:2015-11-25 14:32:43白银圣斗士
日期:2015-11-23 12:53:352015亚冠之布里斯班狮吼
日期:2015-10-21 16:55:482015亚冠之首尔
日期:2015-09-01 16:46:052015亚冠之德黑兰石油
日期:2015-08-31 11:39:192015亚冠之萨济拖拉机
日期:2015-08-28 21:06:532015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之大阪钢巴
日期:2015-06-25 17:30:042015亚冠之城南
日期:2015-06-25 15:10:58黄金圣斗士
日期:2015-12-02 11:44:3515-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56
发表于 2013-08-18 20:39 |显示全部楼层
回复 6# rdcwayx


    学习了。

论坛徽章:
2
辰龙
日期:2015-01-11 00:34:002015年亚洲杯之巴勒斯坦
日期:2015-01-28 10:35:37
发表于 2013-08-19 00:21 |显示全部楼层
本帖最后由 securitypluscn 于 2013-08-19 00:41 编辑

回复 6# rdcwayx

多谢,长知识了!

我试了一下压缩文件,也可以。
#cat infile.tar.gz | ssh 192.168.1.123 "cd /tmp; tar zxf -"
不知cat 是否将压缩文件打开来看,还是只是将整个文件不管三七二十一扔进管道完事。

再有 tar cvf - 文件1 目录1 文件x  |ssh user@server "cd /PATH; tar xvf -" 中的第一个“-” 是否可以不用。







   

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
发表于 2013-08-19 09:33 |显示全部楼层
  1. #cat infile.tar.gz | ssh 192.168.1.123 "cd /tmp; tar zxf -"
  2. 不知cat 是否将压缩文件打开来看,还是只是将整个文件不管三七二十一扔进管道完事。
复制代码
就是这样,如果你的tar 支持 z 参数的话(就是自带类似gunzip的功能),那么也可以。
  1. 再有 tar cvf - 文件1 目录1 文件x  |ssh user@server "cd /PATH; tar xvf -" 中的第一个“-” 是否可以不用。
复制代码
如果第一个 - 没有的话,如何产生标准输出给下一条命令呢?

论坛徽章:
92
CU大牛徽章
日期:2013-11-29 22:26:36CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2014-02-21 14:22:02CU大牛徽章
日期:2014-02-21 14:22:07CU大牛徽章
日期:2014-02-21 14:22:09CU大牛徽章
日期:2015-02-28 17:45:342015元宵节徽章
日期:2015-03-06 16:56:38羊年新春福章
日期:2015-02-28 17:42:522015七夕节徽章
日期:2015-09-14 09:24:55CU大牛徽章
日期:2014-02-21 14:22:44CU大牛徽章
日期:2015-02-28 17:48:12CU大牛徽章
日期:2015-02-28 17:47:58
发表于 2013-08-19 11:09 |显示全部楼层
cat 就是原样输出,管他是什么文件类型都一样输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

基于案例的 SQL 优化实战训练营

讲师:中电福富特级专家梁敬彬,参与本次课程培训,你将收获:
1. 能编写出较为高效的 SQL;
2. 能解决70%以上的数据库常见优化问题;
3. 能得到老师提供的高效的相关工具和解决方案;
4. 能举一反三,收获不仅仅是 SQL 优化。
现在购票享受8.8折优惠!
----------------------------------------
优惠时间:2019年3月20日前

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP