b95902HW 板


LINE

※ [本文转录自 vgod 信箱] 作者: [email protected] 标题: Re: 改作业... 时间: Tue Oct 31 18:49:48 2006 作者: vgod (我只会更爱你) 看板: public_vgod 标题: Re: 改作业... 时间: Tue Oct 31 18:28:25 2006 计概作业终於改完了XD (连续改作业没多久眼睛就会很酸, 这是变老的迹象吗 orz) 这次作业好像出太难了 导致小大一们怨声连连.... 真正全对的也只有7个, 而且也不知道他们是不是真的都有弄懂自己在写甚麽XD 只是从作业里我也发现一些有趣的解法, 是之前完全没料到的XD 题目如下: 1. Pack and compress all C source files (*.c) in ~/hw/ into an archive file and send it to a remote machine through a secure channel. Notice that ~/hw has many nested directories, you should pack all C source files under ~/hw, no matter how deep they are. 2. Try to do the same thing without creating a temporary file. 答案在下面, 不想看的不要下去: 1. 这题比较难的是要怎麽找出~/hw下所有的.c, 并且把这个list丢给tar或zip去压 我预设的答案是 tar cvzf hw.tgz `find ~/hw -name '*.c'` 而比较容易被忽略掉的是, *.c要包在quotes中, 不然会先被shell拿去展开 如果在current dir下刚好有.c, 就会烂掉XD 因为我没限制只能用tar, 所以有人用了zip 而zip有个有趣的参数-@, 可以从stdin吃进要压缩的list.. 所以就可以变这样 find ~/hw -name '*.c' | zip -r hw.zip -@ 但如果有仔细看man, 就会发现zip内建支援recursive pattern matching (man中的例子竟然完全一样, 真是便宜有发现的人了XD) zip -r hw.zip -i \*.c 同样的, 在*前加\的目的跟放quote里一样, 防止shell先把他展开 2. 第二题 难的地方在於要怎麽让tar(or zip)不要输出档案, 而把输出直接丢到另一台机器上存放 第一题可以用scp把hw.tgz直接复制到远端去 但scp不能从stdin吃data, 所以就不能直接把tar的输出pipe给scp 所以, scp不行 就得改用ssh了 ssh其实不是只能拿来连到工作站打逼或写程式而已 如果在ssh後面加command的话, ssh就能直接在远端机器上执行那个command 更厉害的是, ssh也能把pipe延伸到远端的command去.. 所以可以这麽写 tar cvzf - `find ~/hw -name '*.c'` | ssh linux2 ... 这样就能把tar的结果丢到远端去. 所以现在的问题是要怎麽把在远端stdin的资料存到一个档案里 最简单的方法就是 cat > hw.tgz 要特别注意的是, 不能直接写 ssh linux2 cat > hw.tgz 这样写的话, 本地端的shell会先把>给处理掉 於是最後的结果会存在本地端的hw.tgz, 而不是linux2上 同样的, 我们也得在>前面加上\ 或是用""把cat > hw.tgz整个包起来 避免shell先把它处理掉 以上是我预设的解法, 但後来发现竟然有人这麽写..... tar cvzf linux2:hw.tgz `find ~/hw -name '*.c'` 刚看到的时候本来想直接给他错XD 但试了一下才发现... tar竟然真的有支援这麽恶心的功能 ||| (只是这要够新的tar才能用, 我本来用1.14会有问题 更新到1.16才ok) 因为我事先也没说不能用, 所以这样写的就还是算对了XD -- "任何一个傻瓜都能写出计算机可以理解的程式码。唯有写出人类容易理解的程式码, 才是优秀的程式员。" -- <<Refactoring>> -- 未来最旧小栈 Oldest Future Object ▇█˙通讯频率 OfO.twbbs.org ◢▉◤ ◆来源座标 140.112.30.26 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.26
1F:推 bob0423:该怎麽说难呢......一片空白的东西...... 10/31 19:17
2F:推 vgod:如果有问题礼拜五请来演习课XD.. 10/31 19:33
3F:推 NTUSTKnight: ^^^^^^^^^^^^^^^^第一次上课吗? 10/31 20:11
4F:推 Acehole:我根本不知道要怎麽动手...整个就是囧在电脑前XD 10/31 20:23
5F:推 sasbluesea:因为已经订了火车票.不能去.. 10/31 21:04
6F:推 vgod:如果有人愿意提供录音设备, 可以录下来给没听到的人听... 11/01 00:35
7F:推 Asvaghosa:可以请老师提供吗 超高级iPod XD 11/01 15:52
8F:推 LeoSW:可以问一下这节演习课通常是教上次的作业吗? 11/04 00:04
9F:→ LeoSW:还是会视情况把礼拜一没教完的教玩呢? 11/04 00:05







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP