xywuyiba8 发表于 2018-8-29 07:14:06

bash shell基础特性之二

  bash shell基础特性之二
  (1) globbing
  文本名通配:元字符
  *:匹配任意长度的任意字符;
  ?:匹配任意单个字符;
  示例:a*b: aab, ab, a123b;
  a?b:
  []: 匹配指定范围内的任意单个字符;
  示例:
  [^]:匹配范围外的任意单个字符;
  示例:[^a-b]
  字符集合:
  [:lower:]匹配小写字母. 等同于a-z
  [:upper:]匹配大写字母. 等同于A-Z
  [:alnum:]匹配字母和数字.等同于A-Za-z0-9
  [:digit:]匹配(十进制)数字. 等同于0-9
  [:space:]匹配空白字符 (空格符和水平制表符)
  [:punct:]匹配符号
  [:alnum:]匹配字母和数字.等同于A-Za-z0-9
  示例:
  显示/etc/目录下,以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录;
  ls/etc/[^a-Z]*
  复制/etc目录下,所有以.d结尾的文件或目录至/tmp/mageedu.com目录中;
  cp -r /etc/*.d /tmp/mageedu.com
  (2) 快捷键、组合键
  Ctrl+l:清屏
  Ctrl+a: 切换至命令行首
  Ctrl+e:切换至命令行尾
  Ctrl+c:取消命令执行
  Ctrl+u:删除光标所在处至行首的内容;
  Ctrl+k: 删除光标所在处至行尾的内容;
  (3) IO输入输出重定向及管道
  程序:指令+数据
  读入数据:Input
  输出数据:Output
  打开的文件都一个fd:file descriptor
  标准输入:keyboard, 0, /dev/stdin
  标准输出:monitor, 1, /dev/stdout
  标准错误输出:monitor, 2, /dev/stderr
  输出重定向:>, >>   //格式:COMMAND > NEW_POS, COMMAND >> NEW_PO
  >: 目标文件中原有内容会被清除;
  >>: 新内容被追加至目标文件尾部;
  # set -C : 禁止使用覆盖输出重定向
  此时依然可以使用>|进行强制覆盖
  # set +C
  错误输出重定向:2>, 2>>
  2>:覆盖
  2>>:追加
  同时重定向标准输出流和错误输出流:
  示例:
  COMMAND > /path/to/file.out 2> /path/to/file.err
  合并标准输出和错误输出的数据流至同一处:&>, &>>
  &>
  &>>
  示例:
  COMMAND > /path/to/file.out 2>&1
  COMMAND &> /path/to/file.out
  输入重定向:
  <
  tr命令:转换或删除字符
  语法格式:tr ... SET1
  常用参数:
  -d: 删除字符
  Here Document:
页: [1]
查看完整版本: bash shell基础特性之二