一、linux的文件类型:
        类型                           标识符        颜色
        档案file:                          -            白色
        目录directory:            d            蓝色
        字符设备character:   c            黄色
        块设备block:                  b           黄色
        管道 pipe:                       |            黄色
        链接设备linek:               ln           蓝--绿
        socket:                           s

二、别名设置和取消

ualias  撤销别名使用
ualias cmdalias
命令别名和命令本身的时候 \cmd

1
2
3
4
5
#设置进入网络编辑目录的别名
[root@lovelace 51cto]# alias cdnet='cd /etc/sysconfig/network-scripts/'
#使用别名
[root@lovelace 51cto]# cdnet
[root@lovelace network-scripts]#

1
2
3
4
5
6
7
[root@lovelace 51cto]# alias cdnet='cd /etc/sysconfig/network-scripts/'
[root@lovelace 51cto]# cd cdnet
-bashcd: cdnet: 没有那个文件或目录
[root@lovelace 51cto]# cd cdnet
-bashcd: cdnet: 没有那个文件或目录
[root@lovelace 51cto]# cdnet
[root@lovelace network-scripts]#

取消别名设置

1
2
3
4
5
6
7
#取消别名设置
[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输出通道.

1
2
3
4
5
#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

示例脚本(暂时未列出...)

本文转自lovelace521 51CTO博客,原文链接:http://blog.51cto.com/lovelace/1211323,如需转载请自行联系原作者

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

  1. shell读取文件到变量、管道重定向、if和while嵌套使用、命令替换

    文章目录 管道介绍 脚本:读取文件,在while中使用if判断 位置参数 命令替换 退出状态 测试条件 test测试数值: 测试字符串 管道介绍 管道是Linux编程中最常用的技术之一,管道符&quo ...

  2. Linux脚本保存管道中的变量,Linux下管道重定向使用以及Shell编程(操作系统)

    实验名称:Linux的基本操作 实验目的: 1.了解管道和重定向 2.熟悉基本的Linux脚本的编写 实验环境:Ubuntu 12.4(32位,简体中文) 实验内容: 1.将当前用户目录下的文件清单输 ...

  3. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)

    1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...

  4. shell学习(17)- shell中21的解释及输入输出重定向

    大多数 UNIX 系统命令从你的终端接受输入并将所产生的输出发送回​​到您的终端.一个命令通常从一个叫标准输入的地方读取输入,默认情况下,这恰好是你的终端.同样,一个命令通常将其输出写入到标准输出,默 ...

  5. shell学习-基础篇

    shell学习-基础篇 Linux? 挺好的! shell是基础- 最近利用闲暇时间在 http://c.biancheng.net/ 网站上学习了shell基础篇,整理成博客以加深理解 文章目录 L ...

  6. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

  7. Linux| |Shell学习

    Shell学习 # 符号 1. 初识 1.1 Shell定位 Shell就是用C编写的程序,是用户是用Linux的桥梁.Shell就是Linux内核的一个外壳,调用内核的接口 1.2 Shell和Ba ...

  8. Linux shell 学习笔记(9)— 循环语句(for、while)以及更改字段分隔符

    1. for 语句 bash shell 中 for 命令的基本格式如以下,$var 变量包含着这次迭代对应的当前列表项中的值. for var in list docommands done 也可以 ...

  9. (管道| / 重定向 / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

    原文连接:http://www.cnblogs.com/alwayswyy/p/5191137.html 本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下 一. ...

最新文章

  1. MongoDB(6.mongodb的聚合操作以及高级查询3、排序等)
  2. 常用七大经典排序算法总结(C语言描述)
  3. 游戏必备组件有哪些_面试必备:2019Vue经典面试题总结(含答案)
  4. 庆祝51CTO六周年:资源牛人有奖比拼,生日当天疯狂送豆!(已结束)
  5. POJ2182 HDU2711 Lost Cows【树状数组+线段树】
  6. 使用Spark core和SparkSQL的窗口函数分别实现分组取topN的操作
  7. linux清空日志文件内容 (转)
  8. python tkinter画动态时钟
  9. AI语音外呼机器人是如何帮助电销行业获客?
  10. linux+极点五笔输入法,CentOS系统安装极点五笔输入法
  11. StampedLock(印戳锁)详解
  12. erlang 解决socket 数据粘包问题
  13. 拳王公社:虚拟资源项目赚钱方法?前2种最常见,第3种鲜为人知
  14. AT89C51单片机共阳极数码管动态显示(汇编语言)
  15. 中国电信再发力:推出最新七大惠民惠企新举措
  16. JS控制在textarea中换行
  17. 【CTF】【渗透】【msf】三、绕过杀毒软件技巧
  18. 基于美团Leaf-Segment的双buffer方案实现序列号生成器
  19. Linux centos7 搭建k8s集群步骤详解
  20. 【JAVA】MyEclipse使用 - 相关技术和快捷键(转自:CSDN - lgx06)

热门文章

  1. 使用objdump objcopy查看与修改符号表
  2. Windows SQL Server 2008 群集(摘自网络)
  3. 正则表达式(javascript)
  4. 海思3531D上编译FFmpeg源码操作步骤
  5. python爬虫requests实战_Python_爬虫_requests小实战
  6. python quit函数作用_Python常用函数学习笔记
  7. python requests post请求_实例解析Python3 如何利用requests 库进行post携带账号密码请求数据...
  8. matlab中的timer模块,[转载]Matlab中Timer的使用
  9. 百度搜索结果 转换_百度搜索搜不到“百度拦截搜索结果”
  10. bootstrap table传回的数据后端怎么获取_Flasksqlalchemy让你的数据库和网页执手偕老吧...