设为首页 收藏本站
查看: 1404|回复: 0

shell 学习之正则、别名以及管道重定向

[复制链接]
发表于 2018-8-21 09:10:43 | 显示全部楼层 |阅读模式
  一、linux的文件类型:
  类型                           标识符        颜色
  档案file:                          -            白色
  目录directory:            d            蓝色
  字符设备character:   c            黄色
  块设备block:                  b           黄色
  管道 pipe:                       |            黄色
  链接设备linek:               ln           蓝--绿
  socket:                           s
  二、别名设置和取消
  ualias  撤销别名使用
  ualias cmdalias
  命令别名和命令本身的时候 \cmd
#设置进入网络编辑目录的别名  
[root@lovelace 51cto]# alias cdnet='cd /etc/sysconfig/network-scripts/'
  
#使用别名
  
[root@lovelace 51cto]# cdnet
  
[root@lovelace network-scripts]#
[root@lovelace 51cto]# alias cdnet='cd /etc/sysconfig/network-scripts/'  
[root@lovelace 51cto]# cd cdnet
  
-bash: cd: cdnet: 没有那个文件或目录
  
[root@lovelace 51cto]# cd cdnet
  
-bash: cd: cdnet: 没有那个文件或目录
  
[root@lovelace 51cto]# cdnet
  
[root@lovelace network-scripts]#
  取消别名设置
#取消别名设置  
[root@lovelace network-scripts]# unalias cdnet
  
[root@lovelace network-scripts]# cd -
  
/home/scripts/51cto
  
#再次验证别名是否还存在
  
[root@lovelace 51cto]# cdnet
  
-bash: cdnet: command not found
  三、管道、重定向
  系统设定
  默认输出设备  标准输出 stdout 1
  显示器
  默认输入设备  标准输入 stdin 0
  键盘
  标准错误输出  stderr 2
  > 输出重定向  原有内容丢失 覆盖输出
  < 输入重定向  原有内容丢失 覆盖输入
  >> 追加输出  保留文件中原有内容
  | 强制 输出重定向
  2> 重定向错误输出
  &>:重定向标准输出或错误输出到同一个文件
  1>&2 正确返回值传递给2输出通道 &2表示2输出通道
  2>&1 错误返回值传递给1输出通道, 同样&1表示1输出通道.
#2>&1是网上使用最广泛的一个示例  
[root@lovelace 51cto]# cenet > info.tt 2>&1
  
#查看info.tt文件内容
  
[root@lovelace 51cto]# cat info.tt
  
-bash: cenet: command not found
  四、文件名通配
  文件名通配 gloabbing
  *  匹配任意长度的字符,可以是空字符串
  ? 匹配一个字符,但不可为空
  \ 可以做转义使用,也可作为续行符号
  [] 匹配一个序列中的任意一个
  [0-9][a-z][a-zA-Z] 选择其中的任意一个
  [^]  取反的意思
  [^0-9] 除了0-9之外的任意单个字符
  [[:space:]] 所有的空白字符
  [[:punct:]] 标点符号
  [[:lower:]] 小写字母  也可用 [a-z]表示
  [[:upper:]] 大写字母 也可用[A-Z]表示
  [[:alpha:]]  大小写字母 也可用[a-zA-Z]表示
  [[:digit:]]  数字  也可用[0-9]表示
  [[:alnum:]]  数字和大小写字母 也可用[0-9a-zA-Z]表示
  五、正则表达式
  基本正则表达式:
  .   匹配任意单个字符
  [^] 匹配指定范围外的任意单个字符 不需要转义
  []  匹配指定范围内的任意单个字符,不需要转义
  ^   匹配行首
  $   匹配行尾
  \?   匹配前面出现字符的0个或1个字符
  *   匹配前面的字符任意次数
  .*  匹配任意长度的任意字符
  \{m,n\} 匹配其前面的字符至少m次,至多n次,需要转义
  \(\)   后向引用
  \<  = \b  其后面的任意字符必须作为单词首部出现
  \>    = \b  其前面的任意字符必须作为单词的尾巴出现
  ^$空白行
  扩展正则表达式:
  字符匹配:
  .  匹配任意单个字符
  [] 匹配指定范围内的任意单个字符,不需要转义
  [^]  匹配指定范围外的任意单个字符 不需要转义
  次数匹配:
  * 匹配前面的字符任意次数
  ?  匹配前面出现字符的0个或1个字符   不需要转义
  + 其前字符至少一次
  {m,n}  匹配其前面的字符至少m次,至多n次 不需要使用\转义
  位置牟定:
  ^ 匹配行首
  $ 匹配行尾
  ^$空白行
  \> 其前面的任意字符必须作为单词的尾巴出现
  \< 其后面的任意字符必须作为单词首部出现
  分组:
  ()不需要再进行转义
  \1,\2,\3....
  或者:
  | or
  a|b a或者b
  示例脚本(暂时未列出...):



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-554518-1-1.html 上篇帖子: 【shell基础】05、sed入门详解 下篇帖子: 通过例子理解shell下使用getopts和getopt
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表