Linux学习 - 输入输出重定向,管道符,通配符
一、键盘输入读取read
read [选项] [变量名]
-p [显示信息] 在等待read输入时,输出提示信息
-t [秒数] 指定read输入等待时间
-n [字符数] 指定read只接收n个字符输入
-s 隐藏输入数据
例
二、输入输出重定向
1 标准输入输出
设备 | 设备文件名 | 文件描述符 | 类型 |
键盘 | /dev/stdin | 0 | 标准输入 |
显示器 | /dev/stdout | 1 | 标准输出 |
显示器 | /dev/stderr | 2 | 标准错误输出 |
2 输出重定向
类型 | 符号 | 作用 |
标准输出重定向 | 命令 > 文件 | 命令结果输出到文件,覆盖 |
命令 >> 文件 | 命令结果输出到文件,追加 | |
标准错误输出重定向 | 错误命令 2> 文件 | 命令错误结果输出到文件,覆盖 |
错误命令 2>> 文件 | 命令错误结果输出到文件,追加 | |
正确与错误同时保存 | 命令 > 文件 2>&1 | 命令正确结果和错误结果都输出到文件,覆盖 |
命令 >> 文件 2>&1 | 命令正确结果和错误结果都输出到文件,追加 | |
命令 &>文件 | 命令正确结果和错误结果都输出到文件,覆盖 | |
命令 &>> 文件 | 命令正确结果和错误结果都输出到文件,追加 | |
命令 >> 文件1 2>> 文件2 | 命令正确结果输出到文件1,命令错误结果输出到文件2,追加 | |
3 输入重定向
wc [选项] < [文件名]
-c 统计字节数
-w 统计单词数
-l 统计行数
例:wc < anaconda-ks.cfg 统计anaconda-ks.cfg文件的行数、单词数、字节数
wc -l <anaconda-ks.cfg 只统计anaconda-ks.cfg文件的行数
三、多命令顺序执行与管道符
1 多命令
多命令执行符 | 格式 | 作用 |
; | 命令1 ; 命令2 | 多个命令顺序执行,命令之间没有任何逻辑联系 |
&& | 命令1 && 命令2 | 逻辑与 |
|| | 命令1 || 命令2 | 逻辑或 |
2 管道符
命令1 | 命令2 命令1的正确输出作为命令2的操作对象
例:
netstat -an | grep ESTABLISHED 显示当前系统中的网络连接,提取正在连接的用户
四、通配符与其他特别符号
1 通配符
通配符 | 功能 | 举例 |
? | 匹配任意一个字符 | |
* | 匹配任意多个字符 | |
[] | 匹配[]中的任意一个字符 | |
[-] | 匹配[]中的字符范围 | |
[^] | 匹配除[]外的任意字符 |
2 特殊符号
符号 | 功能 |
' ' | 单引号中的所有特殊字符都没有特殊含义 |
" " |
双引号中的“$”、“·”、“\”是有特殊含义 “$”:调用变量的值 “ ·”:引用命令 “ \”:转义符 |
`` | 反引号中的内容是系统命令 |
$() | 与反引号一样,(通常使用这个符号) |
# | 注释 |
$ | 调用变量的值 |
\ | 转义符 |