shell、perl 常用函数---substr、chmod

1、实例解析Perl substr函数应用

本文向大家简单介绍一下Perl substr函数应用,在编写perl程序的时候,我们有时需要截取一个字符串中的部分内容,Perl substr函数就可以实现此功能。

AD:

本文和大家重点讨论一下Perl substr函数应用,在编写perl程序的时候,我们有时需要截取一个字符串中的部分内容,这个时候通常会使用substr函数实现这个功能。

Perl substr函数应用

在编写perl程序的时候,我们有时需要截取一个字符串中的部分内容,这个时候通常会使用Perl substr函数实现这个功能。
 

 
 
  1. viewplaincopytoclipboardprint?  
  2. $str="testtest";  
  3. printsubstr($str,0,5);  
  4. $str="testtest";  
  5. printsubstr($str,0,5);  

运行上面的程序,输出结果"testt",这个是我们想要的结果。再看看下面的程序:
 

 
 
  1. viewplaincopytoclipboardprint?  
  2. $str="测试文本";  
  3. printsubstr($str,0,1);  
  4. $str="测试文本";  
  5. printsubstr($str,0,1); 

这时候输出了一个"?",这显然不是我们想要的结果。因为在perl中,所有从外部输入的字符串(包括写在程序里的字符串)都会当成字节来处理,"printsubstr($str,0,1);"这句话只是把"测试文本"的第一个字节取出来,并且用print输出,然而单个字节是不能表示一个中文字符的,所以就输出了"?"。

如果想要上面的程序输出正确的结果,就需要使用decode函数把"测试文本"转换成perl内部字符串,让perl把"测试文本"当成字符串来处理,这样再用"substr($str,0,1);"截取的就不是一个字节,而是一个汉字。

◆下面看一下Perl substr函数的用法:

指令:substr

语法:substr($string,offset,length)
offset代表起始字符的位置,length代表引用的字符串长度,如果省略length则代表从起始值到字符串的最后一个字符长度。而offset如果是负值的话,就会从字符串右边开始指定字符。
示例:
 

 
 
  1. $s=substr("perl5",2,2);#这时$s="rl";  
  2. $s=substr("perl5",2);#这时$s="rl5";  
  3. $s=substr("perl5",-2,2);#这时$s="er";
2、chmod —— 改变文件访问权限

用法
 
    $ chmod<permissions><files>
     
      其中<permissions>有两种表达方式:
      1.用符号表示
      (who)(action)(permissions)
                      其中(who)包括:
                                      u —— 所有者(owner/user)
                                      g —— 组(group)
                                      o —— 其他人(other)
                                      a —— 所有人(all)
                        (action)包括:
                                      + —— 增加权限
                                      - —— 删除权限
                                      = —— 设置权限为
                        (permissions)包括:
                                      r —— 读权限(read)
                                      w —— 写权限(write)
                                      x —— 执行权限(execute)
                                      s —— SUID/SGID
                        另外,各符号表示可用逗号","隔开。如:"u+x,og-wr"表示给所有者增加执行权限并给删除组用户及其他用户的读写权限

      2.用数字表示
                      用四位数表示,第一位用来设置SUID和SGID,第二位用来设置所有者权限,第三位用来设置组用户权限,第四位用来设置其他用户权限。后三位分别用4、2、1分别表示读、写和执行权限,第一位分别用4、2表示SUID和SGID。多种权限为这几个数字的和。0表示什么权限都没有。例如:在“6750”中,"6"表示设置SUID和SGID,"7"=4+2+1表示所有者拥有所有权限,"5"=4+1表示组用户拥有读和执行权限,"0"表示其他用户没有任何权限。另外,四位数中,第一位通常省略,一般只描述后三位。

      数字方式只能设置权限,却无法像符号方式那样增加删除权限。

示例
      1. $ chmodu+rwx,go= Music/ -R
      将"Music"下的所有文件的所有这增加读写执行权限,同时删除组用户及其他用户的所有权限。

      2. $ chmod777 example
      设置文件"example"的权限为所有人具有所有的权限。
3、 rm

删除当前目录下所有文件及文件夹, rm  -r   ****



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值