多学点东西,再写写自己的收获,和大家共分享。 这样对linux都有贡献。。。。
  • 日而记之

    2007-12-16 11:58:20

    2008-04-21:每每末班于不夜......旧友一句:一个人不会孤独的,想一个人才会--貌似应景.
    2008-04-16:
    民粹夹杂着谎言像瘟疫一样到处强奸,理智却如春冰逃遁深山般绝迹.
    2008-04-15:
    卡农让人产生一种持续,一浪一浪涌到喉咙,且是螺旋上升的自我释放渴望感.
    2008-04-14:
    踏青杭州.漫迹茶山.篝火烧烤.生日.蛋糕大战.感言:女生越是乖巧越不可信.
    2008-04-09:
    大选,前蓝:马到成功.后绿:马上得天下,焉能马上治天下?--一语双关,创意十足
    2008-04-08:
    春暖乍寒 冷风斜雨 却是深秋风韵。
    2008-04-07:
    鸟鸣梦醒 花开行路 春天真的到了哦..
    2008-04-03:
    上帝死了:一切皆有可能--而不仅仅是多了一段墓志铭
    2008-04-01:
    淡淡的不舍总在一往思念后的残笑, 而期许的迷茫却漫成对自我认同的绝望
    2008-03-31:
    人言:龙之传者帝 猪之传者民 但证据越发证明龙的原型就是野猪-殊途同归?!
    2008-03-28:
    经济全球化,薪资相信也会全球化!多多努力,当有机会。
    2008-03-25:
    纵览全史 文人执权者惟宋 然终是昧昧于一隅 不曾北向半矢 每想来不能释
    2008-03-24:
    民主?!就是你可以仇视,可就是不能仇杀.--最低级定义..
    2008-03-22:
    诡异的大选:相信什么结果出来,都不会改变这个结论。
    2008-03-21:
    2000,2004,2008,3.2*,收听RTI,大选,一种生活,一种习惯--想来真的很不错.
    2008-03-19:
    无意间说出权谋主义者,似曾相识!?哦~高中时自称权谋大师--不禁乐而开笑!
    2008-03-18:
    细想一下,真的没看到中年人让座,社会断层由此可见一斑.
    2008-03-17:
    习惯的力量是多么的可怕,以致每每睡前必感慨:"嗨!明天又要工作!"
    2008-03-14:
    越发感觉到linux世界充满一种冷静,默默,踏实而持续的努力--自己要努力看齐
    2008-03-10:
    突然发现..原来自己天天靠喝咖啡提神..太可怕了。。
    2008-03-09:
    总结喜欢关羽的原因: 自高自大 有所坚持 仁义兼备.--自己有点神似.窃喜!?
    2008-03-04:
    百一定律:你要自我努力100次,别人才会因此支持你1次.--惟有让对方感动,方能得到信任.
    2008-03-03:
    处处是圈圈,虽等公交还茫茫然绕于路旁枫树.人言高人以锯木屑为乐--窃喜
    2008-03-01:体检数据每况愈下,却天天自诩身体素质良好.--油尽灯枯--
    2008-02-28:
    每次总是在丢钱包时,才会觉得自己钱带多了点--想来还是别那么患得患失
    2008-02-27:
    天下无不是愚忠的忠,无不是愚孝的孝--张远山如是说
    2008-02-26:
    马谢骗取选票无所不用其极.恰恰证明有什么样的选民就有什么样的政客.
    2008-02-25:
    不能因为别人的坏品德而改了自己的好品德--突然想起
    2008-02-21:亲爱的皇上,蔚蓝的天空已被黑色的,乌鸦的,丑陋的翅膀掩蔽.哦!多么可怕.

    2008-02-20:杨恒均:你说中国人不适合民主,那你适合不?!--终于找到了有力的回击.快慰!!
    2008-02-19:须是收拾身心而后读书方有所益
    2008-02-16:
    偶有小得便可欢心鼓舞
    2008-02-14:
    九天假期,七天图书馆,便自诩高人。2K治鼻炎--没事不要乱看病。
    2008-02-03:
    这场雪很及时,无望于回家
    2008-02-02:年关 公司 KTV 喝多酒 甚惫
    2008-01-31:悬梁锥股以图贵而多金

    2008-01-28:窗外雪圣哲书闲心一份纵然天寒地冻却是满屋春意
    2008-01-21:当宋金之战,明清之战成为内战,那岳飞,袁崇焕是什么?内战英雄?!一不小心,抗日英雄也会成为内战英雄.岂不可笑
    2008-01-02:借钱?!那是拿自己的名誉开玩笑的事.
    2007-12-25
    :收到公司耶诞节面塑礼物:道貌岸然心怀慈悲的我踩着一只老鼠--感佩不已
    2007-12-24:过了五年再看堂吉诃德自然别有感触:拥有可笑的自信同样可爱。
    2007-12-21:雨下,路堵,苦等公交无期,打的了事。
    2007-12-19:上班迟到1小时,扣了半天工资.
    2007-12-16:走着走着,就一直走在盲人线上,虽然脚很痛苦,但感觉这样会更安心,因为盲人线比较窄,选择的余地不多。

     
  • ubuntu 8.04 个人笔记

    2008-04-28 15:02:53

    从7.10升级到8.04,有点痛苦。。。
    1。不要相信所谓的上线升级。动不动就要五天8个小时 。重装就是。
    2。 noapic 选项在启动时要记得设置。
    3。 grub 里的timeout 不要设置为0,
    4。 eva似乎有点问题。到网络上找个新的。
    5。/etc/hosts  里的东东不要自以为地修改。
    6。sudo passwd root 一定要做,不然什么时候sudo 不能用了就不好了。
    7。很高兴地看到台电的C280 2G的U盘可以用了。
             相信台电相关的U盘也OK。 这点着实让人兴奋不已。
    8。整体而言稳定性仍不是很好。。比 7.10差了点。。
  • 日而记之(8.04)

    2008-04-22 10:02:28

    2008-07-04:蓝紫短衫女生-一愣,思索良久-错过公交,迟到-恰好服务器down-奖金又少了.
    2008-06-30:
    信之所寄:尾生与女子期于梁下,女子不来,水至不去,抱梁柱而死。
    2008-06-26:
    敢笑黄巢不丈夫:写写小代码.大约也是乐事一件.
    2008-06-23:
    而今从头越:是了,重新开始是多么令人快慰的事.但真的很难很难.
    2008-06-22:
    保持好奇心:你知道儿时家中屋樑上的燕子深秋后去了哪里了吗--google一下
    2008-06-20:
    卧枝伤恨低:似乎这周末要做点什么?越发感觉到无趣。。。。
    2008-06-19:
    卧枝伤恨低:怀念总是自然的对... ...
    2008-06-16:
    快乐可能更多地源自对自我的肯定-- 想清楚:100年真的很短.
    2008-06-15:
    乌鸦悖论:推理原来可以是这样的......
    2008-06-13:
    .......:对自己的清白有信心,对司法的正义有期待
    2008-06-09:
    .......纵然是齐眉举案 到底意难平.
    2008-06-05:
    64之后就是每个月的5号.是了!发薪水了,到底钱异或理想重要.--少了点魄力.
    2008-06-04:
    64又来了... ... 更多的是茫然,好像自己一直在放话和食言晃动.
    2008-06-04:
    满世界虽说都是残酷的.一点守望和一点坚持却会让它变得不那么令人心寒.
    2008-06-02:
    决择之于自由,自由之于责任
    2008-05-19:
    死公主之于睡美人,子曰:思无邪
    2008-05-18:
    昨晚:察觉配置出错.早上:到公司修正.中午:感觉没有改.下午:又到公司确认
    2008-05-12:
    地震 死人 木然 -- 活着为了什么?!  想清楚了,自然会是木然.
    2008-05-11:
    不说话不等于不想念--快乐常在!
    2008-05-08:
    为了忘却的出国。感念旧时狂妄。。
    2008-05-06:
    产品运营 自以为是 做错多事 --情理之中   当谨慎处之
    2008-05-05
    :只是感觉最近代码有点写得快疯了般,不是难受,而是一种呆头呆脑的感觉
    2008-05-02:
    free ......
    2008-04-30:总是梦见不自信。失败。被拒。--日有所思??
    2008-04-29:
    突然发现:好久以来总是说这说那不可信.这不像是自己的一贯作风--又点怪
    2008-04-26:
    ubuntu升级不可信. 7.10,8.04都一样,最后还是重装了,想来真是不快.
    2008-04-22:
    不可信者有三:见老者仍抢位于公交者.执面巾擦脚于馆驿者.借钱恶意不还者
    2008-04-21:
    每每末班于不夜......旧友一句:一个人不会孤独的,想一个人才会--貌似应景.
    2008-04-16:
    民粹夹杂着谎言像瘟疫一样到处强奸,理智却如春冰逃遁深山般绝迹.
    2008-04-15:
    卡农让人产生一种持续,一浪一浪涌到喉咙,且是螺旋上升的自我释放渴望感.
    2008-04-14:
    踏青杭州.漫迹茶山.篝火烧烤.生日.蛋糕大战.感言:女生越是乖巧越不可信.
    2008-04-09:
    大选,前蓝:马到成功.后绿:马上得天下,焉能马上治天下?--一语双关,创意十足
    2008-04-08:
    春暖乍寒 冷风斜雨 却是深秋风韵。
    2008-04-07:
    鸟鸣梦醒 花开行路 春天真的到了哦..
    2008-04-03:
    上帝死了:一切皆有可能--而不仅仅是多了一段墓志铭
    2008-04-01:
    淡淡的不舍总在一往思念后的残笑, 而期许的迷茫却漫成对自我认同的绝望
  • vim命令之 cnl

    2008-03-25 17:11:06

    在vim中, caw :是表示修改当前光标所在的单词,这个很有用,但是有时你想修改当前光标后的3个字符。比如把DDDDDD改成DFFFDD,用caw显然有点过分,试了多个方式都没有成功。最后想起了"l"(字母L),随便打上c3lFFF,成功了。痛快!
       cnl:修改当前光标后n个字符。
       当也会有:cnh,没错,它就是表示
    修改当前光标前n个字符。


        感觉vim,实在是太顺心了。

       还有一个命令:gi
        谁测谁知道。/。。。
  • 三国志11 据点 坐标信息

    2008-03-07 09:37:21

    踏实走好每一步。。不要跳。。

    ==========================
    san 11 的地图设置的还不错。 花了一个多小时,将它的据点坐标信息记录下了。对相关设计有好处。
    现在分享之。。

    襄平    174 16
    安平港  168 28
    北平    149 20
    南皮    138 27
    蓟      122 16
    晋阳    91  39
    壶关    92  57
    邺      109 53
    白马港  110 63
    平原    129 54
    高唐港  134 57
    临济港  145 54
    北海    160 51
    昌阳港  176 48
    海陵港  166 78
    下邳    156 77
    小沛    136 77
    顿丘港  123 66
    濮阳    120 71
    陈留    108 79
    官渡港  101 72
    虎牢关  90  77
    洛阳    79  76
    孟津港  79  70
    解县港  65  65
    西河港  63  49
    夏阳港  59  55
    新丰港  64  74
    武关    68  86
    函谷关  68  78
    潼关    61  77
    长安    53  73
    安定    28  55
    武威    9   41
    天水    10  71
    阳平关  27  83
    汉中    28  89
    剑阁    14  97
    葭萌关  23  102
    梓潼    16  110
    上庸    54  102
    房陵港  59  105
    宛      77  92
    湖阳港  81  109
    新野    87  109
    许昌    99  92
    汝南    119 109
    寿春    140 96
    江都港  173 87
    濡须港  148 110
    庐江    146 118
    皖口港  143 122
    江夏    115 121
    夏口港  108 123
    涪水关  11  119
    绵竹关  8   125
    成都    10  132
    江州    30  147
    建宁    27  174
    云南    5   191
    永安    46  128
    巫县港  54  130
    中庐港  70  110
    襄阳    77  117
    江陵    82  137
    汉津港  89  125
    江津港  73  137
    乌林港  99  133
    武陵    69  155
    公安港  74  146
    洞庭港  79  155
    零陵    70  185
    桂阳    99  188
    长沙    108 164
    罗县港  100 148
    柴桑    126 133
    陆口港  116 137
    九江港  132 129
    鄱阳港  146 142
    卢陵港  138 167
    建业    162 104
    芜湖港  163 109
    虎林港  161 122
    曲阿港  178 101
    吴      182 109
    会稽    184 125
    句章港  187 118
     
  • 在弹出的终端里输入命令--gnome-terminal实现

    2008-02-25 15:50:53

    在弹出的终端里输入命令!
    作者: lyscu  发布日期: 2008-2-25    查看数: 10   出自: http://www.linuxdiyf.com
    怎么实现这样的功能:
    通过设置自启动,开机可以打开一个xterm;
    利用expect,可以在终端里输入相关命令,如:
    #!/usr/bin/expect
    spawn su
    expect "Password:"
    send "123456\r"
    sleep 2
    expect "]#"
    send "pwd >/usr/123.txt\r"
    sleep 10
    expect eof
    exit
    现在是,如何将两者结合起来,也就是在弹出的终端xterm里,自动运行上述脚本。
    困惑了好久,万分感谢!

    这个是可以实现的。
    例子:
    将expect 脚本保存在成 /home/xxx/abc.exp.
    chmod +x abc.exp
    在命令行测试 : /home/xxx/abc.exp.

    成功 next:
    (gnome)主菜单->附件->终端 , 右击->添加到桌面, 在桌面上得到一个终端启动器。
    右击->属性->启动器->命令 ,
    修正为:gnome-terminal -x /home/xxx/abc.exp (必需是绝对路径)
    双击它测试,是不是成功。
    成功 next :
    (gnome)主菜单->系统 ->首选项->会话->启动程序->创建
    ->复制 gnome-terminal -x /home/xxx/abc.exp 到三个框中,OK。
    现在重新登入就应该OK了。


  • C 使用宏 编译期 二进制表示 *

    2008-02-19 17:10:13

    C 宏  编译期 二进制表示。
    在游戏精粹3中的“C 宏 重现光辉”中对宏有相当独到的用法,
    网络上没看到相关资料,现大略写下。
    //---a.c-----
    #define  Bin0000 0x00
    #define  Bin0001 0x01
    #define  Bin0010 0x02
    #define  Bin0011 0x03
    #define  Bin0100 0x04
    #define  Bin0101 0x05
    #define  Bin0110 0x06
    #define  Bin0111 0x07
    #define  Bin1000 0x08
    #define  Bin1001 0x09
    #define  Bin1010 0x0A
    #define  Bin1011 0x0B
    #define  Bin1100 0x0C
    #define  Bin1101 0x0D
    #define  Bin1110 0x0E
    #define  Bin1111 0x0F
    #define  HEX_MK(x,y) (unsigned char)  ((x<<4) + y)
    #define  BIN_MK_4(x1,x2,x3,x4)  Bin##x1##x2##x3##x4 
    #define  BIN_2(x,y)  HEX_MK(Bin##x,Bin##y)
    #define  BIN_8(x1,x2,x3,x4,y1,y2,y3,y4)  \
        HEX_MK( BIN_MK_4(x1,x2,x3,x4), BIN_MK_4(y1,y2,y3,y4)  )

    int
    main ( int argc, char *argv[] )
    {
        unsigned char v;
        v=BIN_8(1,0,1,1,1,1,0,1);
        v=BIN_2(1011, 0000);
        return 0;
    }
    //end--------------------------------------------

    将之保存为a.c , 在linux 使用预处理程序cpp.
    运行 cpp a.c

    得到:

    # 1 "a.c"
    # 1 "<built-in>"
    # 1 "<command line>"
    # 1 "a.c"
    # 23 "a.c"
    int
    main ( int argc, char *argv[] )
    {
     unsigned char v;
     v=(unsigned char) ((0x0B<<4) + 0x0D);
     v=(unsigned char) ((0x0B<<4) + 0x00);
     return 0;
    }

    可以看到:真的得到了编译时期的常量。
    说明:
        宏中“#”的特别用法, google 一下,相信会明白 。

    后记:回去认真看书,发现书中的版本会更好一点:大略写下:
    ----b.c-------
    #define  Bin0000 0
    #define  Bin0001 1
    #define  Bin0010 2
    #define  Bin0011 3
    #define  Bin0100 4
    #define  Bin0101 5
    #define  Bin0110 6
    #define  Bin0111 7
    #define  Bin1000 8
    #define  Bin1001 9
    #define  Bin1010 A
    #define  Bin1011 B
    #define  Bin1100 C
    #define  Bin1101 D
    #define  Bin1110 E
    #define  Bin1111 F
    #define  HEX_MKI(x,y) 0x##x##y

    #define  HEX_MK(x,y) HEX_MKI(x,y) 
    //如果直接定义 #define  HEX_MK(x,y) 0x##x##y  ,是不行的。
    //而是需要下面的定义。这也就是上一版本为什么要用
    ((x<<4) + y) 的原因
    #define  BIN_MK_4(x1,x2,x3,x4)  Bin##x1##x2##x3##x4 
    #define  BIN_2(x,y)  HEX_MK(Bin##x,Bin##y)
    #define  BIN_8(x1,x2,x3,x4,y1,y2,y3,y4)  \
        HEX_MK( BIN_MK_4(x1,x2,x3,x4), BIN_MK_4(y1,y2,y3,y4)  )
    int
    main ( int argc, char *argv[] )
    {
        unsigned char v;
        v=BIN_8(1,0,1,1,1,1,0,1);
        v=BIN_2(1011, 0000);
        return 0;
    }
    -------------------------
    保存为 b.c , 运行 :cpp b.c
    得到:
    # 1 "b.c"
    # 1 "<built-in>"
    # 1 "<command line>"
    # 1 "b.c"
    # 24 "b.c"
    int
    main ( int argc, char *argv[] )
    {
     unsigned char v;
     v=0xBD;
     v=0xB0;
     return 0;
    }
    显然现在展开宏得到的结果更加优美。



  • vim7.0 linux 支持STL 智能提示

    2007-12-21 14:35:34

    插件地址:
      http://www.vim.org/scrīpts/scrīpt.php?scrīpt_id=1520

    之前对于vim插件对于vector之类的无法智能提示一直耿耿于怀。
    无意间发现了,感动不已。

     * How to complete STL objects ?
        If you have some troubles to generate a good ctags database for STL you
        can try this solution :

        1)  Download SGI's STL from SGI's site
            (http://www.sgi.com/tech/stl/download.html)
        2)  Replace all __STL_BEGIN_NAMESPACE by "namespace std {" and
            __STL_END_NAMESPACE by "}" from header and source files. (with Vim,
            or with tar and sed or another tool)
        3)  Run ctags and put the generated tags file in a directory eg:
            ~/MyTags/stl.tags
        4)  set tags+=~/MyTags/stl.tags

        The main problem is that you can't tell to ctags that
        __STL_BEGIN_NAMESPACE = "namespace std {" even with the option -I.
        That's why you need the step 2).

        Here is another solution if you have STL sources using _GLIBCXX_STD macro
        (Tip by Nicola Bonelli) : >

            let OmniCpp_DefaultNamespaces   = ["std", "_GLIBCXX_STD"]

    在linux 下你只要:
    let OmniCpp_DefaultNamespaces   = ["std", "_GLIBCXX_STD"]
    就OK了。。
    当然前提是你对tags产生和使用要有相当的了解。




  • shell 日期运算 指定日期

    2007-12-17 15:30:31

    如果用好了date ,你将不要做很多的日期运算。。

    如: 前天:  date +%Y%m%d -d " -2 day"
    如: 2007/2/12 前14天是什么:  date +%Y%m%d -d " 2007/02/12 -14 day"

    还有比如: date +%Y%m%d -d'2007/02/12 -1 month -1 year -24 day'
    看得懂不??

    上面的2007/02/12 的格式可以写成  2007-02-12 ,但是就是不能写成20070212

    网上对指定日期的运算还比较少, 在此记下,也让大家记下.




  • 刚学的vim 小技巧 分享之

    2007-11-27 10:04:24



    在vim中man一下当前光标下的系统函数。
        操作: 将光标移到一词上, 按K (大写)。就OK了。
                进入man后q 一下 就回来了。
        帮助命令: help K

    在vim中录制宏。
        操作:在普通模式下,按qa ,进入录制状态 。而后进行相关的自定义操作(比如yyp:复制粘贴一行),
        最后按<ESC>  再按q,就完成。 然后按@a 就运行刚才你定义的一组操作。
        帮助命令: help q

    将当前光标的单词复制到命令模式中
       操作:在命令二模式中:按<CTRL-R><CTRL-W>
             比如: 光标上是 abcde    在命令模式上编辑到":%s/" ,这是按<CTRL-R><CTRL-W> 后
            此时就变成: "%s/abcde"   这样就可能不用鼠标了..     
          帮助命令: help c_CTRL-R

    先写到这吧..


  • eva 0.4.9 好用。

    2007-11-02 12:02:08

     ubuntu  源里只有eva0.4.1..登入QQ时,经常会出问题。
    强烈建议到网上找 eva0.4.9..
    可以登上了。。
    感觉很是不错。
    给出url:http://www.edu-linux.org/down/eva_0.49-1_i386.deb
  • 问题解决:u7.04和u7.10中gnome不能修改文件名(修正)

    2007-10-26 09:25:56

    在网上找到了.
    1、文件无法重命名:
    更彻底的解决方案是,修改
    /etc/X11/xinit/xinput.d/scim

    改成这样:
    #GTK_IM_MODULE=xim

    #QT_IM_MODULE=xim

    GTK_IM_MODULE=scim

    QT_IM_MODULE=xim

    有时事情就是那么简单。没找到就很痛苦了。。
    不过,这种设置不是一直有效。
    谢谢大家 。
  • 才子佳人信有之

    2007-10-25 14:24:51

    几天前,弟弟QQ的签名写着:才子佳人信有之。
    看了一笑,想了半天,把自己的签名改成:

    清风明月总相宜 才子佳人信有之

    平日里我经常说清风对明月,来暗指互相倾慕。
    用清风明月实在是再好不过。
    总相宜和信有之,对起来感觉也还好。
    自我感觉相当不错。

    刚刚兴起,google了一下,找到这句:
    清风明月常如此 才子佳人信有之

    不免一阵窃喜. 乘此兴致,漫记于此。
  • vim oracle pro*c 语法 高亮 .pc

    2007-10-18 10:54:19

    目前vim 还不支持 oracle 的 pro*c 的语法高亮(.pc)。不过 VIM 支持informix 的esqlc 的语法(.ec)。
    所以你就可以让vim 认为.pc 就是esqlc 文件,这要打开.pc文件也可以高亮显示了。
    在 ~/.vimrc 中加入:
    ".pc 文件设置为.ec 的高亮显示
    autocmd BufEnter *.pc  set filetype=esqlc


    vim 真的很有趣 。。多多学习,生活就会更惬意。

  • (转载)Vim在使用“Esc”键返回normal模式时自动关闭中文输入法

    2007-10-17 15:57:36

    刚开始使用vim时,感觉最不爽的就是摁下ESC键准备回退到normal模式时,我的输入法状态是中文,导致normal模式下所键入的命令都是 错的。后来,逐渐习惯了在ESC时瞄一下输入法状态,如果是中文,就摁一下SHIFT键切换为英文输入。在这习惯形成的过程中,我也找过一些解决方案,好 像有个人写了个vim脚本,实现了在Vim中触发ESC时自动检测输入法状态,如果是中文输入,就将其关闭。但这个脚本在我这里是存在问题的,会导致在 Vim中有时无法输入中文。

    我用的输入法是Scim,有一天仔细看看scim的设置选项,发现直接修改一下输入法的快捷键就可以实现在Vim中ESC键自动关闭中文输入法,如下图所示。这也许就是充满智慧的人所讲的:在盒子外面看问题吧。

  • 换工作了。。

    2007-10-16 14:52:49

    在linux用C+数据库+网络开发和维护一个保险公司和各银行之间的接口和后台,好像有一年多了。
    想想该换工作了。就找到一份网络游戏的后台开发工作。感觉有好多东西要学。
    好像IT的工作换得很快,一年换一次还算相当的稳定。多学点东西,为以后的发展打下好一点的基础 。

  • 总算是用pidgin上了gtalk

    2007-10-08 20:18:51

    好大半年了,一直没有用pidgin上gtalk.
    但是gmail中是可以用gtalk的。所以就怀疑自己的配置有问题。
    最后在
    http://linuxtoy.org/archives/configure-pidgin-for-google-talk.html
    找到了。。
    我所在的公司这边就是只能用 443。

    有些公司5222端口不开放,则可以使用443端口。
    同时选中Force old SSL和Allow plaintext auth over unencrypted streams两个选项,其他设置不变。

    感谢大家。。

    不过还有QQ的问题。
    EVA可以上QQ,但是pidgin就是不能上QQ。
    如果真的很是不快。如果谁懂得这方面的设置,还请多多指教。
    我用的环境是ubuntu7.04
  • shell挑战--从绝对路径中得到上级目录

    2007-09-20 10:08:37

    shell编程--从绝对路径中得到上级目录

    就是如: 从/home/bin/abc  得到  /home/bin

    google  了半天,好像资料比较少.

    现给出一个 sed 的实现版本:

    echo /home/bin/abc |sed '{s/\/[^\/]*$//}'

    就会得到/home/bin

    大家想想还有没有更有趣的实现版本.
    锻炼一下大脑.

    后记:
    2007/09/21:
    突然发现dirname 命令:

    dirname  /home/bin/abc

    得到/home/bin

    <实在感觉到自己的无知。。。。。>



  • 自动telnet之完美中文支持

    2007-09-18 21:28:07

    在好几个月前,我在日志FC6下工作 中提到了自动telnet 方面的作法。当初我建议的是用expect .
    在我用的这近半年中,有一个问题,就是expect 对中文的支持实在是不行。
    在手工telnet 工作时,用vi打开 一个含有中文的文件 ,最多是乱码,但是一旦用expect自动登入后,你绝对不用 碰中文,一旦碰了,一定是 telnet自动退出。又得重新登入。很是不快。

    直到最近两天,找到了python-pexpect组件,这个问题才得到解决。现在给出ubuntu上的安装方式:
         sudo apt-get install python-pexpect


    给出telnet.py程序的下载地址:telnet.py.rar
    以下是程序代码:
    -----------------------------------------
    #!/usr/bin/python
    # Filename : helloworld.py
    import pexpect
    import sys
    def auto_telnet (ip,username,password,isspawn=1):
        global ter
        if isspawn ==1:
            ter= pexpect.spawn('/usr/bin/telnet -8 -e^E '+ip)
        else:
            ter.sendline('telnet -8 -e^E '+ip)
        ter.expect ('ogin:')
        ter.sendline ( username )
        ter.expect ('assword:')
        ter.sendline ( password )
        ter.sendline ('')

    count=(len(sys.argv) -1 ) / 3
    if count < 1:
        print "error:no args "
        exit()

    for i in range(1, count+1) :
        if i==1 :
            auto_telnet(sys.argv[(i-1)*3+1],sys.argv[(i-1)*3+2],sys.argv[(i-1)*3+3],1)
        else :
            auto_telnet(sys.argv[(i-1)*3+1],sys.argv[(i-1)*3+2],sys.argv[(i-1)*3+3],0)
    ter.interact()

    -----------------------------------------
    请将这个程序保存为telnet.py
    加可执行权限:
    chmod a+x telnet.py
    登入命令:
        ./telnet.py  ip  username password
    如:./telnet.py 10.222.1.2 ybtff 123456

    如果你要telnet 到一台机器(ip1)的话,还要从这台机器telnet到别一台机器(IP2) 的话:这么干:
     ./telnet.py ip1  username1 password1 ip2 username2 password2
    如:第一台的ip : 10.222.1.2  username: ffff  password : 111111
           第二台的IP: 10.222.1.8   username : yyyy  password: 222222
    就有:
        ./telnet.py 10.222.1.2 ffff 111111 10.222.1.8 yyyy 2222222

    当然还有:  ./telnet.py ip1  username1 password1 ip2 username2 password2  ip3 username3 password3

    一般来说,你会经常telnet 到某些地方 ,你就可以简单写一个脚本:
    里边的内容就是:
       ./telnet.py  ip  username password
    这样运行这个脚本,就可以到预定的地方了。。

    写这文章感触很深: 有些工具可能你觉得不好用,但一定会有更好用的,只是没有找到。
    还有就是一个人在摸索中前进,其实真的很辛苦,当然也有成就感。。
    大家都把自己的一些工具使用心得写写,可能会让许多人少走许多弯路。

     当然 ,pexpect 能做很多自动化的工作,自动telnet 只是一个案例,你还可以用它做很多自动化的工作。






  • gnome的代理设置用户名密码的问题。(新立得)

    2007-09-14 11:26:53

    如果你用的是代理上网。请看下面的一个让我不快了很久的问题。
    正常情况下:在代理的细节里设置用户名密码不会有问题。

    但如果你是要用新立得的话。
    在gnome的代理设置中不要用<<细节>>设置用户名密码,而是在
    IP的位置写上:  username:password@ip
     如原来是10.0.0.2.
     现在 可能就是:  xcwen:123456@10.0.0.2
    然后再把细节的打勾去掉。。

    希望对大家有帮助。。





421/3123>
Open Toolbar