历经8个月的痛苦煎熬,终于在深圳找到一份测试工作了! 努力学习测试相关知识,尽快让自己充实起来,让工作处于轻松愉快的状态!

发布新日志

  • 关于漏测问题的改进措施

    2012-03-05 15:27:03

           关于漏测问题的改进措施
      
       一个软件产品上线的时候,就会发现没有测试出来的一些问题。这时就需要对产品漏测问题进行分析,给出相应的解决措施。总结了三点如下:
       1、用例覆盖不全面,特性边缘功能。特性间关联的地方总被忽视,可以组织特性讲
          解,每个人都对其他人的特性有一定的了解,这样就可以充分测试特性间的功
          能。
       2、界面易用性的问题容易被忽略,还是需要多站在用户的角度上考虑问题,现在只
          是作为一个测试人员去测试,测试时需要自我提问,这样设计是否合理。但是这
          种易用性问题提出来,修改的可能性比较低,这个主要都是根据SE设计开发。
       3、测试人员可以交换进行测试,测试一个特性时间久了,就会有审美疲劳,对问题
          敏感度大大降低,特别是界面方面的小问题,所以新手接触特性时,往往能更多
          的发现界面上的问题。
       
        先总结这么多,之后陆续再添加。
  • 数据库必会查询语句

    2010-05-18 15:22:41

    1.查询表中记录:          select * from tablename;
    2.更改表中特定的一条记录:  update tablename set 字段名='...' where 字段名='...';
    3.删除表中特定的一条记录:  delete from tablename where 字段名='...';
    4.删除表中所有记录:       delete from tablename;
    5.给表插入数据:          insert into tablename values();
    6.给表改名:              alter table oldtablename rename to newtablename; 

    举例:
    表名为system_config,字段分别是Name|Value|Description,其中一条记录为:Proc_Quit_Time|5|Process quit assigned
    time

    1.查询表中数据:           select * from system_config;
    2.更改表中特定的一条记录:  update system_config set Value='4' where Name='Proc_Quit_Time';
    3.删除表中特定的一条记录:  delete from system_config where Name='Proc_Quit_Time';
    4.删除表中所有数据:       delete from system_config;
    5.给表插入数据:           insert into system_config values('Proc_Quit_Time',5,'Process quit assigned time');
    6.给表改名:              alter table system_config rename to system_conf;
     

  • [论坛] [我和51Testing]有你相伴,此生何求!

    2010-05-13 12:44:04

        在我刚步入测试行业的时候,就与51testing结识了,至今已经有2年多了!在2年多的时间里,51testing陪我度过了无数个快乐和悲伤的日子,使我在testing方面有了很大的进步!
        51testing是公认的测试方面的权威,关于测试方面的知识,不计其数,满足了测试人的需求,好像有点做广告的嫌疑噢,o(∩_∩)o。言归正传,刚接触测试的时候,认为测试就是调试,后来在51testing上找了许多基础知识,才使我不再对测试仅停留在肤浅的认识上。渐渐地,随着测试的深入,越来越认识到测试的重要性,也意识到自己测试知识的匮乏,只能慢慢地通过工作,不断地增加测试经验,让自己的测试技能有个质的飞跃!
        俗话说:师傅领进门,修行靠个人!有了51testing的陪伴,相信通过自身的努力,测试的明天一定会更美好!

  • 新年祝福

    2010-02-12 17:09:39

    新年到了,祝各位在2010年里:    
        365天天天开开心心,    
        8760小时时时快快乐乐,    
        525600分分分健康,    
        31536000秒秒秒幸幸福    
        日:给你温暖;    
        月:给你温馨;    
        星:给你浪漫;    
        风:给你清爽;    
        雨:给你滋润;    
        雪:给你完美;    
        霜,给你无暇;    
        冰,给你晶莹;    
        我:给你祝福;    
        送一份美丽让你欢笑,    
        送一份祝福让你骄傲,    
        送一份开心让你不老,    
        送一份梦想让你逍遥,    
        送一份真情不要回报,    
        再送你平安才算可靠,    
        祝福你新年快乐!     
       
  • 优秀的软件测试员需要具备的素质

    2009-06-30 15:59:02

     

          The best tester is not the one who finds the most bugs or who embarrasses the most developers. The best tester is the one who gets the most bugs fixed.

    最好的测试人员不是发现最多BUG或是使得最多开发人员不自在的人,而是能够[说服开发人员]修正最多BUG的人。

    ——Cem KanerTesting Computer Software》一书

     

    优秀的软件测试员需要具备的素质

     

    从事软件测试的人可能都会这么问:

    u     如何才能成为一个优秀的软件测试人员?

    u     成为一个优秀的软件测试人员需要具备哪些素质呢?

     

    从表面看软件测试人员的工作似乎比程序员要容易些,不需要分析代码并寻找软件缺陷,如果只是进行黑盒测试,但其实实际上并不是这样。完全掌握软件测试所付出的努力和投入不亚于编写程序,两者所需要的技术也极为相似。

    我们测试人员不必成为一个经验丰富的程序员,但具有编程知识会对我们有很好的帮助。

    软件测试人员需要有一下素质:

    u     有探索精神:不要害怕进入陌生环境,勇于探索。

    u     善于故障排除:善于发现问题的症结,要喜欢解迷。

    u     自信心:测试者必须对自己的观点有足够的自信心。自信心是现在多数测试者都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试者应该努力学习,建立能“解决一切测试问题”的信心。

    u     责任心:责任心是做好工作必备的素质之一,测试者更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。

    u     专心:测试者在执行测试任务的时候要专心,不可一心二用。高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。

    u     细心:执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。

    u     耐心:需要有难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。

    如果比较浮躁,就不会做到“专心”和“细心”和“耐心”这将让很多软件缺陷从你眼前逃过。

    u     不放过任何蛛丝马迹:可能会碰到转瞬即逝或者难以重现的软件缺陷。不要当作是偶然而轻易放过,而要想尽一切可能去发现它们。

    u     具有创造性:要设想出富有创意甚至超常的手段来寻找缺陷。

    u     追求完美:力求完美,但当知道某些无法企及时,不要去苛求,而要尽力接近目标。

    u     判断准确:对测试内容、测试时间,以及看到的问题是否是真正的缺陷要判断准确。

    u     良好沟通能力:必须能够同测试涉及到的所有人进行沟通,知道如何与程序员正确的交流,知道怎样策略和职业地处理这些问题,也知道如何和不够冷静的程序员合作,将测试人员与相关人员之间的冲突和对抗减少到最低程度。

    u     善于说服:但找出的缺陷有时被认为不重要,不用修复时。要善于清晰地表达观点,说明软件缺陷为何必须修复,并推进缺陷的修复。

    u     善于提问:要有打破砂锅问到底的精神,勇于提出问题。

    u     拥有编程知识:需要有一定的编程知识,可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者。

    u     拥有行业知识:了解行业知识,能更好的了解软件的目的,有助于查找该领域软件的缺陷。

     

       相信大家只要具备了上面所说的素质,一定能成为优秀的测试人员。

     

     

  • 水源童话故事二

    2009-05-20 17:13:26

    据说csdn看各大论坛皆实行薪酬制,便担心水源的人才被挖角而流失,于是决定效仿,从此,水源掀起了申请版主和倒班的腥风血雨!~

    首先,我们来认识一下水源近期的领导班子:



    上排从左到右:扩充话题管理员,阿笨狗,阿笨狗的小公主,小雅
    下排从左到右:得意忘形的老道,听说最近在研究五行的队长,小痴,赌性不改的顽固


    事情的起因好要从椅子的一片揭露水源施行薪酬制的内幕文章说起……

    话说那天老道正在睡觉……



    忽然,有人敲门!老道自问亏心事做了不少,到底是哪个倒霉孩子找上门来了?没有想到原来是琪朵快递的快递员,csdn给老道送了一部苹果手机!
    老道看到苹果手机,便犹如饿狼扑食般扑了上去,嘴上念叨,不管是不是送错了,到我手里了就别想要回去!~- -#


    老道为此大开筵席,请客水源所有名流参加……



    宴会上,所有人都非常开心。消逝的风笑得连脸都大了……



    小雅没有礼物,便觉得有些落寞



    顽固更是躺在地上耍赖……为什么我没有苹果手机,为什么我没有!~呜呜呜呜



    酒足饭饱,美丽的护士清水mm和小茶mm开始给大家检查牙齿,医好了无名小卒和★头脑风暴★的牙病。





    大家开心的玩起了各种游戏。

    五岭散人和噩梦玩起了捉迷藏



    老鹰(痞子猫MM)抓小鸡(小熊猫,冰雨,辰辰,星梦奇缘)



    KTV里,棉花糖的歌唱得不错



    美女洛洛和超市还跳起了交谊舞



    桑拿房里的银子……



    听说山上的尼姑庵来了个绝色尼姑法号清水,水源的兄弟们发挥了自己不怕吃苦,不怕加班的艰苦卓绝精神,集体向山上进发!~

    据说走在最前面的是小培华!~





    最后大家都累得大睡三天三夜,可怜的飞鸟也被独孤氏后裔和点点当了枕头……



    零度MM和白姐姐还有自在哥哥和可爱大叔睡得横七竖八……最先醒来的可爱大叔发现:自己在吃零度MM的豆腐--#



    宴会回来,水源掀起了申请版主和倒班的腥风血雨。



    申请版主的人犹如雨后春笋,声势浩荡……自此,水源一主难求。



    版主选举也如过独木桥,一个通过,万人落选……



    richard_2010因此得了幻想症,以为自己已经是版主,整天守在门口等苹果手机……



    唯独清洁工大侠笑看风云起落,独自悠然自得。



    动物园更是不屑与之为伍,因为他正忙着训练一班人马,搞起副业,有望成为最新崛起的资产大户!



    不过听说最近兵马俑得了抑郁症,每天家门紧锁,不肯见人……



    不知道水源版主一职将来争斗趋势如何,我们拭目以待!以上都是玩笑话哈,大家不要介意!~祝大家开开心心!~

    水源童话二,完……
  • 水源童话故事一 超级搞笑【贴图】

    2009-05-20 17:07:34

    故事一:

    不幸的棉花糖去医院遇到江湖郎中顽固:



    坏蛋医生装模作样:呱呱,这里痛吗?



    坏蛋医生的小算盘:不管什么病都要做CT,B超,不然从哪赚钱呢?



    顽固因为不懂医术,就叫棉花糖多做保健操……



    多跳交谊舞……



    结果棉花糖在跳交谊舞的过程中认识了美丽的痞子猫MM:



    王子和公主过上了幸福快乐的生活,生了一堆小宝宝:



    个个成了警察届的能手:



    故事一完……

    故事二:

    开心村有个叫清水MM的美女,年方二八,貌美无双:



    阿笨狗对清水MM想象中的非礼



    顽固也对清水MM心怀不轨,阿笨狗和顽固争夺清水MM的战争一触即发



    而清水MM却投入了同村少年NE的怀抱



    没想到NE是个花花公子,不知道伤了多少MM的心。。。



    清水MM知道后伤心欲绝……



    隐居深山发誓再不相信男人……



    故事二完……

    故事三:

    一天,孤儿院的门口出现了两个可爱的小孩子:



    人们都在猜测你们的的父母是谁……是笑面虎明明?



    还是最近得了嗜睡症的洁肤乳?



    是身手矫健的咚咚?



    还是见钱眼开的老道?



    是贪吃的小帅MM?……



    还是调皮可爱的三姑娘?



    正在大家胡乱猜测的时候,警长大人发话了:



    这是一起倒卖婴儿案件,犯罪嫌疑人为:消失多时,阴险狡诈的F4!



    F4胁迫可怜的刚狼小为帮凶,最近做了不少犯法的事情……



    办案的公安干警徐培华、旋风、梯子等人努力追捕:



    终于将江洋大盗F4绳之于法!



    水源的人们过上了开心快乐的生活……



    故事三完……

    待续……
  • 庆祝51Testing软件测试网成立五周年

    2009-04-30 14:01:01

           庆祝51Testing软件测试网成立五周年

        51Testing软件测试网伴我走过了美好的两年,在这里学到了很多关于测试方面的知识。51Testing软件测试网永远是我学习测试知识网站的首选!

        祝51Testing软件测试网的明天会更辉煌!

     

     

     51Testing软件测试网:http://www.51testing.com

  • 上班两个月总结

    2009-04-29 17:23:59

        转眼间,在公司上班两个月了。不知不觉学到了很多测试知识。

       学习新知识是伴随着我逐步进入项目的过程中,总结如下:

       1.部署和打包:每次旧版本bug fixed完都要发布新版本,就要部署项目新环境,这个是针对通过网页形式访问的客户端,而通过安装才可以使用的客户端,则需要打包。当然管理端也同样需要部署。

       2.配置文件和数据库:部署完还要配置文件,还有数据库。

       3.更新文件上传到服务器:把更新的几个文件上传到相关的服务器上。

       4.对业务的深入学习。

       继续努力学习,尽快进入测试角色中去!

     

  • 常用的功能测试方法

    2009-04-07 11:35:04

     

    功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。针对Web系统的常用测试方法如下:

      1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。

      2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。

      3. 检查按钮的功能是否正确:如update、cancel、delete、save等功能是否正确。

      4. 字符串长度检查:输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错。

      5. 字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错。

      6. 标点符号检查:输入内容包括各种标点符号,特别是空格、各种引号、回车键。看系统处理是否正确。

      7. 中文字符处理:在可以输入中文的系统输入中文,看会否出现乱码或出错。

      8. 检查带出信息的完整性:在查看信息和update信息时,查看所填写的信息是不是全部带出,带出信息和添加的是否一致。

      9. 信息重复:在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。

       10. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。

      11. 检查添加和修改是否一致:检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型。

      12. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错。同时,也要注意,会不会报和自己重名的错。

      13. 重复提交表单:一条已经成功提交的纪录,back后再提交,看看系统是否做了处理。

      14. 检查多次使用back键的情况:在有back的地方,back,回到原来页面,再back,重复多次,看会否出错。

      15. search检查:在有search功能的地方输入系统存在和不存在的内容,看search结果是否正确。如果可以输入多个search条件,可以同时添加合理和不合理的条件,看系统处理是否正确。

      16. 输入信息位置:注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。

      17. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。

      18. 必填项检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前加*

      19. 快捷键检查:是否支持常用快捷键,如Ctrl+C Ctrl+V Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。

      20. 回车键检查:在输入结束后直接按回车键,看系统处理如何,会否报错。

  • 新手必看[转]

    2009-04-02 12:05:38

    内容来源于帖子,我觉得像我一样刚进入测试的新手很有帮助,所以转过来看看!

     

    很多刚刚接触测试的新手来说,肯定有不知从何下手的困惑;接触了一段时间的测试工作后,很多测试工程师都会感到迷茫和瓶颈。无论什么问题,请先看看下面的几个多发问题的解决方法吧,看有没有能帮助你的!!


    一、新手必看资料

    1、刚进入公司新手建议
    http://bbs.51testing.com/thread-140004-1-2.html

    2、新手入门之测试工作流程
    http://bbs.51testing.com/thread-44064-1-2.html

    3、软件测试总结----新手必看
    http://bbs.51testing.com/thread-107659-1-2.html

    4、新手上路板块资料汇总
    http://bbs.51testing.com/thread-137619-1-1.html



    二、做好测试工程师要会哪些知识技能、自学方向

    1、知识技能、空闲时自学方向
    http://bbs.51testing.com/thread-137662-1-7.html

    2、软件测试培训、是否可以自学测试
    http://bbs.51testing.com/thread-140054-1-1.html

    3、提升自己,测试怎样拿高工资
    http://bbs.51testing.com/thread-138574-1-4.html



    三、了解别人的测试经历,学习别人经验

    1、我的经历1
    http://bbs.51testing.com/thread-136989-1-2.html

    2、我的经历2
    http://bbs.51testing.com/thread-137467-1-3.html

    3、6年的测试经历
    http://bbs.51testing.com/thread-95214-1-4.html

    4、对于测试感到迷茫该怎么办
    http://bbs.51testing.com/thread-139934-1-3.html

    5、我是否可以做测试
    http://bbs.51testing.com/thread-138076-1-7.html

    新手必看


    [新手上路]给想要学习软件测试同学们的建议
    http://bbs.51testing.com/viewthread.php?tid=65437&extra=&page=1

    新手入门之测试工作流程
    http://bbs.51testing.com/thread-44064-1-6.html

    我的测试历程--写给测试新人(面试经历和测试建议)
    http://bbs.51testing.com/thread-136989-1-1.html

    我的测试历程2--写给初次写用例的朋友
    http://bbs.51testing.com/thread-137467-1-3.html

    一位软件测试工程师六年的工作经验总结
    http://bbs.51testing.com/thread-95214-1-5.html

    经典软件测试网站
    http://bbs.51testing.com/thread-51985-1-17.html

    2.测试人员要掌握的知识及模板

    测试的基本概念
    http://bbs.51testing.com/thread-51190-1-9.html

    软件测试网络资料大集合
    http://bbs.51testing.com/thread-3229-1-10.html

    测试资料
    http://bbs.51testing.com/thread-129350-1-29.html

    测试基础资料
    http://bbs.51testing.com/thread-119493-1-31.html

    测试人员要掌握的数据库知识
    http://bbs.51testing.com/thread-133499-1-3.html

    软件测试从这里开始
    http://bbs.51testing.com/thread-78735-1-29.html

    软件测试专业术语对照表
    http://bbs.51testing.com/thread-107534-1-10.html

    软件测试的详细流程
    http://bbs.51testing.com/thread-131087-1-5.html

    教你如何书写测试计划
    http://bbs.51testing.com/thread-81583-1-24.html

    一个可供参考的软件测试报告
    http://bbs.51testing.com/thread-36263-1-3.html

    精典测试计划模板实例
    http://bbs.51testing.com/thread-24839-1-4.html



    3.测试类书籍

    软件测试的艺术[第二版中文]
    http://bbs.51testing.com/thread-67373-1-2.html

    《软件测试自动化》
    http://bbs.51testing.com/thread-73329-1-3.html

    《软件测试工程师培训教程》
    http://bbs.51testing.com/thread-134377-1-3.html

    《软件测试》原书第2版中文
    http://bbs.51testing.com/thread-102776-1-3.html

    有效软件测试的50条建议中文版+英文原版
    http://bbs.51testing.com/thread-112262-1-4.html

    软件测试实验指导书
    http://bbs.51testing.com/thread-82024-1-4.html

    《软件测试经验与教训》
    http://bbs.51testing.com/thread-117962-1-5.html

    《测试指南》
    http://bbs.51testing.com/thread-134848-1-8.html

    软件测试[(美)Ron Patton]基础知识读书笔记
    http://bbs.51testing.com/thread-66400-1-26.html

    《Red Hat Linux 9系统管理员完全学习手册》
    http://bbs.51testing.com/thread-48966-1-28.html


     

  • GUI基本测试内容

    2009-04-01 14:43:20

    图形用户界面( GUI )对软件测试提出了有趣的挑战,因为 GUI 开发环境有可复用的构件,开发用户界面更加省时而且更加精确。同时, GUI 的复杂性也增加了,从而加大了设计和执行测试用例的难度。因为现在 GUI 设计和实现有了越来越多的类似,所以也就产生了一系列的测试标准。下列问题可以作为常见 GUI 测试的指南:

    窗口:
    · 窗口是否基于相关的输入和菜单命令适当地打开?
    · 窗口能否改变大小、移动和滚动?
    · 窗口中的数据内容能否用鼠标、功能键、方向键和键盘访问?
    · 当被覆盖并重新调用后,窗口能否正确地再生?
    · 需要时能否使用所有窗口相关的功能?
    · 所有窗口相关的功能是可操作的吗?
    · 是否有相关的下拉式菜单、工具条、滚动条、对话框、按钮、图标和其他控制可为窗口使用,并适当地显示?
    · 显示多个窗口时,窗口的名称是否被适当地表示?
    · 活动窗口是否被适当地加亮?
    · 如果使用多任务,是否所有的窗口被实时更新?
    · 多次或不正确按鼠标是否会导致无法预料的副作用?
    · 窗口的声音和颜色提示和窗口的操作顺序是否符合需求?
    · 窗口是否正确地被关闭?

    下拉式菜单和鼠标操作:
    · 菜单条是否显示在合适的语境中?
    · 应用程序的菜单条是否显示系统相关的特性(如时钟显示)?
    · 下拉式操作能正确工作吗?
    · 菜单、调色板和工具条是否工作正确?
    · 是否适当地列出了所有的菜单功能和下拉式子功能?
    · 是否可以通过鼠标访问所有的菜单功能?
    · 文本字体、大小和格式是否正确?
    · 是否能够用其他的文本命令激活每个菜单功能?
    · 菜单功能是否随当前的窗口操作加亮或变灰?
    · 菜单功能是否正确执行?
    · 菜单功能的名字是否具有自解释性?
    · 菜单项是否有帮助,是否语境相关?
    · 在整个交互式语境中,是否可以识别鼠标操作?
    · 如果要求多次点击鼠标,是否能够在语境中正确识别?
    · 光标、处理指示器和识别指针是否随操作恰当地改变?

    数据项:
    · 字母数字数据项是否能够正确回显,并输入到系统中?
    · 图形模式的数据项(如滚动条)是否正常工作?
    · 是否能够识别非法数据?
    · 数据输入消息是否可理解?

  • putty常用命令

    2009-03-27 15:33:24

    正在学习putty,在网上搜了一下,觉得这个对于初学者有些帮助,粘过来看看。


    1、cd (文件夹名)--查看路径
    2、dir ---查看当前路径下的所有文件
    3、unzip ***.zip-----压缩文件到当前目录
    4、wget (路径)----下载
    5、mv ***   ****----移动或者重命名
    6、rm *** *** ----删除一次可以删除多个
    7、pwd ----显示当前路径
    8、cp ---拷贝

    putty命令大全

    此文介绍putty软件中shell主要的命令语法以及格式,希望对同学们有所帮助。

    Shell命令管理如果你是linux主机,可以运行shell命令。如果你是win xp用户,可以下载putty,利用这个工具,你也可以进行shell管理。先到这里,下载PuTTY0.58cn2 中文版。然后就可以开始管理了。但你必须知道shell命令。下面是我收集的一些shell命令供新手参考。资料来源于网络,不保证全部有效。不过一般不会有什么问题。按说明认真操作就好。
    [url=post.php?action=newthread&fid=9&extra=page%3D1#mysqlzidongbeifeng]Mysql自动备份[/url](点击查看)。首先我们得知道什么叫shell.
    操作系统与外部最主要的接口就叫做shell,或许这样说过于术语化,for example后你肯定就能够明白:cmd命令行,这是windows操作系统下的一个shell。这里说的dreamhost的shell是指 dreamhost提供给客户一个命令行,方便客户更好的使用他们的虚拟主机服务。
    DreamHost中shell使用指南本文中所用的 shell指令及操作均基于Linux ord 2.4.29,即DreamHost现在采用的系统。本人不是计算机专业出身,本指南因此会比较死板,只针对想要使用shell又苦于不知如何下手的新 手,如果你也是DreamHost的用户,那本文或许对你有所帮助。目录:

    1. Basic Instructions /基本指令
    2. wget /下载工具
    3. Crontab /定时任务
    4. tar/tar.gz /压缩文件
    5. vi /编辑器


    cd [目录名] 转换路径

    ls 显示当前目录下所有文件

    rm [-r]-f[] [文件名] 删除文件,加[-r]可以删除文件下所有子文件

    unzip [文件名] 解压文件

    wget(没用过,据说是最实用的一个,否则那200G估计每天不掉线才有可能用完)


    1. BasicInstructions基本操作命令


    通常来说,使用"$[Instructions] --help"可以获得以下各个命令[instructions]的帮助,包含其参数列表的定义。


    -ls 列出当前文件夹下所有内容

    $ls -o 列出当前文件夹中所有内容,含详细信息,但不列出group

    $ls -l 同上,含group信息

    $ls -a 列出当前文件夹中所有内容,包含以"."开头的文件

    $ls -t 按更改时间排序

    $ls -v 按版本先后排序

    -cd [dir] 进入文件夹

    -pwd 显示当前路径

    -mkdir [dir] 新建文件夹

    -chmod 更改文件/文件夹权限

    $chmod [Mode] [dir],其中Mode形如"755"或"777"等。

    $chmod [Mode] [file]

    $chmod -R [Mode] [dir],递归形式,即将目标文件夹内所有文件均改变权限

    Mode还有另一种表达方式,"755"即为"-rwxr-xr-x",不列举了。

    -rm [file] 删除文件/文件夹

    $rm -f [file] 强行删除,忽略不存在的文件,无提示

    $rm -r [file] 递归删除所有内容

    -cp 拷贝

    $cp [options] [source] [destination]

    其中[options]可以为-f(强行拷贝)或-r(递归拷贝)

    -mv 重命名或移动

    $mv [options] [source] [destination]

    [options]常用:-f(强行移动/重命名), -i(移动/重命名前尝试), -u(更新)


    例如

    $mv wwwroot/cgi-bin . 将/cgi-bin目录移动到当前目录下


    $mv cronfile.txt myfile.txt 将cronfile.txt重命名为myfile.txt


    2. wget下载工具

    wget是一种非交互式的网络文件下载工具,在linux下可以使用该工具快速地从网络上下载所需要的文件而不需要经由本地硬盘中转,而且速度极快。以下是一些使用方法:

    wget [参数列表] URL

    最简单的用法:

    $wget http://targetdomain.com/file.tar

    wget的常用参数:

    · -t [nuber of times]:尝试次数,当wget无法与服务器建立连接时,尝试连接多少次。比如"-t120"表示尝试120次。当这一项为"0"的时候,指定尝试无穷多次直到连接成功为止,这个设置非常有用,当对方服务器突然关机或者网络突然中断的时候,可以在恢复正常后继续下载没

    有传完的文件;

    · -c:断点续传,这也是个非常有用的设置,特别当下载比较大的文件的时候,如果中途意外中断,那么连接恢复的时候会从上次没传完的地方接着传,而不是又从头开始,使用这一项需要远程服务器也支持断点续传,一般来讲,基于UNIX/linux的Web/FTP服务器都支持断点续传;

    · -T [number of seconds]:超时时间,指定多长时间远程服务器没有响应就中断连接,开始下一次尝试。比如"-T120"表示如果120秒以后远程服务器没有发过来数据,就重新尝试连接。如果网络速度比较快,这个时间可以设置的短些,相反,可以设置的长一些,一般最多不超过900,通常也不少于60,一般设置在 120左右比较合适;

    · -w [number of seconds]:在两次尝试之间等待多少秒,比如"-w 100"表示两次尝试之间等待100秒;

    · -nd:不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;


    · -x:与"-nd"设置刚好相反,创建完整的目录结构,例如"wget -nd http://www.gnu.org/ ",实际的目录结构一级一级建下去,直到所有的文件都传完为止;


    · -nH:不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目录下;· -r:递归下载,在本机建立服务器端目录结构;


    · -l [depth]:下载远程服务器目录结构的深度,例如"-l 5"下载目录深度小于或者等于5以内的目录结构或者文件;


    · -m:做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设定其他合适的选项以便于站点镜像;

    · -np:只下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载这个人的个人主页,如果不设置这个选项,甚至--有可能把整个站点给抓下来,这显然是我们通常不希望的;


    · --http-user=username


    · --http-passwd=password:如果Web服务器需要指定用户名和口令,用这两项来设定;


    · -O 将数据写入文件中。


    3. Crontab 定时执行任务


    在DreamHost系统下, 通过Shell可以建立自己的crontab. 具体使用如下:


    使用支持shell登录的终端(如fterm或putty), 地址栏输入username@qiran.org:22即可以SSH方式登录至服务器.


    常用的crontab命令:


    crontab -l 显示所有现存cron job.


    crontab -r 删除当前cron jobs.


    crontab -e 编辑当前 "crontab file". DH推荐使用nano


    注意你的crontab包含所有的cron jobs, 每个cron一行, 断行结尾. 一个正常的cron如下所示:


    45 2 * * * /home/user/script.pl


    第一个数字是每小时的第几分钟,

    第二个数字是每天的第几小时,

    第三个数字是每月的第几天,

    第四个数字是每年的第几月,

    第五个数字是每周的第几天.


    使用方式例如:


    32 * * * * : 表示每小时的第32分钟.


    12,42 * * * * : 表示每小时的第12及第42分钟两次


    */15 */2 * * *: 表示0:00, 0:15, 0:30, 0:45, 2:00, 2:15, 2:30, ...


    43 18 * * 7: 表示每个周日的6:43pm运行命令行.

    在DreamHost下使用nano编辑完文件后,使用ctrl+o保存,ctrl+x退出编辑。


    4. tar命令

    tar命令的使用方法如下:

    tar [参数列表] [文件名]

    参数列表:


    -c 生成新的备份,并同时覆盖旧的备份文件

    -x 从备份文件中解压缩

    -t 列出备份文件内的文件目录

    -v 显示所有被操作文件列表

    -f 在指定位置生成备份

    -u 将不存在于备份中的文件,或将已经被更改的文件加入该备份中。


    举例说明:


    tar cvf filename.tar /*制作备份*/

    tar cvf tarfile.tar ./filename /*将filename的文件备份到tarfile.tar里面*/

    tar tvf filename.tar /*列出tar文档的内容*/

    tar xvf filename.tar /*从tar文档中导出文件*/

    tar zxpvf filename.tar.gz /*从tar.gz文档中导出文件*/

    tar zxvf filename.tar.gz /*同上*/

    tar xvf tarfile.tar ./filename /*导出tar文件中的单个文件*/

  • 在公司一个月的大事

    2009-03-26 17:20:36

          不知不觉中在公司已经工作一个月了,公司的人都很好,有什么吃的都一同分享。值得一提的是同事休年假的时候去了一趟武汉,回来给我们带来了有名的周黑鸭,有鸭脖和鸭架,吃的总的感觉就是又咸又甜又辣,嘴巴好像成了香肠了!虽然如此,说实话真的很好吃,有机会你也品尝下吧。

        很巧的是,我入职的第三天居然赶上了集团周年晚宴!哈哈,还没上几天班,就吃到了一顿大餐,真的很意外呢。是在深圳富苑皇冠假日套房酒店吃的,不知道在深圳的朋友听说过没有,有没有去那吃过饭。这顿大餐还是很不错的,就是少了点,好像都没吃饱的样子噢。边吃饭边听乐队演奏的音乐,感觉还真是挺爽的。期间还和集团总裁一起喝酒,真是三生有幸喔。晚宴的重头戏还在后面呢!集团晚宴是有抽奖的,刚开始只是随便抽了每桌的幸运号码(入宴前自己随机挑选的号码纸条)。后面就是纯金牛,水晶财神奉上。幸运儿可以得到这些奖品。场面极其火爆热烈呢。中间还有个游戏环节,本人不幸被选中参加活动。游戏是这样的,很多人一起喝各自面前的一杯啤酒,谁先喝完谁就可以拿到1000元的奖金,呵呵,当然了,我不胜酒力,结果可想而知了。这个游戏把大家的积极性都调动起来了,每个人脸上都挂着开心的笑容。插一句,抽奖的场面是最最激动人心的!嘿嘿,奖品真的很丰厚噢。回去的路上,同事们还讨论现在就开始练习尽快喝完一杯啤酒,赢明年的1000元奖金!嘿嘿,还真逗呢。晚上回家,头有点晕,还好没醉。

        工作一个月,感觉很好,同事关系融洽,尽快融入这个大家庭,分享更多的美食和美事!

  • 上班1个月总结

    2009-03-26 15:28:22

         在新公司工作满一个月了,起初参加新员工入职培训:包括公司环境熟悉,行政人事规章制度培训,CMMI流程培训,测试流程培训等。

        在这一个月中,主要还是以自学为主,公司给了需要了解的一些资料,自己去消化,不懂请教公司的前辈。现在已经对公司原有的项目大概了解了,对自己以后负责测试的项目需求书等正在慢慢熟悉中。短短一个月里,就觉得自己学到了很多关于测试方面的知识,以后对项目进行sit测试的时候,相信会学到更多的。

        希望随着时间的累积,我的测试水平也会逐步提高!

       

  • 高智商的人请进

    2009-03-25 15:13:54


    请问

    第一张是12个人还是13个人?

    第二张是是动还是静?

    第三章数数有几个黑点?

    第四张柱子是圆的还是方的?

  • 雷人招牌,进来看看就知道有多雷人了

    2009-03-25 14:05:41

    雷人招牌,进来看看就知道有多雷人了!


    图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:2.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:3.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:4.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:5.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:7.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:8.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:9.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:10.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:12.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:13.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:14.jpg
    图片点击可在新窗口打开查看


    图片点击可在新窗口打开查看此主题相关图片如下:15.jpg
    图片点击可在新窗口打开查看

    图片点击可在新窗口打开查看此主题相关图片如下:16.jpg
    图片点击可在新窗口打开查看

  • 玩个游戏

    2009-03-19 18:30:56

    第一关——把卷心菜、小羊、狼运到对岸,注意人不在时候小羊会吃掉卷心菜、狼会吃小羊 51Testing软件测试网;Y,{(K Bv$yjv3^I
    51Testing软件测试网!KdH~'RMu4|
    51Testing软件测试网 oD/?{;b&e'z ~,^@
    Flash: http://bbs.ccut.edu.cn/attachment/Mon_0709/18_15843_57554f1112a5a41.swf51Testing软件测试网W8Bf,DlL$G
    51Testing软件测试网 dML;A4L
    第二关--把人和鬼都送到对岸,任何一边鬼都不能比人多,否则鬼吃人。 51Testing软件测试网 P"vI1| O#L[ d
    51Testing软件测试网Q xHx KsQ#Q
    Flash: http://bbs.ccut.edu.cn/attachment/Mon_0709/18_15843_b73f87be232012f.swf
    jt U1qf-Go$I I158606第三关--有一家人,晚上要过一个独木桥。但是他们只有一盏灯,而这盏灯只能使用30秒了。要在灯熄灭前过这座桥,他们一家五口人每个人过桥的速度不同。瘦人1秒,小胖3秒,姑娘6秒,大胖8秒,瘸子12秒。 每次只能过两个人。  过去后,对岸要有一个人再把灯送回来。
    FV$GV o1UY]15860651Testing软件测试网5W l yFeRB
     http://bbs.ccut.edu.cn/attachment/Mon_0709/18_15843_8d38d652d52c05d.swf
    F"f,o8H`1zv158606第四关--把骑士从绿色城堡送到蓝色城堡,跳的时候跟象棋的“马”是一样的走法。最后要回到起跳的地方,就能过去了!
    _!Q,p\YM1R*{158606 http://bbs.ccut.edu.cn/attachment/Mon_0709/18_15843_540c8e31f6b8b56.swf51Testing软件测试网c7O&i:m,E%^M7H:W
    第五关--五部电梯里的人都要坐电梯,但是必须得五部电梯全都在21和25层之间门才会打开。而电梯只有两种升降方式,一是其中任意两部电梯上升8层,二是其中任意两部电梯下降13层。
    6[Mz;PN15860651Testing软件测试网g%P;Rm:MqZ7^
     http://bbs.ccut.edu.cn/attachment/Mon_0709/18_15843_f94e4e8e2d5910a.swf
    ,n5q4_bAz&e158606
  • Linux必学的60个命令(三)

    2009-03-19 14:49:10

                               Linux必学的60个命令(三)


    mail
    1.作用
    mail作用是发送电子邮件,使用权限是所有用户。此外,mail还是一个电子邮件程序。
    2.格式
    mail [-s subject] [-c address] [-b address]
    mail -f [mailbox]mail [-u user]
    3.主要参数
    -b address:表示输出信息的匿名收信人地址清单。
    -c address:表示输出信息的抄送()收信人地址清单。
    -f [mailbox]:从收件箱者指定邮箱读取邮件。
    -s subject:指定输出信息的主体行。
    [-u user]:端口指定优化的收件箱读取邮件。
    nslookup
    1.作用
    nslookup命令的功能是查询一台机器的IP地址和其对应的域名。使用权限所有用户。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
    2.格式
    nslookup [IP地址/域名]
    3.应用实例
    (1)在本地计算机上使用nslookup命令
    $ nslookup
    Default Server: name.cao.com.cn
    Address: 192.168.1.9
    >
    在符号“>”后面输入要查询的IP地址域名,并回车即可。如果要退出该命令,输入“exit”,并回车即可。
    (2)使用nslookup命令测试named
    输入下面命令:
    nslookup
    然后就进入交换式nslookup环境。如果named正常启动,则nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。
    下面简单介绍一些基本的DNS诊断。

    检查正向DNS解析,在nslookup提示符下输入带域名的主机名,如hp712.my.com,nslookup应能显示该主机名对应的IP地址。如
    果只输入hp712,nslookup会根据/etc/resolv.conf的定义,自动添加my.com域名,并回答对应的IP地址。
    ◆检查反向DNS解析,在nslookup提示符下输入某个IP地址,如192.22.33.20,nslookup应能回答该IP地址所对应的主机名。
    ◆检查MX邮件地址记录在nslookup提示符下输入:
    set q=mx
    然后输入某个域名,输入my.com和mail.my.com,nslookup应能够回答对应的邮件服务器地址,即support.my.com和support2.my.com。
    动手练习
    1.危险的网络命令

    联网的发展使安全成为一个不能忽视的问题,finger、ftp、rcp和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,嗅
    探器可以非常容易地截获这些口令和数据。而且,这些服务程序的安全验证方式也是有弱点的,很容易受到“中间服务器”方式的攻击。这里笔者把一些不安全的命
    令根据危险等级列出,见表3所示。
    现在ftp、telnet可以被SSH命令代替绑定在端口22上,其连
    接采用协商方式,使用RSA加密。身份鉴别完成之后,后面的所有流量都使用IDEA
    进行加密。SSH(Secure Shell)程序可以通过网络登录到远程主机,并执行命令。rcp、rlogin等远程调用命令也逐渐被VNC软件代
    替。
    2.在一张网卡上绑定多个IP地址
    在Linux下,可以使用ifconfig方便地绑定多个IP地址到一张网卡。例如,eth0接口的原有IP地址为192.168.0 .254,可以执行下面命令:
    ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0
    ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0
    ......
    3.修改网卡MAC地址
    首先必须关闭网卡设备,命令如下:
    /sbin/ifconfig eth0 down
    修改MAC地址,命令如下:
    /sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
    重新启用网卡:
    /sbin/ifconfig eht0 up
    这样网卡的MAC地址就更改完成了。每张网卡的MAC地址是惟一,但不是不能修改的,只要保证在网络中的MAC地址的惟一性就可以了。
    4.初步部署IPv6
    IPv4
    技术在网络发展中起到了巨大的作用,不过随着时间的流逝它无论在网络地址的提供、服务质量、安全性等方面都越来越力不从心,IPv6呼之欲出。Linux
    是所有操作系统中最先支持IPv6的,一般Linux基于2.4内核的Linux发行版本都可以直接使用IPv6,不过主要发行版本没有加载IPv6模
    块,可以使用命令手工加载,需要超级用户的权限。
    (1)加载IPv6模块
    使用命令检测,其中inet6 addr: fe80::5054:abff:fe34:5b09/64,就是eth0网卡的IPv6地址。
    # modprobe IPv6
    #ifconfig
    eth0 Link encap:Ethernet HWaddr 52:54:AB:34:5B:09
    inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::5054:abff:fe34:5b09/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame.:0
    TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:100
    RX bytes:0 (0.0 b) TX bytes:1360 (1.3 Kb)
    Interrupt:5 Base address:0xec00
    (2)使用ping命令检测网卡的IPv6地址是否有效
    #ping6 -I eth0 -c 2 fe80::200:e8ff:fea0:2586
    和IPv4不一样,使用ping6命令时必须指定一个网卡界面,否则系统不知道将数据包发送到哪个网络设备。I表示Interface、eth0是第一个网卡,-c表示回路,2表示ping6操作两次。结果见图1所示。
    图1 IPv6网络下的ping6命令
    (3)使用ip命令在IPv6下为eth0增加一个IP地址
    #ip -6 addr add 3ffe:ffff:0:f101::1/64 dev eth0
    使用ifconfig命令,查看网卡是否出现第二个IPv6地址。
    Linux网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。Linux提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户进行网络设定、检查网络状况、登录到远程计算机上、传输文件和执行远程命令等。
    上面介绍了Linux中比较重要的网络命令,其实Linux还有许多命令需要学习。Linux网络操作命令的一个特点就是命令参数选项很多,并不要求全部记住,关键在于理解命令的主要用途和学会使用帮助信息。
    Linux必学的60个命令(5)-网络安全命令Linux必学的60个命令:系统安全相关命令
    虽然Linux和Windows NT/2000系统一样是一个多用户的系统,但是它们之间有不少重要的差别。对于很多习惯了Windows系统的管理员来讲,如何保证Linux操作系统安全、可靠将会面临许多新的挑战。本文将重点介绍Linux系统安全的命令。
    passwd
    1.作用
    passwd命令原来修改账户的登陆密码,使用权限是所有用户。
    2.格式
    passwd [选项] 账户名称
    3.主要参数
    -l:锁定已经命名的账户名称,只有具备超级用户权限的使用者方可使用。
    -u:解开账户锁定状态,只有具备超级用户权限的使用者方可使用。
    -x, --maximum=DAYS:最大密码使用时间(天),只有具备超级用户权限的使用者方可使用。
    -n, --minimum=DAYS:最小密码使用时间(天),只有具备超级用户权限的使用者方可使用。
    -d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用。
    -S:检查指定使用者的密码认证种类, 只有具备超级用户权限的使用者方可使用。
    4.应用实例
    $ passwd
    Changing password for user cao.
    Changing password for cao
    (current) UNIX password:
    New UNIX password:
    Retype new UNIX password:
    passwd: all authentication tokens updated successfully.
    从上面可以看到,使用passwd命令需要输入旧的密码,然后再输入两次新密码。
    su
    1.作用
    su的作用是变更为其它使用者的身份,超级用户除外,需要键入该使用者的密码。
    2.格式
    su [选项]... [-] [USER [ARG]...]
    3.主要参数
    -f , --fast:不必读启动文件(如 csh.cshrc 等),仅用于csh或tcsh两种Shell。
    -l , --login:加了这个参数之后,就好像是重新登陆为该使用者一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root。
    -m, -p ,--preserve-environment:执行su时不改变环境变数。
    -c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。
    USER:欲变更的使用者账号,ARG传入新的Shell参数。
    4.应用实例
    变更账号为超级用户,并在执行df命令后还原使用者。 su -c df root
    umask
    1.作用
    umask设置用户文件和目录的文件创建缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。它告诉系统在创建文件时不给谁存取许可。使用权限是所有用户。
    2.格式
    umask [-p] [-S] [mode]
    3.参数
    -S:确定当前的umask设置。
    -p:修改umask 设置。
    [mode]:修改数值。
    4.说明

    统Unix的umask值是022,这样就可以防止同属于该组的其它用户及别的组的用户修改该用户的文件。既然每个用户都拥有并属于一个自己的私有组,那
    么这种“组保护模式”就不在需要了。严密的权限设定构成了Linux安全的基础,在权限上犯错误是致命的。需要注意的是,umask命令用来设置进程所创
    建的文件的读写权限,最保险的值是0077,即关闭创建文件的进程以外的所有进程的读写权限,表示为-rw-------。在
    ~/.bash_profile中,加上一行命令umask 0077可以保证每次启动Shell后, 进程的umask权限都可以被正确设定。
    5.应用实例
    umask -S
    u=rwx,g=rx,o=rx
    umask -p 177
    umask -S
    u=rw,g=,o=
    上述5行命令,首先显示当前状态,然后把umask值改为177,结果只有文件所有者具有读写文件的权限,其它用户不能访问该文件。这显然是一种非常安全的设置。
    chgrp
    1.作用
    chgrp表示修改一个或多个文件或目录所属的组。使用权限是超级用户。
    2.格式
    chgrp [选项]... 组 文件...

    chgrp [选项]... --reference=参考文件 文件...
    将每个的所属组设定为。
    3.参数
    -c, --changes :像 --verbose,但只在有更改时才显示结果。
    --dereference:会影响符号链接所指示的对象,而非符号链接本身。
    -h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。
    -f, --silent, --quiet:去除大部分的错误信息。
    --reference=参考文件:使用的所属组,而非指定的。
    -R, --recursive:递归处理所有的文件及子目录。
    -v, --verbose:处理任何文件都会显示信息。
    4.应用说明
    该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
    5.应用实例
    改变/opt/local /book/及其子目录下的所有文件的属组为book,命令如下:
    $ chgrp - R book /opt/local /book
    chmod
    1.作用
    chmod命令是非常重要的,用于改变文件或目录的访问权限,用户可以用它控制文件或目录的访问权限,使用权限是超级用户。
    2.格式
    chmod命令有两种用法。一种是包含字母和操作符表达式的字符设定法(相对权限设定);另一种是包含数字的数字设定法(绝对权限设定)。
    (1)字符设定法
    chmod [who] [+ | - | =] [mode] 文件名
    ◆操作对象who可以是下述字母中的任一个或它们的组合
    u:表示用户,即文件或目录的所有者。
    g:表示同组用户,即与文件属主有相同组ID的所有用户。
    o:表示其它用户。
    a:表示所有用户,它是系统默认值。
    ◆操作符号
    +:添加某个权限。
    -:取消某个权限。
    =:赋予给定权限,并取消其它所有权限(如果有的话)。
    ◆设置mode的权限可用下述字母的任意组合
    r:可读。
    w:可写。
    x:可执行。
    X:只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x属性。
    s:文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
    t:保存程序的文本到交换设备上。
    u:与文件属主拥有一样的权限。
    g:与和文件属主同组的用户拥有一样的权限。
    o:与其它用户拥有一样的权限。
    文件名:以空格分开的要改变权限的文件列表,支持通配符。
    一个命令行中可以给出多个权限方式,其间用逗号隔开。
    (2) 数字设定法
    数字设定法的一般形式为: chmod [mode] 文件名
    数字属性的格式应为3个0到7的八进制数,其顺序是(u)(g)(o)文件名,以空格分开的要改变权限的文件列表,支持通配符。

    字表示的权限的含义如下:0001为所有者的执行权限;0002为所有者的写权限;0004为所有者的读权限;0010为组的执行权限;0020为组的写
    权限;0040为组的读权限;0100为其他人的执行权限;0200为其他人的写权限;0400为其他人的读权限;1000为粘贴位置位;2000表示假
    如这个文件是可执行文件,则为组ID为位置位,否则其中文件锁定位置位;4000表示假如这个文件是可执行文件,则为用户ID为位置位。
    3.实例
    如果一个系统管理员写了一个表格(tem)让所有用户填写,那么必须授权用户对这个文件有读写权限,可以使用命令:#chmod 666 tem

    面代码中,这个666数字是如何计算出来的呢?0002为所有者的写权限,0004为所有者的读权限,0020为组的写权限,0040为组的读权限,
    0200为其他人的写权限,0400为其他人的读权限,这6个数字相加就是666(注以上数字都是八进制数),结果见图1所示。
    图1 用chmod数字方法设定文件权限
    从图1可以看出,tem文件的权限是-rw-rw-rw-,即用户对这个文件有读写权限。
    如果用字符权限设定使用下面命令:
    #chmod a =wx tem
    chown
    1.作用
    更改一个或多个文件或目录的属主和属组。使用权限是超级用户。
    2.格式
    chown [选项] 用户或组 文件
    3.主要参数
    --dereference:受影响的是符号链接所指示的对象,而非符号链接本身。
    -h, --no-dereference:会影响符号链接本身,而非符号链接所指示的目的地(当系统支持更改符号链接的所有者,此选项才有效)。
    --from=目前所有者:目前组只当每个文件的所有者和组符合选项所指定的,才会更改所有者和组。其中一个可以省略,这已省略的属性就不需要符合原有的属性。
    -f, --silent, --quiet:去除大部分的错误信息。
    -R, --recursive:递归处理所有的文件及子目录。
    -v, --verbose:处理任何文件都会显示信息。
    4.说明
    chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或用户ID;组可以是组名或组ID;文件是以空格分开的要改变权限的文件列表,支持通配符。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限。
    5.应用实例
    1.把文件shiyan.c的所有者改为wan
    $ chown wan shiyan.c
    2.把目录/hi及其下的所有文件和子目录的属主改成wan,属组改成users。
    $ chown - R wan.users /hi
    chattr
    1.作用
    修改ext2和ext3文件系统属性(attribute),使用权限超级用户。
    2.格式
    chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目录
    3.主要参数
    -R:递归处理所有的文件及子目录。
    -V:详细显示修改内容,并打印输出。
    -:失效属性。
    +:激活属性。
    = :指定属性。
    A:Atime,告诉系统不要修改对这个文件的最后访问时间。
    S:Sync,一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘。
    a:Append Only,系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。
    i:Immutable,系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。
    D:检查压缩文件中的错误。
    d:No dump,在进行文件系统备份时,dump程序将忽略这个文件。
    C:Compress,系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。
    s:Secure Delete,让系统在删除这个文件时,使用0填充文件所在的区域。
    u:Undelete,当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件。
    4.说明
    chattr
    命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多功能不能实现。同样-D检查压缩文件中的错误
    的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能
    保护/、/dev、/tmp、/var目录。
    5.应用实例
    1.恢复/root目录,即子目录的所有文件
    # chattr -R +u/root
    2.用chattr命令防止系统中某个关键文件被修改
    在Linux下,有些配置文件(passwd ,fatab)是不允许任何人修改的,为了防止被误删除或修改,可以设定该文件的“不可修改位(immutable)”,命令如下:
    # chattr +i /etc/fstab
    sudo
    1.作用
    sudo是一种以限制配置文件中的命令为基础,在有限时间内给用户使用,并且记录到日志中的命令,权限是所有用户。
    2.格式
    sudo [-bhHpV] [-s ] [-u ] [指令]
    sudo [-klv]
    3.主要参数
    -b:在后台执行命令。
    -h:显示帮助。
    -H:将HOME环境变量设为新身份的HOME环境变量。
    -k:结束密码的有效期,即下次将需要输入密码。
    -l:列出当前用户可以使用的命令。
    -p:改变询问密码的提示符号。
    -s :执行指定的Shell。
    -u :以指定的用户为新身份,不使用时默认为root。
    -v:延长密码有效期5分钟。
    4.说明
    sudo
    命令的配置在/etc/sudoers文件中。当用户使用sudo时,需要输入口令以验证使用者身份。随后的一段时间内可以使用定义好的命令,当使用配置
    文件中没有的命令时,将会有报警的记录。sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点
    的安全性,如果需要每天以超级用户的身份做一些日常工作,经常执行一些固定的几个只有超级用户身份才能执行的命令,那么用sudo是非常适合的。
    ps
    1.作用
    ps显示瞬间进程 (process) 的动态,使用权限是所有使用者。
    2.格式
    ps [options] [--help]
    3.主要参数
    ps的参数非常多, 此出仅列出几个常用的参数。
    -A:列出所有的进程。
    -l:显示长列表。
    -m:显示内存信息。
    -w:显示加宽可以显示较多的信息。
    -e:显示所有进程。
    a:显示终端上的所有进程,包括其它用户的进程。
    -au:显示较详细的信息。
    -aux:显示所有包含其它使用者的进程。
    4.说明

    对进程进行监测和控制,首先要了解当前进程的情况,也就是需要查看当前进程。ps命令就是最基本、也是非常强大的进程查看命令。使用该命令可以确定有哪些
    进程正在运行、运行的状态、进程是否结束、进程有没有僵尸、哪些进程占用了过多的资源等。图2给出了ps-aux命令详解。大部分信息都可以通过执行该命
    令得到。最常用的三个参数是u、a、x。下面就结合这三个参数详细说明ps命令的作用:ps aux
    图2 ps-aux命令详解
    图2第2行代码中,USER表示进程拥有者;PID表示进程标示符;%CPU表示占用的CPU使用率;%MEM占用的物理内存使用率;VSZ表示占用的虚拟内存大小;RSS为进程占用的物理内存值;TTY为终端的次要装置号码。
    STAT
    表示进程的状态,其中D为不可中断的静止(I/O动作);R正在执行中;S静止状态;T暂停执行;Z不存在,但暂时无法消除;W没有足够的内存分页可分
    配;高优先序的进程;N低优先序的进程;L有内存分页分配并锁在内存体内 (实时系统或
    I/O)。START为进程开始时间。TIME为执行的时间。COMMAND是所执行的指令。
    4.应用实例
    在进行系统维护时,经常会出现内存使用量惊人,而又不知道是哪一个进程占用了大量进程的情况。除了可以使用top命令查看内存使用情况之外,还可以使用下面的命令:
    ps aux | sort +5n
    who
    1.作用
    who显示系统中有哪些用户登陆系统,显示的资料包含了使用者ID、使用的登陆终端、上线时间、呆滞时间、CPU占用,以及做了些什么。 使用权限为所有用户。
    2.格式
    who - [husfV] [user]
    3.主要参数
    -h:不要显示标题列。
    -u:不要显示使用者的动作/工作。
    -s:使用简短的格式来显示。
    -f:不要显示使用者的上线位置。
    -V:显示程序版本。
    4.说明

    命令主要用于查看当前在线上的用户情况。如果用户想和其它用户建立即时通信,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然
    talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。who命令应用起来非常简单,可以比较准
    确地掌握用户的情况,所以使用非常广泛。
    动手练习
    1.使用Linux命令检测系统入侵者

    装过Mandrake Linux和Red Hat
    Linux的用户都会知道,Linux系统会内置三种不同级别(标准、高、更高)的防火墙,当进行了Linux服务器的安装和一些基本的设置后,服务器应
    该说是比较安全的,但是也会有黑客通过各种方法利用系统管理员的疏忽侵入系统。如何快速查找黑客非常重要。一般来说,可以使用命令查询黑客是否入侵,见表
    1。
    表1 查询黑客入侵现象的命令对应表
    举例说明,如果黑客嗅探网络,那么它必须使网卡接口处于混杂模式,使用下面命令进行查询:
    #ifconfig -a
    eth0 Link encap:Ethernet HWaddr 00:00:E8:A0:25:86
    inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST RUNNING PROMISCUOUS MTU:1500 Metric:1
    ......

    这个命令的输出中,可以看到上面讲到的这些概念。第一行的00:00:E8:A0:25:86是mac地址,第二行的192.168.1.7是IP地址,
    第四行讲的是接收数据状态,这时正在被黑客嗅探。一般而言,网卡有几种接收数据帧的状态,如Broadcast、Multicast、
    Promiscuous等。Broadcast是指接收所有类型为广播报文的数据帧;Multicast是指接收特定的组播报文;Promiscuous
    则是通常说的混杂模式,是指对报文中的目的硬件地址不加任何检查、全部接收的工作模式。
    2.限制su命令的滥用

    们知道,超级用户在Linux中有最大的权利,几乎所有黑客都想得到这个目标。Linux可以增加对切换到超级用户的限制。使用PAM
    (Pluggable Authentication
    Modules)可以禁止除在wheel组以外的任何人su成root,修改/etc/pam.d/su文件,除去屏蔽标识#。使用
    /usr/sbin/usermod G10 bjecadm将bjecadm这个账号加入gid为10的组,就是wheel组。命令如下:
    /etc/pam.d/su # 使用密码验证#
    auth sufficient /lib/security/pam_wheel.so debug
    # 限制只有wheel组用户才可以切换到root#
    auth required /lib/security/pam_wheel.so use_uid
    chmod -G10 bjecadm
    另外,每当用户试图使用su命令进入系统用户时,命令将在/usr/adm/sulog文件中写一条信息,若该文件记录了大量试图用su进入root的无效操作信息,则表明了可能有人企图破译root口令。
    Linux命令有着强大的功能。对于Linux系统管理员来说,往往只需要通过各种安全命令技巧,组合构成安全防线。从计算机安全的角度看,世界上没有绝对安全的计算机系统,Linux系统也不例外。
    Linux必学的60个命令(6)-其他命令
    Linux必学的60个命令:其它命令
    在前面几讲中,我们把Linux命令按照在系统中的作用分成几个部分分别予以介绍。但是,还有一些命令不好划分,然而学习它们同样是比较重要的。
    tar
    1.作用
    tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户。
    2.格式
    tar [主选项+辅选项] 文件或目录
    3.主要参数
    使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用。
    主选项:
    -c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
    -r 把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
    -t 列出档案文件的内容,查看已经备份了哪些文件。
    -u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
    -x 从档案文件中释放文件。
    辅助选项:
    -b 该选项是为磁带机设定的,其后跟一数字,用来说明区块的大小,系统预设值为20(20×512 bytes)。
    -f 使用档案文件或设备,这个选项通常是必选的。
    -k 保存已经存在的文件。例如把某个文件还原,在还原的过程中遇到相同的文件,不会进行覆盖。
    -m 在还原文件时,把所有文件的修改时间设定为现在。
    -M 创建多卷的档案文件,以便在几个磁盘中存放。
    -v 详细报告tar处理的文件信息。如无此选项,tar不报告文件信息。
    -w 每一步都要求确认。
    -z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
    4.应用说明
    tar 是Tape Archive(磁带归档)的缩写,最初设计用于将文件打包到磁带上。如果下载过Linux的源代码,或许已经碰到过tar文件
    请注意,不要忘了Linux是区分大小写的。例如,tar命令应该总是以小写的形式执行。命令行开关可以是大写、小写或大小写的混合。例如,-t和-T执行不同的功能。文件或目录名称可以混合使用大小写,而且就像命令和命令行开关一样是区分大小写的。
    5.应用实例
    tar是一个命令行的工具,没有图形界面。使用Konsole打开一个终端窗口,接下来是一个简单的备份命令(在/temp目录中创建一个back.tar的文件,/usr目录中所有内容都包含在其中。):
    $tar cvf - /usr > /temp/back.tar

    外,tar命令支持前面第三讲中讲过的crontab命令,可以用crontab工具设置成基于时间的有规律地运行。例如,每晚6点把/usr目录备份到
    hda—第一个IDE接口的主驱动器 (总是位于第一个硬盘)中,只要将下面语句添加到root的crontab中即可:
    $00 06 * * * tar cvf /dev/hda1/usrfiles.tar - /usr
    一般情况下,以下这些目录是需要备份的:
    ◆/etc 包含所有核心配置文件,其中包括网络配置、系统名称、防火墙规则、用户、组,以及其它全局系统项。
    ◆ /var 包含系统守护进程(服务)所使用的信息,包括DNS配置、DHCP租期、邮件缓冲文件、HTTP服务器文件、dB2实例配置等。
    ◆/home 包含所有默认用户的主目录,包括个人设置、已下载的文件和用户不希望失去的其它信息。
    ◆/root 根(root)用户的主目录。
    ◆/opt 是安装许多非系统文件的地方。IBM软件就安装在这里。OpenOffice、JDK和其它软件在默认情况下也安装在这里。
    有些目录是可以不备份的:
    ◆ /proc 应该永远不要备份这个目录。它不是一个真实的文件系统,而是运行内核和环境的虚拟化视图,包括诸如/proc/kcore这样的文件,这个文件是整个运行内存的虚拟视图。备份这些文件只是在浪费资源。
    ◆/dev 包含硬件设备的文件表示。如果计划还原到一个空白的系统,就可以备份/dev。然而,如果计划还原到一个已安装的Linux 系统,那么备份/dev是没有必要的。
    unzip
    1.作用
    unzip
    命令位于/usr/bin目录中,它们和MS DOS下的pkzip、pkunzip及MS
    Windows中的Winzip软件功能一样,将文件压缩成.zip文件,以节省硬盘空间,当需要的时候再将压缩文件用unzip命令解开。该命令使用权
    限是所有用户。
    2.格式
    unzip [-cflptuvz][-agCjLMnoqsVX][-P ][.zip文件][文件][-d ][-x ]
    3.主要参数
    -c:将解压缩的结果显示到屏幕上,并对字符做适当的转换。
    -f:更新现有的文件。
    -l:显示压缩文件内所包含的文件。
    -p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
    -t:检查压缩文件是否正确。
    -u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。
    -v:执行是时显示详细的信息。
    -z:仅显示压缩文件的备注文字。
    -a:对文本文件进行必要的字符转换。
    -b:不要对文本文件进行字符转换。
    -C:压缩文件中的文件名称区分大小写。
    -j:不处理压缩文件中原有的目录路径。
    -L:将压缩文件中的全部文件名改为小写。
    -M:将输出结果送到more程序处理。
    -n:解压缩时不要覆盖原有的文件。
    -o:不必先询问用户,unzip执行后覆盖原有文件。
    -P:使用zip的密码选项。
    -q:执行时不显示任何信息。
    -s:将文件名中的空白字符转换为底线字符。
    -V:保留VMS的文件版本信息。
    -X:解压缩时同时回存文件原来的UID/GID。
    [.zip文件]:指定.zip压缩文件。
    [文件]:指定要处理.zip压缩文件中的哪些文件。
    -d:指定文件解压缩后所要存储的目录。
    -x:指定不要处理.zip压缩文件中的哪些文件。
    -Z unzip:-Z等于执行zipinfo指令。在Linux中,还提供了一个叫zipinfo的工具,能够察看zip压缩文件的详细信息。unzip最新版本是5.50。
    gunzip
    1.作用
    gunzip命令作用是解压文件,使用权限是所有用户。
    2.格式
    gunzip [-acfhlLnNqrtvV][-s ][文件...]
    或者
    gunzip [-acfhlLnNqrtvV][-s ][目录]
    3.主要参数
    -a或--ascii:使用ASCII文字模式。
    -c或--stdout或--to-stdout:把解压后的文件输出到标准输出设备。
    -f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在,以及该文件是否为符号连接。
    -h或--help:在线帮助。
    -l或--list:列出压缩文件的相关信息。
    -L或--license:显示版本与版权信息。
    -n或--no-name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其忽略不予处理。
    -N或--name:解压缩时,若压缩文件内含有原来的文件名称及时间戳记,则将其回存到解开的文件上。
    -q或--quiet:不显示警告信息。
    -r或--recursive:递归处理,将指定目录下的所有文件及子目录一并处理。
    -S或--suffix:更改压缩字尾字符串。
    -t或--test:测试压缩文件是否正确无误。
    -v或--verbose:显示指令执行过程。
    -V或--version:显示版本信息。
    4.说明
    gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为“.gz”。事实上,gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip指令单独完成。gunzip最新版本是1.3.3 。
    unarj
    1.作用
    unarj解压缩格式为.arj格式的文件,使用权限是所有用户。
    2.格式
    unarj [eltx][.arj压缩文件]
    3.主要参数
    e:解压缩.arj文件。
    l:显示压缩文件内所包含的文件。
    t:检查压缩文件是否正确。
    x:解压缩时保留原有的路径。
    4.说明
    带有.arj扩展名的文件是由用于MS DOS和Windows的ARJ实用程序创建的。因为ARJ是一种不能免费获得源代码的共享件程序,所以在
    mtools
    1.作用
    mtools
    实际上是一个命令集合,是DOS文件系统的工具程序,它可以模拟许多DOS命令,使用起来非常方便。使用权限是所有用户。Linux系统提供了一组称为
    mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写文件和目录。它们对DOS和Linux环境之间交换文件非常有用。mtools的
    使用非常简单,如果想把软盘里所有的文件都拷贝到硬盘上,那么就可以执行以下命令:
    mcopy a:*.*
    也就是说,只需要在相应的DOS命令之前加上一个字母“m”,就可以完成对应的功能了。一般Linux发行版本中都有这个软件,可以使用下面命令检查一下。
    rpm -qa|grep mtools
    如果没有安装,也没有关系,可以从网上下载(http://mtools.linux.lu/)一个最新版本来安装。目前可供下载的最新mtools版本是
    2.包括的命令
    mcd 目录名:改变MS DOS下的目录。
    mcopy 源文件 目标文件:在MS DOS和Unix之间复制文件。
    mdel 文件名:删除MS DOS下的文件。
    mdir 目录名:显示MS DOS下的目录。
    mformat 驱动器号:在低级格式化的软盘上创建MS DOS文件系统。
    rnlabel 驱动器号:产生MS DOS下的卷标。
    mmd 目录名:建立MS DOS下的目录。
    mrd 目录名:删除MS DOS下的目录。
    mren 源文件 目标文件:重新命名已存在的MS DOS文件。
    mtype 文件名:显示MS DOS文件的内容。
    请注意,这些命令和对应的MS DOS命令非常相似。在mtools命令中,“/”和“\”是可以混用的。因为文件列表的是DOS系统下的文档,对大小写并不敏感,所以“CDE”和“cde”在这里是一样的。
    3.应用实例
    (1)如果把软盘进行快速格式化,可以使用命令mformat:
    mformat A:
    mtools
    当初发展的目的是用来处理DOS文件系统的,所以只能用在FAT文件格式的分区上。需要注意的是,如果用mount命令来挂载了FAT16/32分区,那
    么就不能使用mtools的指令来处理这些分区上的文件。这是因为一旦FAT16/32分区挂到了Linux文件目录下,Linux就会将其视为文件系统
    本身的一部分,这时如果要对其操作就必须使用Linux本身所附带的指令集。
    (2)将DOS盘上的文件htca.c复制到当前目录下,并用ls命令进行验证。
    $ mcopy a:\htca.c
    $ ls -l htca.c
    -rw-r- -r- - 1 xxq xxq 27136 Jan 1 01:80 htca.c
    man
    1.作用
    man命令用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。
    2.格式
    man 命令名称
    man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name ...
    3.参数
    -C config_file:指定设定文件man.conf,缺省值是/etc/man.conf。
    -M path:指定了联机手册的搜寻路径, 如果没有指定则使用环境变数MANPATH的设定;如果没有使用MANPATH, 则会使用/usr/lib/man.conf内的设定;如果MANPATH是空字串,则表示使用缺省值。
    -P pager:指定使用何种pager.man会优先使用此选项设定,然后是依环境变数MANPAGER设定,然后是环境变数PAGER;man缺省使用/usr/bin/less -is。
    -S section_list man:所搜寻的章节列表(以冒号分隔),此选项会覆盖环境变数MANSECT的设定。
    -a man:缺省情况是在显示第一个找到的手册之后,就会停止搜寻,使用此选项会强迫man继续显示所有符合name的联机手册。
    -c:即使有最新的cat page,也继续对联机手册重新作排版,本选项在屏幕的行列数改变时或已排版的联机手册损坏时特别有意义。
    -d:不要真的显示联机手册,只显示除错讯息。
    -D:同时显示联机手册与除错讯息。
    -h:显示求助讯息然后结束程式 。
    -K:对所有的联机手册搜寻所指定的字串。请注意,本功能回应速度可能很慢,如果指定section(区域)会对速度有帮助。
    -m system:依所指定的system名称而指定另一组的联机手册。
    man:是manual(手册)的缩写。在输入命令有困难时,可以立刻得到这个文档。例如, 如果使用ps命令时遇到困难,可以输入man ps得到帮助信息,此时会显示出ps的手册页(man page)。
    由于手册页man page是用less程序来看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有选项。
    less中比较重要的功能键有:
    [q] 退出;
    [Enter] 一行行地下翻;
    [Space] 一页页地下翻;
    上翻一页;
    [/] 后跟一个字符串和[Enter]来查找字符串;
    [n] 发现上一次查找的下一个匹配。
    4.阅读手册页
    手册页在很少的空间里提供了很多的信息, 这里简单介绍一下大多数手册页中都有的部分内容。Linux手册页主要有九个部分:用户指令、系统调用、程序库、设备说明、文件格式、游戏、杂项、系统指令、内核,手册页快照见图1所示。
    图1 ps命令手册页快照
    Linux手册页布局见表1。
    5.应用实例
    Linux
    命令中有一些基础的、重要的命令,例如ps、find、cat和ls等。下面来举一个综合应用的例子,由此可以看出man的地位在Linux中可谓至关重
    要。但是,man所显示的信息却不是普通的文本,如果直接将这些文字重定向到一个文本文件,就会发现在man中高亮显示的文字就变成了两个,而且有不计其
    数的制表符,使打印、编辑都变得非常不便。不过,使用下面这样一条语句就能得到ps命令打印。
    # man ps | col -b | lpr
    这条命令同时运用了输出重定向和管道两种技巧,作用是将ps命令的帮助信息可以直接打印出来。更多的Man文件可以查看Linux Man
    unencode
    1.作用
    unencode命令可以把一个二进制文件表编码为一个文本文件,使用权限是所有用户。
    2.格式
    uuencode [-hv] [源文件] 目标文件
    3.主要参数
    -h:列出指令使用格式(help) 。
    -v:列出版本信息。
    4.应用说明
    uuencode指令可以将二进制文件转化成可使用电子邮件发送的ASCII编码形式。uuencode编码后的资料都以 begin开始,以end作为结束,且通常其中的每一行的开始均为“M”,中间部分是编码过的文件,编码后的文件比源文件要大一些。
    uudecode
    1.作用
    uudecode命令用来将uuencode编码后的档案还原,uudecode只会将begin与end标记之间的编码资料还原,程序会跳过标记以外的资料。它的使用权限为所有用户。
    2.格式
    uuencode [-hv] [file1 ...]
    3.主要参数
    -h:列出指令使用格式(help)。
    -v:列出版本信息。
    4.应用实例
    使用下面命令一次还原几个文件:
    uuencode file1.uud file2.uud file3.uud
    动手练习
    1.在Linux命令行下发送邮件
    虽然Linux桌面应用发展很快,但是命令行(Shell)在Linux中依然有很强的生命力。如果能确认电子邮件服务器支持8bit的字节,就可以直接使用下面命令:
    cat <附件文件名> | mail <邮件地址>
    cat(cat是concatenate的缩写)命令是将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件,这里我们用它来合并邮件的文本。
    写好邮件名称,比如叫cjkmail,然后使用下面命令:
    $uuencode <附件文件名> <附件文件名> >>cjkmail
    这样就可以用vi编辑器写cjkmail文件,并在前面写上信的正文,然后寄出。
    对方收到信后,把信中属于cjkmail中的内容拷贝出来,存为themail.uue。如果对方是在Windows下,就可以用WinRAR或WinZip解压,这样就可以看到附件。
    如果对方也使用Linux,可以用undecode命令还原:
    $ uudencode -o<附件文件名> themail.uue
    2.实现tar的分卷
    笔者想把一个378MB的文件压缩成多个63MB的文件(笔者的USB为64MB),使用下面命令:
    $tar czvf - dir | split -d -b 63m
    然后合并命令:
    $cat x* > dir.tgz
    以上例子实际是由三个命令组合完成的,即用tar打包,用split分割,用cat合并。“tar czvf - dir”的意思是把dir目录打包,并输出到标准输出(argv),这样就可以直接用管道输出给split。
    3.连续执行一个命令
    使用watch命令,可以反复执行命令。如果和ls配合,可以达到观察某文件大小变化的效果。
    $watch ls -l file.name
    4.用tar命令导出一个文件
    有一个tar格式的DVD文件GLvPro6.4_linux.tar,因为该文件非常大(4.7GB),如果全部解压比较麻烦,可以用下面命令先导出readme.txt看看。
    tar xvf GLvPro6.4_linux.tar readme.txt
    这样readme.txt就单独被导出了。
    5.用tar打包一个目录时只备份其中的几个子目录
    tar cf --exclude home/cjh home/cao
    这样home目录下只有cjh和cao两个子目录备份。



    此为止,Linux必学的60个命令已经全部介绍完了。Linux的命令行方式功能强大,如果熟练掌握了Linux的常用命令,往往只需要通过各种技巧就
    可以组合构成一条复杂的命令,从而完成用户任务。Linux系统中的命令实在是太多了,不可能像在MS
    DOS中把所有的命令及参数都记住。Linux系统提供了一些方法,比如可以通过“help”和“man”来查询名令。

  • Linux必学的60个命令(二)

    2009-03-19 14:45:38

                      Linux必学的60个命令(二)

    top
    1.作用
    top命令用来显示执行中的程序进程,使用权限是所有用户。
    2.格式
    top [-] [d delay] [q] [c] [S] [s] [n]
    3.主要参数
    d:指定更新的间隔,以秒计算。
    q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
    c:显示进程完整的路径与名称。
    S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
    s:安全模式。
    i:不显示任何闲置(Idle)或无用(Zombie)的行程。
    n:显示更新的次数,完成后将会退出top。
    4.说明
    top命令是Linux系统管理的一个主要命令,通过它可以获得许多信息。这里我们结合图1来说明它给出的信息。
    图1 top命令的显示

    图1中,第一行表示的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行显示的是所有启动的进程、目前运行的、挂起
    (Sleeping)的和无用(Zombie)的进程。第三行显示的是目前CPU的使用情况,包括系统占用的比例、用户使用比例、闲置(Idle)比例。
    第四行显示物理内存的使用情况,包括总的可以使用的内存、已用内存、空闲内存、缓冲区占用的内存。第五行显示交换分区使用情况,包括总的交换分区、使用
    的、空闲的和用于高速缓存的大小。第六行显示的项目最多,下面列出了详细解释。
    PID(Process ID):进程标示号。
    USER:进程所有者的用户名。
    PR:进程的优先级别。
    NI:进程的优先级别数值。
    VIRT:进程占用的虚拟内存值。
    RES:进程占用的物理内存值。
    SHR:进程使用的共享内存值。
    S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。
    %CPU:该进程占用的CPU使用率。
    %MEM:该进程占用的物理内存和总内存的百分比。
    TIME+:该进程启动后占用的总的CPU时间。
    Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
    top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。
    :立刻刷新。
    P:根据CPU使用大小进行排序。
    T:根据时间、累计时间排序。
    q:退出top命令。
    m:切换显示内存信息。
    t:切换显示进程和CPU状态信息。
    c:切换显示命令名称和完整命令行。
    M:根据使用内存大小进行排序。
    W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。
    可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。
    5.应用实例
    使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面,见图2所示。
    图2 使用top命令监视指定用户
    free
    1.作用
    free命令用来显示内存的使用情况,使用权限是所有用户。
    2.格式
    free [-b|-k|-m] [-o] [-s delay] [-t] [-V]
    3.主要参数
    -b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
    -s delay:显示每隔多少秒数来显示一次内存使用情况。
    -t:显示内存总和列。
    -o:不显示缓冲区调节列。
    4.应用实例
    free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
    #free -b -s5
    使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。
    quota
    1.作用
    quota命令用来显示磁盘使用情况和限制情况,使用权限超级用户。
    2.格式
    quota [-g][-u][-v][-p] 用户名 组名
    3.参数
    -g:显示用户所在组的磁盘使用限制。
    -u:显示用户的磁盘使用限制。
    -v:显示没有分配空间的文件系统的分配情况。
    -p:显示简化信息。
    4.应用实例
    在企业应用中磁盘配额非常重要,普通用户要学会看懂自己的磁盘使用情况。要查询自己的磁盘配额可以使用下面命令(下例中用户账号是caojh):
    #quota caojh
    Disk quotas for user caojh(uid 502):
    Filesystem blocks quota limit grace files quota limit grace
    /dev/hda3 58 200000 400000 41 500 1000
    以上显示ID号为502的caojh账号,文件个数设置为500~1000个,硬盘空间限制设置为200MB~400MB。一旦磁盘配额要用完时,就需要删除一些垃圾文件或向系统管理员请求追加配额。
    at
    1.作用
    at命令用来在指定时刻执行指定的命令序列。
    2.格式
    at [-V] [-q x] [-f file] [-m] time
    3.主要参数
    -V:显示标准错误输出。
    -q:许多队列输出。
    -f:从文件中读取作业。
    -m:执行完作业后发送电子邮件到用户。
    time:设定作业执行的时间。time格式有严格的要求,由小时、分钟、日期和时间的偏移量组成,其中日期的格式为MM.DD.YY,MM是分钟,DD是日期,YY是指年份。偏移量的格式为时间+偏移量,单位是minutes、hours和days。
    4.应用实例
    #at -f data 15:30 +2 days
    上面命令表示让系统在两天后的17:30执行文件data中指明的作业。
    lp
    1.作用
    lp是打印文件的命令,使用权限是所有用户。
    2.格式
    lp [-c][-d][-m][-number][-title][-p]
    3.主要参数
    -c:先拷贝文件再打印。
    -d:打印队列文件。
    -m:打印结束后发送电子邮件到用户。
    -number:打印份数。
    -title:打印标题。
    -p:设定打印的优先级别,最高为100。
    4.应用实例
    (1)使用lp命令打印多个文件
    #lp 2 3 4
    request id is 11 (3 file(s))
    其中2、3、4分别是文件名;“request id is 11 (3 file(s)) ”表示这是第11个打印命令,依次打印这三个文件。
    (2)设定打印优先级别
    #lp lp -d LaserJet -p 90 /etc/aliases
    通过添加“-p 90”,规定了打印作业的优先级为90。它将在优先级低于90的打印作业之前打印,包括没有设置优先级的作业,缺省优先级是50
    useradd
    1.作用
    useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。
    2.格式
    useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
    3.主要参数
    -c:加上备注文字,备注文字保存在passwd的备注栏中。 
    -d:指定用户登入时的启始目录。
    -D:变更预设值。
    -e:指定账号的有效期限,缺省表示永久有效。
    -f:指定在密码过期后多少天即关闭该账号。
    -g:指定用户所属的群组。
    -G:指定用户所属的附加群组。
    -m:自动建立用户的登入目录。
    -M:不要自动建立用户的登入目录。
    -n:取消建立以用户名称为名的群组。
    -r:建立系统账号。
    -s:指定用户登入后所使用的shell。
    -u:指定用户ID号。
    4.说明
    useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。
    5.应用实例
    建立一个新用户账户,并设置ID:
    #useradd caojh -u 544
    需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。
    groupadd
    1.作用
    groupadd命令用于将新组加入系统。
    2.格式
    groupadd [-g gid] [-o]] [-r] [-f] groupname
    3.主要参数
    -g gid:指定组ID号。
    -o:允许组ID号,不必惟一。
    -r:加入组ID号,低于499系统账号。
    -f:加入已经有的组时,发展程序退出。
    4.应用实例
    建立一个新组,并设置组ID加入系统:
    #groupadd -g 344 cjh
    此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。
    kill
    1.作用
    kill命令用来中止一个进程。
    2.格式
    kill [ -s signal | -p ] [ -a ] pid ...
    kill -l [ signal ]
    3.参数
    -s:指定发送的信号。
    -p:模拟发送信号。
    -l:指定信号的名称列表。
    pid:要中止进程的ID号。
    Signal:表示信号。
    4.说明
    进程是Linux系统中一个非常重要的概念。Linux是一个多任务的操作系统,系统上经常同时运行着多个进程。我们不关心这些进程究竟是如何分配的,或者是内核如何管理分配时间片的,所关心的是如何去控制这些进程,让它们能够很好地为用户服务。
    Linux
    操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性。交互进程是由一个Shell启动的进程。交互进程既可以在前台运行,也可以在后台运行。
    批处理进程和终端没有联系,是一个进程序列。监控进程(也称系统守护进程)时Linux系统启动时启动的进程,并在后台运行。例如,httpd是著名的
    Apache服务器的监控进程。
    kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号
    和某个程序的进程标识号,然后系统内核就可以对进程标识号指定的进程进行操作。比如在top命令中,我们看到系统运行许多进程,有时就需要使用kill中
    止某些进程来提高系统资源。在讲解安装和登陆命令时,曾提到系统多个虚拟控制台的作用是当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作关闭
    这个程序。此时使用的命令就是kill,因为kill是大多数Shell内部命令可以直接调用的。
    5.应用实例
    (1)强行中止(经常使用杀掉)一个进程标识号为324的进程:
    #kill -9 324
    (2)解除Linux系统的死锁
    在Linux
    中有时会发生这样一种情况:一个程序崩溃,并且处于死锁的状态。此时一般不用重新启动计算机,只需要中止(或者说是关闭)这个有问题的程序即可。当
    kill处于X-Window界面时,主要的程序(除了崩溃的程序之外)一般都已经正常启动了。此时打开一个终端,在那里中止有问题的程序。比如,如果
    Mozilla浏览器程序出现了锁死的情况,可以使用kill命令来中止所有包含有Mozolla浏览器的程序。首先用top命令查处该程序的PID,然
    后使用kill命令停止这个程序:
    #kill -SIGKILL XXX
    其中,XXX是包含有Mozolla浏览器的程序的进程标识号。
    (3)使用命令回收内存
    我们知道内存对于系统是非常重要的,回收内存可以提高系统资源。kill命令可以及时地中止一些“越轨”的程序或很长时间没有相应的程序。例如,使用top命令发现一个无用 (Zombie) 的进程,此时可以使用下面命令:
    #kill -9 XXX
    其中,XXX是无用的进程标识号。
    然后使用下面命令:
    #free
    此时会发现可用内存容量增加了。
    (4)killall命令
    Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:
    # killall -HUP inetd
    crontab
    1.作用
    使用crontab命令可以修改crontab配置文件,然后该配置由cron公用程序在适当的时间执行,该命令使用权限是所有用户。
    2.格式
    crontab [ -u user ] 文件
    crontab [ -u user ] { -l | -r | -e }
    3.主要参数
    -e:执行文字编辑器来设定时程表,内定的文字编辑器是vi。
    -r:删除目前的时程表。
    -l:列出目前的时程表。
    crontab
    文件的格式为“M H D m d
    cmd”。其中,M代表分钟(0~59),H代表小时(0~23),D代表天(1~31),m代表月(1~12),d代表一星期内的天(0~6,0为星期
    天)。cmd表示要运行的程序,它被送入sh执行,这个Shell只有USER、HOME、SHELL三个环境变量。
    4.说明
    和at命令相比,crontab命令适合完成固定周期的任务。
    5.应用实例
    设置一个定时、定期的系统提示:
    [cao @www cao]#crontab -e
    此时系统会打开一个vi编辑器。
    如果输入以下内容:35 17 * * 5 wall "Tomorrow is Saturday I will go CS",然后存盘退出。这时在/var/spool/cron/目录下会生产一个cao的文件,内容如下:
    # DO NOT EDIT THIS FILE - edit the master and reinstall.
    # (/tmp/crontab.2707 installed on Thu Jan 1 22:01:51 2004)
    # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
    35 17 * * 5 wall "Tomorrow is Saturday I will play CS "
    这样每个星期五17:35系统就会弹出一个终端,提醒星期六可以打打CS了!显示结果见图3所示。
    图3 一个定时、定期的系统提示
    动手练习
    1.联合使用kill和top命令观察系统性能的变化
    首先启动一个终端运行top命令,然后再启动一个终端使用kill命令,见图4所示。
    图4 观察kill命令对top终端的影响
    这时利用上面介绍的kill命令来中止一些程序:
    #kill SIGKILL XXX
    然后再看top命令终端的变化,包括内存容量、CPU使用率、系统负载等。注意,有些进程是不能中止的,不过学习Linux命令时可以试试,看看系统有什么反应。
    2.使用at和halt命令定时关机
    首先设定关机时间是17:35,输入下面代码:
    #at 17:35
    warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
    at>halt `-i -p
    at>
    job 6 at 2004-01-01 17:35

    时实际上就已经进入Linux系统的Shell,并且编写一个最简单程序:halt -i
    -p。上面Shell中的文本结束符号表示按“Ctrl+D”组合键关闭命令,提交任务退出Shell。“Job 6 at 2004-01-01
    17:35”表示系统接受第6个at命令,在“2004-01-01 17:35”时执行命令:先把所有网络相关的装置停止,关闭系统后关闭电源。
    3.用crontab命令实现每天定时的病毒扫描
    前面已经介绍了一个简单的crontab命令操作,这里看一些更重要的操作。
    (1)建立一个文件,文件名称自己设定,假设为caoproject:
    #crontab -e
    (2)文件内容如下:
    05 09 * * * antivir
    用vi编辑后存盘退出。antivir是一个查杀Linux病毒的软件,当然需要时先安装在系统中。
    (3)使用crontab命令添加到任务列表中:
    #crontab caoproject
    这样系统内所有用户在每天的9点05分会自动进行病毒扫描。
    4.用kill使修改的配置文件马上生效
    Windows用户一般都知道,重要配置文件修改后往往都要重新启动计算机才能使修改生效。而Linux由于采用了模块化设计,可以自己根据需要实时设定服务。这里以网络服务inetd为例介绍一些操作技巧。
    inetd
    是一个监听守护进程,监听与提供互联网服务进程(如rlogin、telnet、ftp、rsh)进行连接的要求,并扩展所需的服务进程。默认情况下,
    inetd监听的这些daemon均列于/etc
    /inetd.conf文件中。编辑/etc/inetd.conf文件,可以改变inetd启动服务器守护进程的选项,然后驱使inetd以
    SIGHUP(signal 1)向当前的inetd进程发送信号,使inetd重读该文件。这一过程由kill命令来实现。
    用vi或其它编辑器修改inetd.conf后,首先使用下面命令:
    #ps -ef |grep inetd
    上面代码表明查询inetd.conf的进程号(PID),这里假设是1426,然后使用下面命令:
    # kill -1426 inetd
    这样配置文件就生效了。
    这一讲介绍的系统管理命令都是比较重要的,特别是crontab命令和quota命令使用起来会有一定难度,需要多做一些练习。另外,使用kill命令要注意“-9“这个参数,练习时最好不要运行一些重要的程序。
    Linux必学的60个命令(4)-网络操作命令Linux必学的60个命令:网络操作命令

    为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富的网络应用软件,尤其是TCP/IP网络协议的实现尤为成熟。
    Linux的网络命令比较多,其中一些命令像ping、
    ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一些Unix/Linux系统独有的命令,如ifconfig、
    finger、mail等。Linux网络操作命令的一个特点是,命令参数选项和功能很多,一个命令往往还可以实现其它命令的功能。
    ifconfig
    1.作用
    ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。
    2.格式
    ifconfig -interface [options] address
    3.主要参数
    -interface:指定的网络接口名,如eth0和eth1。
    up:激活指定的网络接口卡。
    down:关闭指定的网络接口。
    broadcast address:设置接口的广播地址。
    pointopoint:启用点对点方式。
    address:设置指定接口设备的IP地址。
    netmask address:设置接口的子网掩码。
    4.应用说明
    ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络,这是一个必须掌握的命令。使用该命令的好处是无须重新启动机器。要赋给eth0接口IP地址207.164.186.2,并且马上激活它,使用下面命令:
    #fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127

    命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不带任何参数的ifconfig命令,这个命令将显示机器所有激活接口的
    信息。带有“-a”参数的命令则显示所有接口的信息,包括没有激活的接口。注意,用ifconfig命令配置的网络设备参数,机器重新启动以后将会丢失。
    如果要暂停某个网络接口的工作,可以使用down参数:
    #ifconfig eth0 down
    ip
    1.作用
    ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。
    2.格式
    ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]
    3.主要参数
    OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、短两种形式。目前,ip支持如表1所示选项。
    OBJECT是要管理者获取信息的对象。目前ip认识的对象见表2所示。
    表1 ip支持的选项
    -V,-Version 打印ip的版本并退出。
    -s,-stats,-statistics 输出更为详尽的信息。如果这个选项出现两次或多次,则输出的信息将更为详尽。
    -f,-family 这个选项后面接协议种类,包括inet、inet6或link,强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或any。link比较特殊,它表示不涉及任何网络协议。
    -4 是-family inet的简写。
    -6 是-family inet6的简写。
    -0 是-family link的简写。
    -o,-oneline 对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项。
    -r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址
    COMMAND
    设置针对指定对象执行的操作,它和对象的类型有关。一般情况下,ip支持对象的增加(add)、删除(delete)和展示(show或list)。有些
    对象不支持这些操作,或者有其它的一些命令。对于所有的对象,用户可以使用help命令获得帮助。这个命令会列出这个对象支持的命令和参数的语法。如果没
    有指定对象的操作命令,ip会使用默认的命令。一般情况下,默认命令是list,如果对象不能列出,就会执行help命令。
    ARGUMENTS
    是命令的一些参数,它们倚赖于对象和命令。ip支持两种类型的参数:flag和parameter。flag由一个关键词组成;parameter由一个
    关键词加一个数值组成。为了方便,每个命令都有一个可以忽略的默认参数。例如,参数dev是ip link命令的默认参数,因此ip link ls
    eth0等于ip link ls dev eth0。我们将在后面的详细介绍每个命令的使用,命令的默认参数将使用default标出。
    4.应用实例
    添加IP地址192.168.2.2/24到eth0网卡上:
    #ip addr add 192.168.1.1/24 dev eth0
    丢弃源地址属于192.168.2.0/24网络的所有数据报:
    #ip rule add from 192.168.2.0/24 prio 32777 reject
    ping
    1.作用
    ping检测主机网络接口状态,使用权限是所有用户。
    2.格式
    ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址
    3.主要参数
    -d:使用Socket的SO_DEBUG功能。
    -c:设置完成要求回应的次数。
    -f:极限检测。
    -i:指定收发信息的间隔秒数。
    -I:网络界面使用指定的网络界面送出数据包。
    -l:前置载入,设置在送出要求信息之前,先行发出的数据包。
    -n:只输出数值。
    -p:设置填满数据包的范本样式。
    -q:不显示指令执行过程,开头和结尾的相关信息除外。
    -r:忽略普通的Routing Table,直接将数据包送到远端主机上。
    -R:记录路由过程。
    -s:设置数据包的大小。
    -t:设置存活数值TTL的大小。
    -v:详细显示指令的执行过程。
    ping
    命令是使用最多的网络指令,通常我们使用它检测网络是否连通,它使用ICMP协议。但是有时会有这样的情况,我们可以浏览器查看一个网页,但是却无法
    ping通,这是因为一些网站处于安全考虑安装了防火墙。另外,也可以在自己计算机上试一试,通过下面的方法使系统对ping没有反应:
    # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    netstat
    1.作用
    检查整个Linux网络状态。
    2.格式
    netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]
    3.主要参数
    -a--all:显示所有连线中的Socket。
    -A:列出该网络类型连线中的IP相关地址和网络类型。
    -c--continuous:持续列出网络状态。
    -C--cache:显示路由器配置的快取信息。
    -e--extend:显示网络其它相关信息。
    -F--fib:显示FIB。
    -g--groups:显示多重广播功能群组组员名单。
    -h--help:在线帮助。
    -i--interfaces:显示网络界面信息表单。
    -l--listening:显示监控中的服务器的Socket。
    -M--masquerade:显示伪装的网络连线。
    -n--numeric:直接使用IP地址,而不通过域名服务器。
    -N--netlink--symbolic:显示网络硬件外围设备的符号连接名称。
    -o--timers:显示计时器。
    -p--programs:显示正在使用Socket的程序识别码和程序名称。
    -r--route:显示Routing Table。
    -s--statistice:显示网络工作信息统计表。
    -t--tcp:显示TCP传输协议的连线状况。
    -u--udp:显示UDP传输协议的连线状况。
    -v--verbose:显示指令执行过程。
    -V--version:显示版本信息。
    -w--raw:显示RAW传输协议的连线状况。
    -x--unix:和指定“-A unix”参数相同。
    --ip--inet:和指定“-A inet”参数相同。
    4.应用实例
    netstat
    主要用于Linux察看自身的网络状况,如开启的端口、在为哪些用户服务,以及服务的状态等。此外,它还显示系统路由表、网络接口状态等。可以说,它是一
    个综合性的网络状态的察看工具。在默认情况下,netstat只显示已建立连接的端口。如果要显示处于监听状态的所有端口,使用-a参数即可:
    #netstat -a
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State
    tcp 0 0 *:32768 *:* LISTEN
    tcp 0 0 *:32769 *:* LISTEN
    tcp 0 0 *:nfs *:* LISTEN
    tcp 0 0 *:32770 *:* LISTEN
    tcp 0 0 *:868 *:* LISTEN
    tcp 0 0 *:617 *:* LISTEN
    tcp 0 0 *:mysql *:* LISTEN
    tcp 0 0 *:netbios-ssn *:* LISTEN
    tcp 0 0 *:sunrpc *:* LISTEN
    tcp 0 0 *:10000 *:* LISTEN
    tcp 0 0 *:http *:* LISTEN
    ......
    上面显示出,这台主机同时提供HTTP、FTP、NFS、MySQL等服务。
    telnet
    1.作用
    telnet表示开启终端机阶段作业,并登入远端主机。telnet是一个Linux命令,同时也是一个协议(远程登陆协议)。
    2.格式
    telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主机名称IP地址]
    3.主要参数
    -8:允许使用8位字符资料,包括输入与输出。
    -a:尝试自动登入远端系统。
    -b:使用别名指定远端主机名称。
    -c:不读取用户专属目录里的.telnetrc文件。
    -d:启动排错模式。
    -e:设置脱离字符。
    -E:滤除脱离字符。
    -f:此参数的效果和指定“-F”参数相同。
    -F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
    -k:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
    -K:不自动登入远端主机。
    -l:指定要登入远端主机的用户名称。
    -L:允许输出8位字符资料。
    -n:指定文件记录相关信息。
    -r:使用类似rlogin指令的用户界面。
    -S:服务类型,设置telnet连线所需的IP TOS信息。
    -x:假设主机有支持数据加密的功能,就使用它。
    -X:关闭指定的认证形态。
    4.应用说明

    户使用telnet命令可以进行远程登录,并在远程计算机之间进行通信。用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过
    telnet登录到远程计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑,要限制来宾的操作
    权限,因此,这种情况下能使用的功能是很少的。
    telnet只为普通终端提供终端仿真,而不支持X-
    Window等图形环境。当允许远程用户登录时,系统通常把这些用户放在一个受限制的Shell中,以防系统被怀有恶意的或不小心的用户破坏。用户还可以
    使用telnet从远程站点登录到自己的计算机上,检查电子邮件、编辑文件和运行程序,就像在本地登录一样。
    ftp
    1.作用
    ftp命令进行远程文件传输。FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身,所以ftp既是协议又是一个命令。
    2.格式
    ftp [-dignv][主机名称IP地址]
    3.主要参数
    -d:详细显示指令执行过程,便于排错分析程序执行的情形。
    -i:关闭互动模式,不询问任何问题。
    -g:关闭本地主机文件名称支持特殊字符的扩充特性。
    -n:不使用自动登陆。
    -v:显示指令执行过程。
    4.应用说明
    ftp
    命令是标准的文件传输协议的用户接口,是在TCP/IP网络计算机之间传输文件简单有效的方法,它允许用户传输ASCⅡ文件和二进制文件。为了使用ftp
    来传输文件,用户必须知道远程计算机上的合法用户名和口令。这个用户名/口令的组合用来确认ftp会话,并用来确定用户对要传输的文件进行什么样的访问。
    另外,用户需要知道对其进行ftp会话的计算机名字的IP地址。
    用户可以通过使用ftp客户程序,连接到另一台计算机上;可以在目录中上下移动、列出目录内容;可以把文件从远程计算机机拷贝到本地机上;还可以把文件从本地机传输到远程系统中。ftp内部命令有72个,下面列出主要几个内部命令:
    ls:列出远程机的当前目录。
    cd:在远程机上改变工作目录。
    lcd:在本地机上改变工作目录。
    close:终止当前的ftp会话。
    hash:每次传输完数据缓冲区中的数据后就显示一个#号。
    get(mget):从远程机传送指定文件到本地机。
    put(mput):从本地机传送指定文件到远程机。
    quit:断开与远程机的连接,并退出ftp。
    route
    1.作用
    route表示手工产生、修改和查看路由表。
    2.格式
    #route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]
    #route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]
    3.主要参数
    -add:增加路由。
    -delete:删除路由。
    -net:路由到达的是一个网络,而不是一台主机。
    -host:路由到达的是一台主机。
    -netmask Nm:指定路由的子网掩码。
    gw:指定路由的网关。
    [dev]If:强迫路由链指定接口。
    4.应用实例
    route命令是用来查看和设置Linux系统的路由信息,以实现与其它网络的通信。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
    在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。使用下面命令可以增加一个默认路由:
    route add 0.0.0.0 192.168.1.1
    rlogin
    1.作用
    rlogin用来进行远程注册。
    2.格式
    rlogin [ -8EKLdx ] [ -e char ] [-k realm ] [ - l username ] host
    3.主要参数
    -8:此选项始终允许8位输入数据通道。该选项允许发送格式化的ANSI字符和其它的特殊代码。如果不用这个选项,除非远端的不是终止和启动字符,否则就去掉奇偶校验位。
    -E:停止把任何字符当作转义字符。当和-8选项一起使用时,它提供一个完全的透明连接。
    -K:关闭所有的Kerberos确认。只有与使用Kerberos 确认协议的主机连接时才使用这个选项。
    -L:允许rlogin会话在litout模式中运行。要了解更多信息,请查阅tty联机帮助。
    -d:打开与远程主机进行通信的TCP sockets的socket调试。要了解更多信息,请查阅setsockopt的联机帮助。
    -e:为rlogin会话设置转义字符,默认的转义字符是“~”。
    -k:请求rlogin获得在指定区域内远程主机的Kerberos许可,而不是获得由krb_realmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。
    -x:为所有通过rlogin会话传送的数据打开DES加密。这会影响响应时间和CPU利用率,但是可以提高安全性。
    4.使用说明
    如果在网络中的不同系统上都有账号,或者可以访问别人在另一个系统上的账号,那么要访问别的系统中的账号,首先就要注册到系统中,接着通过网络远程注册到账号所在的系统中。rlogin可以远程注册到别的系统中,它的参数应是一个系统名。
    rcp
    1.作用
    rcp代表远程文件拷贝,用于计算机之间文件拷贝,使用权限是所有用户。
    2.格式
    rcp [-px] [-k realm] file1 file2 rcp [-px] [-r] [-k realm] file
    3.主要参数
    -r:递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是一个目录。
    -p:试图保留源文件的修改时间和模式,忽略umask。
    -k:请求rcp获得在指定区域内的远程主机的Kerberos许可,而不是获得由krb_relmofhost(3)确定的远程主机区域内的远程主机的Kerberos许可。
    -x:为传送的所有数据打开DES加密。
    finger
    1.作用
    finger用来查询一台主机上的登录账号的信息,通常会显示用户名、主目录、停滞时间、登录时间、登录Shell等信息,使用权限为所有用户。
    2.格式
    finger [选项] [使用者] [用户@主机]
    3.主要参数
    -s:显示用户注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。
    -l:除了用-s选项显示的信息外,还显示用户主目录、登录Shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容。
    -p:除了不显示.plan文件和.project文件以外,与-l选项相同。
    4.应用实例
    在计算机上使用finger:
    [root@localhost root]# Finger
    Login Name Tty Idle Login Time Office Office Phone
    root root tty1 2 Dec 15 11
    root root pts/0 1 Dec 15 11
    root root *pts/1 Dec 15 11
    5.应用说明
    如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程的支持。
281/212>
Open Toolbar