1 输入输出重定向
- 标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令输入。
- 标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
- 错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
1.1 输入重定向
命令 < 文件
命令 << 文件
命令 < 文件1 > 文件2
wc -l < read.txt
1.2 输出重定向
符号 | 作用 |
---|---|
命令 > 文件 | 将标准输出重定向到一个文件中(清空原有文件数据) |
命令 2> 文件 | 将错误输出重定向到一个文件中(清空原有文件数据) |
命令 >> 文件 | 将标准输出重定向到一个文件中(追加到原有内容后面) |
命令 2>> 文件 | 将错误输出重定向到一个文件中(追加到原有内容后面) |
命令 >> 文件 2>&1 或 命令 &> 文件 | 将标准输出与错误输出共同写入到文件中(追加) |
man bash > read.txt
echo "Study makes me happy" >> read.txt
notexistfile 2> error.txt
2 管道命令符
格式:命令A | 命令B
作用:把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入。
grep "/sbin/nologin" /etc/passwd | wc -l //所有被限制登录系统的用户
ls -l /etc/ | more //翻页形式查看/etc目录中的文件列表及属性信息
echo "password" | passwd --stdin root //密码重置为password
3 命令行的通配符
(*)代表匹配零个或多个字符
(?)代表匹配单个字符
[0-9]代表匹配0~9之间的单个数字的字符 [abc]代表匹配a、b、c任意一个字符
ls -l /dev/sda*
ls -l /dev/sda?
ls -l /dev/sda[135]
4 常用的转义字符
-
反斜杠( \ ):使反斜杠后面的一个变量变为单纯的字符串
-
单引号( ‘’ ):转义其中所有的变量为单纯的字符串
-
双引号( “” ):保留其中的变量属性,不进行转移处理
-
反引号( `` ):把其中的命令执行后返回结果
PRICE=5 echo "Price is \$$PRICE"
echo `name -a`
5 重要的环境变量
变量名称一般大写
系统在多个路径中查找用户输入的命令文件,而定义这些路径的变量叫做PATH,PATH是由多个路径值组成的变量,每个路径值之间用冒号间隔,对这些路径的增加和删除操作将影响到Bash结束其对Linux命令的查找。
PATH=$PATH:/root/bin
echo $PATH
变量名称 | 作用 |
---|---|
HOME | 用户的主(家)目录 |
SHELL | 用户在使用的Shell解释器名称 |
HISTSIZE | 输出的历史命令记录条数 |
HISTFILESIZE | 保存的历史命令记录条数 |
邮件保存路径 | |
LANG | 系统语言、语系名称 |
RANDOM | 生成一个随机数字 |
PS1 | Bash解释器的提示符 |
PATH | 定义解释器搜索用户执行命令的路径 |
EDITOR | 用户默认的文本编辑器 |
可用export将一般变量转换成全局变量
笔记待补