一、输入重定向
1、标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可以从键盘及其他命令输入。
1)命令<文件 将文件的内容输入到命令中(强行贯入到命令中)
2)命令<<分解符 从标准输入中读入,直到遇到分解符停止
3) 命令<文件1>文件2 将文件1作为命令的标准输入并将标准输出到文件2
2、输出重定向
命令 > 文件 将标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 将错误输出重定向到一个文件中(清空原有文件的数据)
命令 >> 文件 将标准输出重定向到一个文件中(追加到原有内容的后面)
命令 2>> 文件 将错误输出重定向到一个文件中(追加到原有内容的后面)
命令 >> 文件 2>&1
或
命令 &>> 文件 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面)
*&> 不管是否正确全部输出
*&>/dev/null 输出的全部信息都放到黑洞文件里
二、管道符
1)管道符,执行格式为“命令A | 命令B”。管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入”。
*找出被限制登录用户的命令是 grep “/sbin/nologin” /etc/passwd
*统计文本行数的命令则是 wc -l
2)通配符就是通用的匹配信息的符号
(*)代表匹配零个或多个字符
(?)代表匹配单个字符
[0-9]代表匹配0~9之间的单个数字的字符
[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
3)4个最常用的转义字符如下所示。
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符串。
单引号(’’):转义其中所有的变量为单纯的字符串。
双引号(""):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。
三、变量
变量是计算机系统用于保存可变值的数据类型。在Linux系统中,变量名称一般都是大写的,这是一种约定俗成的规范。我们可以直接通过变量名称来提取到对应的变量值。Linux系统中的环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录、邮件存放位置等。
Linux系统中最重要的10个环境变量
变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash 解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器