1.管道命令符
管道命令符“|”的作用是把前一个命令的标准输出当做后一个命令的标准输入,格式为 命令A|命令B。可以使用多次,不是只能使用1次,例如 命令A|命令B|命令C。
2. 输入输出重定向
标准输入(STDIN,文件描述符为0):默认从键盘输入,为0表示是从其他文件或命令的输出。
标准输出(STDOUT,文件描述符为1):默认输出到屏幕,为1时表示是文件。
错误输出(STDERR,文件描述符为2):默认输出到屏幕,为2时表示是文件。
输出重定向符:
命令 > 文件 把标准输出重定向到一个文件中(清空原有文件的数据)
命令 2> 文件 把错误输出重定向到一个文件(清空原有文件的数据)
命令 >> 文件 把标准输出重定向到一个文件中(添加到原有内容的后面)
命令 2>> 文件 把错误输出重定向到一个文件(添加到原有内容的后面)\
命令 >> 文件 2>$1 把标准输出和错误输出都写入到文件中(添加在原有内容的后面)
输入重定向:
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,知道遇到分界符
命令 < 文件1 >文件2 把文件1作为命令的标准输入,并将标准输出到文件2
3 命令行通配符
Bash解释器支持多种文本通配符:
* //匹配零个或多个字符
? //匹配任意单个字符
[0-9] //匹配访问内的数字
[abc] //匹配给出的任意字符
特殊字符扩展:
\ //转义后面单个字符
’’ //转义所有字符
“” //变量依然生效
‘‘(反引号) //执行命令语句
4. 实用发热PATH变量
4.1 alias
用于设置命令的别名,格式为 alias 别名=命令。
4.2 unalias
用于取消设置的别名。格式为 unalias 别名
在linux中所有的一切都是文件,命令文件也不例外。执行一条命令时的步骤为:
1.如果是以绝对/相对路径输入的命令则直接执行(如/bin/ls)。
2.检查是否为alias别名命令。
3.有bash判断是为内部命令还是外部命令。可用 type 命令名字 判断
内部命令:属于解释器内部的
外部命令:独立于解释器之外的命令
4.通过$PATH变量中定义的路径进行命名查找(可用echo $PATH查看$PATH变量)。
5 重要的环境变量
可以用env来查看环境变量。
HOME //用户的主目录
SHELL //当前的shell为那个程序,默认/bin/bash
HISTSIZE //历史命令的记录条数
MAIL //邮件信箱文件
LANG //语系数据
HOSTNAME
USER
PATH
PWD
JAVA_HOME
CLASSPATH
。。。。。。。。
变量名称=值,可以定义一个值。echo $变量名称可以查看设置的变量。
WORKDIR=/home/workdir
echo $WORKDIR //局部变量,切换用户后不能访问
5.1 export
用于将局部变量提升为全局变量,格式为 export 变量名[=变量值]。