3.3 通配符和管道
1)通配符
? | 表示任意字符 |
---|
* | 表示任意字符串 |
[] | 任意字符组合,比如 : [a-z] 表示任意的小写字母 |
[!] | 表示不在[]中的任意字符, 比如 : [!a-z] 表示任意的非小写字符 , [!0-9] 表示任意的非数字字符 |
例子:
1.练习:删除文件名以数字字符开头,且文件扩展名为两个字符的文件。
rm [0-9]*.??
2) 管道
管道:用 '|'来标识
用法: 命令1 | 命令2
把命令1的输出当作命令2的输入,最后输出命令2
例子:
1.查看/etc目录下的文件,并把结果分页显示
ls /etc | more
3.4 数据流重定向
1.数据流
定义: 一组有顺序的,有起点和终点的字节集合
类别: 标准输入(stdin) 、标准输出(stdout) 、标准错误输出(stderr)
设备文件 | 说明 | 文件描述符 |
---|
/dev/stdin | 标准输入 | 0 |
/dev/stdout | 标准输出 | 1 |
/dev/stderr | 标准错误输出 | 2 |
2.数据流重定向
类型 | 符号 | 作用 |
---|
标准输出重定向 | 命令 > 文件 | 以覆盖的方式,命令的正确输出结果输出到文件 |
| 命令 >> 文件 | 以追加的方式,命令的正确输出结果输出到文件 |
标准错误输出重定向 | 命令 2> 文件 | 以覆盖的方式,命令的错误输出结果输出到文件 |
| 命令 2 >> 文件 | 以追加的方式 |
1)输出到同一文件
ls -l /etc > right_error 2 > &1 (覆盖的方式)
ls -l /etc/ >> right_error 2 >> &1 (追加的方式)