免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7142 | 回复: 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 -"
复制代码

论坛徽章:
58
15-16赛季CBA联赛之北控
日期:2019-09-29 17:40:5815-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期: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:1715-16赛季CBA联赛之北京
日期:2016-07-06 15:42:07
发表于 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 -"
复制代码

论坛徽章:
58
15-16赛季CBA联赛之北控
日期:2019-09-29 17:40:5815-16赛季CBA联赛之同曦
日期:2016-06-12 10:38:0915-16赛季CBA联赛之佛山
日期:2016-05-27 11:54:56黄金圣斗士
日期:2015-12-02 11:44:35白银圣斗士
日期: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:1715-16赛季CBA联赛之北京
日期:2016-07-06 15:42:07
发表于 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 -" 中的第一个“-” 是否可以不用。
复制代码
如果第一个 - 没有的话,如何产生标准输出给下一条命令呢?

论坛徽章:
96
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:5619周年集字徽章-19
日期:2019-10-10 10:50:16CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2015-02-28 17:45:3419周年集字徽章-周
日期:2019-10-10 10:50:2219周年集字徽章-年
日期:2019-10-10 10:50:2419周年集字徽章-庆
日期:2019-10-10 10:50:26CU大牛徽章
日期:2019-10-10 10:55:38ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17
发表于 2013-08-19 11:09 |显示全部楼层
cat 就是原样输出,管他是什么文件类型都一样输出。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,8.5折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时8.5折扣期:2019年9月30日前


----------------------------------------

大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP