感悟生活,感受茶文化

发布新日志

  • LoadRunner视频教学

    2008-05-20 19:59:17

    最近录制了一些LoadRunner性能测试的视频,讲述了一个性能测试的基本流程,希望对初学者有帮助,另欢迎高手拍砖,一起进步!

    下载地址:http://www.jobedu.com.cn/shipin/video.html中的软件测试相关视频教程

    PS:本人声音不够甜美,见谅!播放最好用暴风影音。

    如有问题,可在http://www.v512.com/bbs/index.php中的软件测试频道给我留言。

  • 欢迎大家访问我的论坛!!

    2008-05-16 14:44:16

    欢迎大家访问V512软件测试频道,我将与大家一起学习,一起进步!

      在软件测试工作学习中,我们可能会遇到各种各样的问题,我们该如何解决、如何处理?在这里,我们提供了一个网络

    互助的平台,大家遇到的难题、不解,都将会在这里得到答案,虽然不能说百分百的解决问题,但我会尽最大的努力去帮

    助大家,与大家共成长!

      我拥有多年的软件测试经验,功能测试、性能测试都有些研究,希望我的经验与知识能服务于软件测试界的同行。大家

    提的问题,我每天都会看,并给予解答。

    近期我将推出LoadRunner性能测试的视频,请大家关注,呵呵。

     

    网址:http://www.v512.com/bbs/index.php 中的软件测试频道!

  • [论坛] 《软件性能测试过程详解与案例剖析》PDF电子版

    2008-03-13 16:03:58

    花了两个小时的时间,拍照,制作,终于完成,感谢段念前辈的书,制作此仅为共享学习资料,望各位不要拿去了再卖,本人坚决鄙视。

    另:如果确实喜欢该书,可购买实物,谢谢!

    软件性能测试过程详解与案例剖析.part01.rar
    (2008-03-13 15:25:59, Size: 1.91 MB, Downloads: 8)


    软件性能测试过程详解与案例剖析.part02.rar
    (2008-03-13 15:25:59, Size: 1.91 MB, Downloads: 8)

  • FC5中配置TOMCAT+JDK

    2008-01-24 21:35:58

    避免忘记配置方式,记录下来:

    安装好FC5后,配置好网络,下载好必备软件:jdk-1_5_0_06-linux-i586.bin ,apache-tomcat-5.5.25.tar.gz

    一、JDK安装

    1、通过ssh将JDK上传到FC5的/opt目录下;

    2、 #chmod 755 jdk-1_5_0_06-linux-i586.bin  (root帐号登录,修改jdk文件执行权限)

    3、 # ls –l  (检查权限是否更改正确)

    4、 #./jdk-1_5_0_06-linux-i586.bin  (解压安装文件)

    5、# cd /opt   (检查解压是否成功,如成功应有jdk1.5.0_06目录)

       # mv jdk1.5.0_06 jdk  (将jdk1.5.0_06重命名为jdk)

    6、# cd /root   (退到root目录下,为root)

    7、# vi .bashrc (编辑bashrc文件)添加下面信息:
       export JAVA_HOME=/opt/jdk (实际jdk解压安装路径)
       export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH  (必须将$PATH放在后面,否则无法改变FC5自带的jdk1.4的版本)
       export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
       退出vi编辑模式,输入:wq保存,
       # source .bashrc

    8、如果为所有用户设定环境变量,则进行如下操作:
    在etc/profile.d文件夹下建立java.sh文件内容如下
    # vi java.sh
    export JAVA_HOME=/opt/jdk
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    #source /etc/profile.d/java.sh
    # java 看是否有java的帮助提示
    # java -version

    如果跟你安装的版本相符合的话,那就成功了,

    9、测试安装是否成功:
    # vi /home/HelloWorld.java  (在home目录下创建HelloWorld.java文件),代码如下:
     public class HelloWorld {
     public static void main(String args[])
       {
       System.out.println("JAVA OK!") ;
      }
    }

    [root@localhost home]# javac HelloWorld.java
    [root@localhost home]# java HelloWorld
    JAVA OK!

    至此,JDK安装完毕!

    二、TOMCAT安装

    1、通过ssh将JDK上传到FC5的/opt目录下;

    2、# tar -zvxf apache-tomcat-5.5.25.tar.gz

    3、# ls   (检查解压是否成功)

    4、# mv apache-tomcat-5.5.25 tomcat  (将apache-tomcat-5.5.25重命名为tomcat)

    5、# userdel tomcat  (删除系统中已有的tomcat用户)

    6、# useradd tomcat   (增加tomcat用户)

    7、# passwd tomcat  (设置密码)

    8、#  vi /etc/profile.d/java.sh
    # set java environment
    # jdk environment
    export JAVA_HOME=/opt/jdk
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    #tomcat environment
    export CATALINA_BASE=/opt/tomcat
    export CATALINA_HOME=/opt/tomcat
    最后的结果如上所示。
    检查一下环境变量是否正确:
    [root@localhost profile.d]# source java.sh
    [root@localhost profile.d]# echo $JAVA_HOME
    /opt/jdk
    [root@localhost profile.d]# echo $CATALINA_HOME
    /opt/tomcat
    如果显示都正确的话,则环境变量设置OK。

    9、  #vi /root/tomcat.sh   (创建tomcat启动文件)
    # tomcat start file
    SROOT=/opt/tomcat
    TOMCAT_OWNER=tomcat
    case "$1" in

            start)

            su - $TOMCAT_OWNER -c "$SROOT/bin/startup.sh"
            ;;
            stop)
            su - $TOMCAT_OWNER -c "$SROOT/bin/shutdown.sh"
            ;;
            *)
            echo 'Usage:resin {start|stop}';;
    esac
    exit 0

    10、#chmod 755 /root/tomcat.sh (修改tomcat.sh执行权限)

    11、# chgrp –R tomcat /opt/ tomcat/       # chown –R tomcat /opt/tomcat/  (修改tomcat用户对/opt/tomcat执行权限)

    12、 # ./tomcat.sh start (root用户在root目录下执行该命令,启动tomcat)

    #  ./tomcat.sh stop  (root用户停止tomcat服务)

    当然也可用tomcat用户启动服务,需进入/opt/tomcat/bin执行./startup.sh 或./shutdown.sh

    13、验证结果:在xp系统上访问http://192.168.0.104:8080,其中192.168.0.104为FC5系统的ip地址,如果能够出现tomcat的首页。

    也可编写一个简单的jsp放在/opt/tomcat/webapps下,验证能否访问。

     

  • RedHat9,Fedora Core5中安装VMware tools

    2008-01-24 16:01:53

    因学习需要,在VMware中安装了redhat与fc5,装完后发现界面不太美观,而且鼠标移动有拖影现象,于是考虑安装vmware tools,搞了两天才弄好,写下,记下,免得日后再忘记。

    软件版本:vmware workstation 5.5.3 build-34685 (多特有下载)

    RedHat: 9.0

    Fedora Core:5

    Redhat:

    在redhat下安装比较简单,VMware虚拟机的菜单中点击:虚拟机->安装VMware 工具->install,然后进入文本界面(在redhat图形界面中按ctrl+shift+alt+F1),执行下列命令

    1、mount /dev/cdrom /mnt/   (挂在光驱,也就是获得vmware tools安装文件)2、

    2、tar -C /tmp -zxvf /mnt/VMwareTools-5.5.1-19175.tar.gz   (将vmware tools解压到/tmp目录下)

    3、umount /mnt   (卸载虚拟光驱)

    4、cd /tmp/vmware-tools-distrib    (进入vmware tools目录)

    5、./vmware-install.pl    (安装,一路回车,最后可能让你选分辨率什么的,选3,1024×768)

    6、reboot   (重启搞定!)

    注:文本界面进入图形界面按alt+F7。

    FC5:

    fc5的vmware tools安装比较麻烦,涉及到内核的问题,所以复杂一点,查了一下网上的资料,好半天才搞定。方法如下:

    1、yum install gcc kernel-devel   (安装内核以及gcc)

    2、uname -r             (运行内核,查看内核版本)

    3、rpm -q kernel-devel  (查看内核头文件)

    4、yum -y upgrade kernel kernel-devel  (假如内核与内核头文件的版本不一致,则需运行此命令)

    5、reboot  (安装完毕后,重启)

    6、ls -d /usr/src/kernels/$(uname -r)*/include(查看一下头文件位置,安装vmware tools时需要)

    7、mount /dev/cdrom /mnt/   (挂在光驱,也就是获得vmware tools安装文件)2、

    8、tar -C /tmp -zxvf /mnt/VMwareTools-5.5.1-19175.tar.gz   (将vmware tools解压到/tmp目录下)

    9、umount /mnt   (卸载虚拟光驱)

    10、cd /tmp/vmware-tools-distrib    (进入vmware tools目录)

    11、./vmware-install.pl    (安装,一路回车,最后可能让你选分辨率什么的,选3,1024×768)

    12、reboot   (重启搞定!)

    注:fc5必须连上网络,否则无法安装。

    以上是安装过程,整合了网上朋友的方法:

    参考贴如下:

    http://www.thoughtpolice.co.uk/vmware/howto/fedora-core-5-vmware-tools-install.html

  • 如今的软件测试侧重点在哪里?

    2008-01-09 22:14:42

    通过与几个同学的沟通,发现在大多数企业、公司的面试题里多数是编程方法,由此看来,在软件测试发展的后期,编程能力对软件测试的发展起着重要的作用。

    记得以前面试的时候,无非就是一些测试理论,sql语句,再加上工具方面,还可能有些简单的编程题与英文翻译的,现在的面试却整篇多是编程方面的,这样可能软件测试的门槛变高了,不知道是好是坏呢。

    看来今后得多多努力学习编程了,提高自己的竞争力!大家共勉啊!

  • 发现不能使用ip欺骗功能的一个原因!

    2008-01-06 21:59:49

    最近在使用ip欺骗的时候,在设计好场景后,一运行就报错,说某某服务器连接不上。查了不少资料,ip欺骗的步骤一步都没错,也不知道哪里出了问题。后来无意关了卡巴斯基,关闭后,居然能使用了,加了在日志里输出ip检查,最终也正确了。以前使用的时候,系统装的瑞星,是可以使用ip欺骗的。所以就没考虑到杀毒软件,折腾了我一个多小时。

    大家在用ip欺骗功能的过程中,如果不成功,记得关注一下防火墙,或者杀毒软件哈。

  • 讨论:loadrunner脚本录制的问题

    2008-01-04 23:51:48

    大家好!

    在实际脚本录制过程中,碰到一个问题,就是在录制每一个action的时候,页面左下角有时候不是完毕状态,如果在此时进行action的切换或者下一个业务操作,对最终的脚本回放是否有影响?我之前一直都是等ie的状态变为“完毕”后,才进行action的切换或下一个业务操作的。

    正确的做法是什么呢?
    如果有影响,影响在哪里呢?

  • 在项目时间紧,任务重的时候,如何保证测试用例的质量?

    2007-12-28 23:02:18

    沉寂了很久,个人空间重新开张,希望各位好友,网友前来交流,不限于软件测试,呵呵。

    我想每周提出一个话题,都是针对软件测试的,希望大家踊跃发言讨论,在解决我的问题时,也能帮助其他测友。

    OK,本次话题是:

    在项目时间紧,任务重的时候,如何保证测试用例的质量?

    有朋友在面试的过程中,遇到了这样一个问题,面试官问他在项目时间紧,任务重的时候,如何保证测试用例的质量。我给他的回答有以下几点:

    1、根据自身测试用例的设计能力保证;

    2、根据项目测试组内的用例评审来保证;

    3、根据项目需求的优先级别设计用例,以提高测试用例的质量。

    不知大家有何看法?

     

  • 转:如何学习Oracle-eygle的方法经验谈

    2007-04-27 15:57:38

    作者:eygle 发表于 2005-08-08 09:40 最后更新于 2006-12-11 12:14 | English Version English Version
    版权声明:转载时请务必以超链接形式标明文章和作者信息及本声明

    很多朋友经常问起学习Oracle的方法,在这里我把写在《Oracle数据库性能优化》一书前面的话贴在这里,供大家参考!
    ----------------------------------------------------------   经常有朋友会问,应该如何学习Oracle,怎样才能快速提高?我把自己的一点心得写在这里,供大家参考。
       其实学习任何东西都是一样,没有太多的捷径可走,必须打好了坚实的基础,才有可以在进一步学习中得到快速提高。
    王国维在他的《人间词话》中曾经概括了为学的三种境界,我在这里套用一下:
    古今之成大事业、大学问者,罔不经过三种之境界。
    “昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。
    “衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。
    “众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。
      学习Oracle,这也是你必须经历的三种境界。
      第一层境界是说,学习的路是漫漫的,你必须做好充分的思想准备,如果半途而废还不如不要开始。这里,注意一个"尽"字,在开始学习的过程中,你必须充分阅读Oracle的基础文档,概念手册、管理手册、备份恢复手册等(这些你都可以在http://tahiti.oracle.com 上找到);OCP认证的教材也值得仔细阅读。打好基础之后你才具备了进一步提升的能力,万丈高楼都是由地而起。
      第二层境界是说,尽管经历挫折、打击、灰心、沮丧,也都要坚持不放弃,具备了基础知识之后,你可以对自己感兴趣或者工作中遇到的问题进行深入的思考,由浅入深从来都不是轻而易举的,甚至很多时候你会感到自己停滞不前了,但是不要动摇,学习及理解上的突破也需要时间。
      第三次境界是说,经历了那么多努力以后,你会发现,那苦苦思考的问题,那百思不得其解的算法原理,原来答案就在手边,你的思路豁然开朗,宛如拨云见月。这个时候,学习对你来说,不再是个难题,也许是种享受,也许成为艺术。
      所以如果你想问我如何速成,那我是没有答案的。
      不经一番寒彻骨,哪得梅花扑鼻香。
      当然这三种境界在实际中也许是交叉的,在不断的学习中,不断有蓦然回首的收获。
       我自己在学习的过程中,经常是采用"由点及面法"。
       当遇到一个问题后,一定是深入下去,穷究根本,这样你会发现,一个简单的问题也必定会带起一大片的知识点,如果你能对很多问题进行深入思考和研究,那么在深处,你会发现,这些面逐渐接合,慢慢的延伸到oracle的所有层面,逐渐的你就能融会贯通。这时候,你会主动的去尝试全面学习Oracle,扫除你的知识盲点,学习已经成为一种需要。
      由实践触发的学习才最有针对性,才更能让你深入的理解书本上的知识,正所谓:“纸上得来终觉浅,绝知此事要躬行”。实践的经验于我们是至为宝贵的。
      如果说有,那么这,就是我的捷径。
      想想自己,经常是"每有所获,便欣然忘食",兴趣才是我们最好的老师。
      Oracle的优化是一门学问,也是一门艺术,理解透彻了,你会知道,优化不过是在各种条件之下做出的均衡与折中。
    内存、外存;CPU、IO...对这一切你都需要有充分的认识和相当的了解,管理数据库所需要的知识并不单纯。
      作为一个数据库管理人员,你需要做的就是能够根据自己的知识以及经验在各种复杂情况下做出快速正确的判断。当问题出现时,你需要知道使用怎样的手段发现问题的根本;找到问题之后,你需要运用你的知识找到解决问题的方法。
      这当然并不容易,举重若轻还是举轻若重,取决于你具备怎样的基础以及经验积累。
      在网络上,Howard J. Rogers最近创造了一个新词组:Voodoo Tuning,用以形容那些没有及时更新自己的知识技能的所谓的Oracle技术专家。由于知识的陈旧或者理解的肤浅,他们提供的很多调整建议是错误的、容易使人误解的,甚至是荒诞的。他们提供的某些建议在有些情况下也许是正确的,如果你愿意回到Oracle5版或者6版的年代;但是这些建议在Oracle7.0,8.0 或者 Oracle8i以后往往是完全错误的。
      后来基于类似问题触发了互联网内Oracle顶级高手的一系列深入讨论,TOM、Jonathan Lewis、HJR等人都参与其中,在我的网站上( www.eygle.com )上对这些内容及相关链接作了简要介绍,有兴趣的可以参考。
      HJR给我们提了很好的一个提示:对你所需要调整的内容,你必须具有充分的认识,否则你做出的判断就有可能是错误的。
      这也是我想给自己和大家的一个建议:学习和研究Oracle,严谨和认真必不可少。当然你还需要勤奋,我所熟悉的在Oracle领域有所成就的技术人员,他们共同的特点就是勤奋。如果你觉得掌握的东西没有别人多,那么也许就是因为,你不如别人勤奋。
      要是你觉得这一切过于复杂了,那我还有一句简单的话送给大家:不积跬步,无以至千里。学习正是在逐渐积累过程中的提高。
      现在Itpub给我们提供了很好的交流场所,很多问题都可以在这里找到答案,互相讨论,互相学习。这是我们的幸运,我也因此非常感谢这个网络时代。
      Itpub的第二本书即将出版,谨以此祝愿Itpub越来越好,也愿我们的书能给大家带来知识和帮助。
    - Eygle 2005-03-09 于北京
  • 讨论:如何进行BUG的绩效考核?

    2007-04-04 14:41:43

      大家好,小弟碰到难题,老大要求对各个研发组进行排名,其中有种排名方法是用BUG进行考核,大概意思是通过BUG的趋势,反映出个研发组在项目实施过程中的工作质量。他仅给出了方向,但没有给出具体办法,需要我写出具体的考核方法。

      目前我们是用TestDirector进行bug的管理,当中也有一些字段可以利用,但我现在没有一个比较好的思路。望大家踊跃发言,帮忙考虑一下,谢谢大家。

  • linux权限管理

    2007-03-07 16:20:45

    配置cvs服务器,一直对linux下用户权限管理有点迷糊,今天看了这篇文章,突然弄明白了如何设置权限。

    转文章

    linux文件属性 chown chgrp用法

                                          

    Linux 檔案屬性


    嗯!既然要讓你瞭解 Linux 的檔案屬性,那麼有個重要的也是常用的指令就必須要先跟你說囉!那一個?!就是『 ls 』這一個 list 檔案的指令囉!在你以 root 的身份登入 Linux 之後,下達『ls -al 』看看,會看到底下的幾個咚咚:
    [root@linux ~]# ls -al
    total 248
    drwxr-x---   9   root    root    4096    Jul 11 14:58    .
    drwxr-xr-x  24   root    root    4096    Jul  9 17:25    ..
    -rw-------   1   root    root    1491    Jun 25 08:53    anaconda-ks.cfg
    -rw-------   1   root    root   13823    Jul 10 23:12    .bash_history
    -rw-r--r--   1   root    root      24    Dec  4  2004    .bash_logout
    -rw-r--r--   1   root    root     191    Dec  4  2004    .bash_profile
    -rw-r--r--   1   root    root     395    Jul  4 11:45    .bashrc
    -rw-r--r--   1   root    root     100    Dec  4  2004    .cshrc
    drwx------   3   root    root    4096    Jun 25 08:35    .ssh
    -rw-r--r--   1   root    root   68495    Jun 25 08:53    install.log
    -rw-r--r--   1   root    root    5976    Jun 25 08:53    install.log.syslog
    [    1   ][ 2  ][  3   ][  4 ][    5   ][      6     ][       7          ][  屬性  ][連結][擁有者][群組][檔案容量][  修改日期  ][      檔名        ]

    ls 是『list』的意思,與在早期的 DOS 年代的指令 dir 類似功能。 而參數『-al』則表示列出所有的檔案 ( 包含隱藏檔,就是檔名前面第一個字元為 . 的那種檔案 ) 。如上所示,在你第一次以 root 身份登入 Linux 時,如果你輸入指令後,應該有上列的幾個東西, 先解釋一下上面七個欄位個別的意思:



    圖二、檔案屬性的示意圖


    第一欄代表這個檔案的屬性: 這個地方最需要注意了!仔細看的話,你應該可以發現這一欄其實共有十個屬性:


    圖三、檔案的十個屬性內容


    第一個屬性代表這個檔案是『目錄、檔案或連結檔等等』:
    當為[ d ]則是目錄,例如上表的第 11 行;
    當為[ - ]則是檔案,例如上表的第 5 行;
    若是[ l ]則表示為連結檔(link file);
    若是[ b ]則表示為裝置檔裡面的可供儲存的周邊設備;
    若是[ c ]則表示為裝置檔裡面的序列埠設備,例如鍵盤、滑鼠。


    接下來的屬性中,三個為一組,且均為『rwx』 的三個參數的組合。其中,[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執行(excute):
    第一組為『擁有人的權限』,以第 5 行為例,該檔案的擁有人可以讀寫,但不可執行;
    第二組為『同群組的權限』;
    第三組為『其他非本群組的權限』。

    範例:若有一個檔案的屬性為『-rwxr-xr--』,簡單的可由下面說明之:

    [-][rwx][r-x][r--]
    1  234  567  890
         1 為:代表這個檔名為目錄或檔案(上面為檔案)
        234為:擁有人的權限(上面為可讀、可寫、可執行)
        567為:同群組使用者權限(上面為可讀可執行)
        890為:其他使用者權限(上面為僅可讀)
    上面的屬性情況代表一個檔案、這個檔案的擁有人可讀可寫可執行、但同群組的人僅可讀與執行, 非同群組的使用者僅可讀的意思!

    除此之外,需要特別留意的是 x 這個標號! 若檔名為一個目錄的時候,例如上表中的 .ssh 這個目錄:

    drwx------   3   root    root    4096    Jun 25 08:35    .ssh



    可以看到這是一個目錄,而且只有 root 可以讀寫與執行。但是若為底下的樣式時,請問非 root 的其他人是否可以進入該目錄呢?

    drwxr--r--   3   root    root    4096    Jun 25 08:35    .ssh



    咦!似乎好像是可以喔!因為有可讀[ r ]存在嘛!『錯!』答案是非 root 這個帳號的其他使用者均不可進入 .ssh 這個目錄,為什麼呢? 因為 x 與 目錄 的關係相當的重要, 如果您在該目錄底下不能執行任何指令的話,那麼自然也就無法進入了,因此, 請特別留意的是,如果您想要開放某個目錄讓一些人進來的話, 請記得將該目錄的 x 屬性給開放呦!至於目錄的權限相關說明, 我們會在底下繼續介紹的。

    另外,你也必須要更加的小心的是,在 Windows 底下一個檔案是否具有執行的能力是藉由『 附檔名 』來判斷的, 例如:.exe, .bat, .com 等等,但是在 Linux 底下, 我們的檔案是否能執行,則是藉由是否具有 x 這個屬性來決定的!所以,跟檔名是沒有絕對的關係的! 這點還請特別留意呢!稍後我們還會針對目錄來稍作說明的

    2.     第二欄表示為連結佔用的節點 (i-node): 這個跟連結檔 (link file) 比較有關係,我們在未來的章節會再加以介紹的。 如果是目錄的話,那麼就與該目錄下還有多少目錄有關。

    3.     第三欄表示這個檔案(或目錄)的『擁有人』。

    4.     第四欄表示擁有人的群組。
    這裡再次解釋一下,在 Linux 中,你的 ID ( 如 root 或 test 等帳號均是所謂的 ID ) 即是你的身份,而且你還可以附屬在一個或多個群組之下,例如剛剛我們上面提到的,你有一個團體 ( 即群組 ) 代號為 testgroup ,且這個群體裡有三個人,其代號分別是 test1, test2, 與 test3,則這三個人為同一群組即 testgroup!那麼如果以上圖的的檔案屬性(-rwxrwx---) 來看,如果該檔案屬於 test1 所有,那麼 test2, test3 亦有讀、寫、執行的權力,因為他們都屬於同一個 group 呀!而如果您不是屬於 test1, test2, test3 的任何一個人,也不屬於 testgroup 這個群組時,那麼您將不具備讀、寫、執行這個檔案的權限了!

    5.     第五欄為這個檔案的容量大小。

    6.     第六欄為這個檔案的建檔日期或者是最近的修改日期, 分別為月份、日期及時間。請特別留意,如果您是以繁體中文來進行安裝您的 Linux 時,那麼預設的語系可能會被改為中文。而 由於中文無法顯示在文字型態的終端機上面, 所以這一欄會成為怪怪的亂碼,這個時候,請修改一下 /etc/sysconfig/i18n 這個檔案,裡面的『 LC_TIME 』修改為:『 LC_TIME=en 』再儲存離開,再登入一次,就可以得到英文字形顯示的日期了! 那麼如何修改該檔案呢?呵呵!以 root 身份用 vi 修改。 另外,也可以使用『 LANG=en ls -al 』之類的語法來顯示。

    7.     第七欄為這個檔案的檔名, 如果檔名之前多一個『 . 』,則代表這個檔案為『隱藏檔』, 例如上表第 6 行的『.bashrc_history』檔名即是隱藏檔,由於我們有下一個參數為 ls -al,所以連隱藏檔都列出來,如果你只輸入 ls 則檔名有加『 . 』的檔案就不會被顯示出來!

    如何改變檔案權限

    好了,我們已經知道檔案權限對於一個系統的安全重要性了,也知道檔案的權限對於使用者與群組的相關性了, 好了,那麼如何修改一個檔案的權限呢?又!有多少檔案的權限我們可以修改呢? 其實一個檔案的權限很多嘛!大致上我們先介紹幾個簡單的,例如:群組、擁有者、各種身份的權限等等。

    chgrp :改變檔案所屬群組
    chown :改變檔案所屬人
    chmod :改變檔案的屬性、 SUID 、等等的特性

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

    ·  改變所屬群組, chgrp

    改變一個檔案的群組真是很簡單的,直接以 chgrp 來改變即可,咦!這個指令就是 change group 的縮寫嘛!對啦!這樣就很好記了吧! ^_^。不過,請記得, 要改變成為的群組名稱必須要在 /etc/group 裡面存在的名稱才行,否則就會顯示錯誤!

    假設您是以 root 的身份登入 FC4 ,那麼在您的家目錄內有一個 install.log 的檔案, 如何將該檔案的群組改變一下呢?假設您已經知道在 /etc/group 裡面已經存在一個名為 users 的群組,但是 testing 這個群組名字就不存在 /etc/group 當中了, 此時改變群組成為 users 與 testing 會有什麼現象發生呢?

    [root@linux ~]# chgrp [-R] dirname/filename ...
    參數:
    -R : 進行遞迴( recursive )的持續變更,亦即連同次目錄下的所有檔案、目錄
         都更新成為這個群組之意。常常用在變更某一目錄的情況。
    範例:
    [root@linux ~]# chgrp users install.log
    [root@linux ~]# ls -l
    -rw-r--r--  1 root users 68495 Jun 25 08:53 install.log
    [root@linux ~]# chgrp testing install.log
    chgrp: invalid group name `testing' <== 發生錯誤訊息囉~找不到這個群組名~


    發現了嗎?檔案的群組被改成 users 了,但是要改成 testing 的時候, 就會發生錯誤~注意喔!發生錯誤訊息還是要努力的查一查錯誤訊息的內容才好!


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

    ·  改變檔案擁有者, chown

    好了,那麼如何改變一個檔案的擁有者呢?很簡單呀!既然改變群組是 change group ,那麼改變擁有者就是 change owner 囉!BINGO,對啦!那就是 chown 這個指令的用途,要注意的是,使用者必須是已經存在系統中的,也就是在 /etc/passwd 這個檔案中有紀錄的使用者名稱才行改變。

    chown 的用途還滿多的,他還可以順便直接修改群組的名稱呢!此外, 如果要連目錄下的所有次目錄或檔案同時更改檔案擁有者的話,直接加上 -R 的參數即可!我們來看看語法與範例:

    [root@linux ~]# chown [-R] 帳號名稱 檔案或目錄
    [root@linux ~]# chown [-R] 帳號名稱:群組名稱 檔案或目錄
    參數:
    -R : 進行遞迴( recursive )的持續變更,亦即連同次目錄下的所有檔案、目錄
         都更新成為這個群組之意。常常用在變更某一目錄的情況。
    範例:
    [root@linux ~]# chown bin install.log
    [root@linux ~]# ls -l
    -rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log
    [root@linux ~]# chown root:root install.log
    [root@linux ~]# ls -l
    -rw-r--r--  1 root root 68495 Jun 25 08:53 install.log


    嗯!知道如何改變檔案的群組與擁有者了,那麼什麼時候要使用 chown 或 chgrp 呢?!或許您會覺得奇怪吧?!是的,確實有時候需要變更檔案的擁有者的, 最常見的例子就是在 copy 檔案給你之外的其他人時,假設您今天要將 .bashrc 這個檔案拷貝成為 .bashrc_test ,且是要給 bin 這個人,您可以這樣做:

    [root@linux ~]# cp .bashrc .bashrc_test
    [root@linux ~]# ls -al .bashrc*
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    -rw-r--r--  1 root root 395 Jul 13 11:31 .bashrc_test


    哇!怎麼辦? .bashrc_test 還是屬於 root 所有,如此一來,即使你將檔案拿給 bin 這個使用者了,那他仍然無法修改的( 看屬性就知道了吧! ), 所以你就必須要將這個檔案的擁有者與群組修改一下囉!知道如何修改了吧!?呵呵!


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

    ·  改變九個屬性, chmod

    檔案屬性的改變使用的是 chmod 這個指令,但是,屬性的設定方法有兩種, 分別可以使用數字或者是符號來進行屬性的變更。我們就來談一談:

    ·  數字類型改變檔案權限

    Linux 檔案的基本屬性就有九個,分別是 owner/group/others 組別的 read/write/excute 屬性, 先複習一下剛剛上面提到的資料:

    -rwxrwxrwx

    這九個屬性是三個三個一組的!其中,我們可以使用數字來代表各個屬性,各屬性的對照表如下:

    r:4
    w:2
    x:1

    同一組 (owner/group/others) 的三個屬性 (r/w/x) 是需要累加的,例如當屬性為 [-rwxrwx---] 則是:

    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= --- = 0+0+0 = 0

    所以等一下我們設定屬性的變更時,該屬性的數字就是 770 啦!變更屬性的指令 chmod 的語法是這樣的:

    [root@linux ~]# chmod [-R] xyz 檔案或目錄
    參數:
    xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
    -R : 進行遞迴( recursive )的持續變更,亦即連同次目錄下的所有檔案、目錄
         都更新成為這個群組之意。常常用在變更某一目錄的情況。


    舉例來說,如果要將 .bashrc 這個檔案所有的屬性都打開,那麼就下達:

    [root@linux ~]# ls -al .bashrc
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    [root@linux ~]# chmod 777 .bashrc
    [root@linux ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc


    看到了嗎?屬性改變了喔!由於一個檔案有三組屬性,所以你可以發現上面 777 為三組,而由於我們將所有的屬性都打開,所以數字都相加,亦即『 r+w+x = 4+2+1 = 7』

    那如果要將屬性變成『 -rwxr-xr-- 』呢?那麼就成為 [4+2+1][4+0+1][4+0+0]=754 囉!所以你需要下達 chmod 754 filename。 最常發生的一個問題就是,常常我們以 vi 編輯一個 shell 的文字檔後,他的屬性通常是 -rw-rw-rw- 也就是 666 的屬性,如果要將他變成可執行檔,並且不要讓其他人修改此一檔案的話, 那麼就需要 -rwxr-xr-x 這一個 755 的屬性,所以 chmod 755 test.sh 就需要這樣做囉!

    另外,有些檔案你不希望被其他人看到,例如 -rwxr-----,那麼就下達 chmod 740 filename 吧!

    例題三:將剛剛您的 .bashrc 這個檔案的屬性改回原來的 -rw-r--r--
    答:

    chmod 644 .bashrc




    ·  符號類型改變檔案權限

    還有一個改變屬性的方法呦!從之前的介紹中我們可以發現,基本上就九個屬性分別是(1)user (2)group (3)others 三群啦!那麼我們就可以藉由 u, g, o 來代表三群的屬性!此外, a 則代表 all 亦即全部的三群!那麼讀寫的屬性就可以寫成了 r, w, x 囉!也就是可以使用底下的方式來看:

    chmod
    u
    g
    o
    a
    +(加入)
    -(除去)
    =(設定)
    r
    w
    x
    檔案或目錄



    來實作一下吧!假如我們要『設定』一個檔案的屬性為『-rwxr-xr-x』時,基本上就是:

    user (u):具有可讀、可寫、可執行的權限;
    group 與 others (g/o):具有可讀與執行的權限。
    所以就是:

    [root@linux ~]# chmod  u=rwx,go=rx  .bashrc
    # 注意喔!那個 u=rwx,go=rx 是連在一起的,中間並沒有任何空白字元!
    [root@linux ~]# ls -al .bashrc
    -rwxr-xr-x  1 root root 395 Jul  4 11:45 .bashrc


    請注意, u=rwx,og=rx 這一段文字之間並沒有空白字元隔開呦!不要搞錯囉! 那麼假如是『 -rwxr-xr-- 』?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設定。此外,如果我不知道原先的檔案屬性,而我只想要增加 .bashrc 這個檔案的每個人均可寫入的權限,那麼我就可以使用:

    [root@linux ~]# ls -al .bashrc
    -rwxr-xr-x  1 root root 395 Jul  4 11:45 .bashrc
    [root@linux ~]# chmod  a+w  .bashrc
    [root@linux ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc


    而如果是要將屬性去掉而不更動其他的屬性呢?!例如要拿掉所有人的 x 的屬性,則:

    [root@linux ~]# chmod  a-x  .bashrc
    [root@linux ~]# ls -al .bashrc
    -rw-rw-rw-  1 root root 395 Jul  4 11:45 .bashrc


    知道 +, -, = 的不同點了嗎?對啦! + 與 – 的狀態下,只要是沒有指定到的項目, 則該屬性『不會被變動』,例如上面的例子中,由於僅以 – 拿掉 x 則其他兩個保持當時的值不變!呵呵!多多實作一下,你就會知道如何改變屬性囉! 這在某些情況底下很好用的~舉例來說,您想要教一個朋友如何讓一個程式可以擁有執行的權限, 但您又不知道該檔案原本的權限為何,此時,利用 chmod a+x filename ,就可以讓該程式擁有執行的權限了。 是否很方便?

322/2<12
Open Toolbar