输入输出重定向
输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中。
- 标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
- 标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
- 错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
输入重定向中用到的符号及其作用
符号 | 作用 |
---|---|
命令 < 文件 | 将文件作为命令的标准输入 |
命令 << 分界符 | 从标准输入中读入,直到遇见分界符才停止 |
命令 < 文件1 > 文件2 | 将文件1作为命令的标准输入并将标准输出到文件2 |
输出重定向中用到的符号及其作用
符号 | 作用 |
---|---|
命令 > 文件 | 将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 | 将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 | 将标准输出重定向到一个文件中(追加到原有内容的后面) |
命令 2>> 文件 | 将错误输出重定向到一个文件中(追加到原有内容的后面) |
命令 >> 文件 2>&1 或 命令 &>> 文件 |
将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) |
将 man bash
输出到文件查看
演示 >
是会清空内容的,而 >>
只是在后面追加
演示将报错信息输入到文件中
演示将某个文件进行输入重定向,然后显示行数
管道命令符
把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入
统计有多少用户限制登录系统
使用more来将大量输出结果慢慢看
在脚本命令用修改用户密码
在发送电子邮件时,默认采用交互式的方式来进行,我们完全可以利用一条结合了管道符的命令语句,把编辑好的内容与标题一起“打包”,最终用这一条命令实现邮件的发送。
管道命令符在一个命令组合中可以使用多次,比如,“命令A | 命令B | 命令C”
命令行的通配符
[root@node-1 ~]# ls -l /dev/sda
brw-rw----. 1 root disk 8, 0 Apr 5 05:46 /dev/sda
[root@node-1 ~]# ls -l /dev/sda*
brw-rw----. 1 root disk 8, 0 Apr 5 05:46 /dev/sda
brw-rw----. 1 root disk 8, 1 Apr 5 05:46 /dev/sda1
brw-rw----. 1 root disk 8, 2 Apr 5 05:46 /dev/sda2
[root@node-1 ~]# ls -l /dev/sda?
brw-rw----. 1 root disk 8, 1 Apr 5 05:46 /dev/sda1
brw-rw----. 1 root disk 8, 2 Apr 5 05:46 /dev/sda2
[root@node-1 ~]# ls -l /dev/sda[0-9]
brw-rw----. 1 root disk 8, 1 Apr 5 05:46 /dev/sda1
brw-rw----. 1 root disk 8, 2 Apr 5 05:46 /dev/sda2
通配符 | 作用 |
---|---|
* | 匹配零个或多个字符 |
? | 匹配单个字符 |
[] | 匹配一个范围 |
常用的转义字符
4个最常用的转义字符
- 反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
- 单引号(’’):转义其中所有的变量为单纯的字符串。
- 双引号(””):保留其中的变量属性,不进行转义处理。
- 反引号(``):把其中的命令执行后返回结果。
重要的环境变量
用户执行了一条命令之后
第1步:
判断用户是否以绝对路径或相对路径的方式输入命令(如/bin/ls),如果是的话则直接执行。
第2步:
Linux系统检查用户输入的命令是否为“别名命令”,即用一个自定义的命令名称来替换原本的命令名称。可以用alias命令来创建一个属于自己的命令别名,格式为“alias 别名=命令”。若要取消一个命令别名,则是用unalias命令,格式为“unalias 别名”。
Linux系统中最重要的10个环境变量
变量名称 | 作用 |
---|---|
HOME | 用户的主目录(即家目录) |
SHELL | 用户在使用的Shell解释器名称 |
HISTSIZE | 输出的历史命令记录条数 |
HISTFILESIZE | 保存的历史命令记录条数 |
邮件保存路径 | |
LANG | 系统语言、语系名称 |
RANDOM | 生成一个随机数字 |
PS1 | Bash解释器的提示符 |
PATH | 定义解释器搜索用户执行命令的路径 |
EDITOR | 用户默认的文本编辑器 |
变量是由固定的变量名与用户或系统设置的变量值两部分组成
我们自己创建的变量作用范围有限,可以使用 export
将其提升为全局变量