bash的基础特性:
globbing :文件名通配
匹配模式:元字符 *:匹配任意长度的任意字符 ?:匹配任意单个字符 【】:指定范围内的任意单个字符 (有几种特殊格式:【a-z】 ,【A-Z】,【0-9】,【a-z0-9】,【【:upper:】】所有大写字母,【【:lower】】所有小写字母)
![截图](attachment:b236b4c25aabc00a19ef9339d7e63fb7)
![截图](attachment:a41c1c2bc59884a01e667e287309eafd)
<br/>
I/O重定向及管道
程序 = 指令+数据
程序也有I/O
可用于输入的设备:文件
程序的数据流有三种:输入数据流(标准输入(stdin),键盘输入)
输出数据流(标准输出(stdout),显示器)
错误输出流(错误输出(stderr),显示器)
fd: file descriptor ,文件描述符
标准输入:0 标准输出: 1 错误输出:2
IO重定向:
输出重定向 :> 即将一个文件中的内容输出到另一个指定的文件中 语法:cat /etc/.. > /tmp/…
特性:覆盖输出
输出重定向: >> 特定:追加输出
#set -C 禁止覆盖输出重定向至已存在的文件;此时可使用强制覆盖输出:>
#set +C 关闭上述特性
错误输出流重定向: 2> ,覆盖输出 2>> 追加输出
(通用)合并标准和错误输出流: 法1: &> 覆盖输出 &>> 追加输出
法2:COMMAND > /path/sonmefile 2>&1
COMMAND >> /path/to/somefile 2>&1
特殊设备:/dev/null
输入重定向: <
tr [option] set1 [set2]
把输入的数据当中的字符,凡是在set1定义范围内出现的,统统对位转换为set2出现的字符
tr -d set1 < /path/….. 删除set1出现的字符 注意:不修改原文件
cat << eof 输入字符,当输入eof时,输入结束
管道:连接程序,实现将前一个命令的输出直接定向后一个程序当作输入
例如: cat /etc/.. | tr ‘a-z’ ‘A-Z’
cat /etc/.. |tee /tmp/… | tr ‘a-z’ ‘A-Z’ tee将内容输出到tmp,之后又进行管道链接
![截图](attachment:a7c60d4d87cddf5f154f305a75dda608)