管道命令符

管道命令符 “|” 的作用是将前一个命令的标准输出当做后一个命令的标准输入,格式为:命令A | 命令B

例子:
输入命令 grep "/sbin/nologin" /etc/passwd | wc -l。将搜索命令的输出值传递给统计命令,统计出所有不允许登录系统的用户个数。

echo 和 管道_重定向


输入输出重定向

输出重定向符:

符号

作用

命令 > 文件

将标准输出重定向到一个文件中 (清空原有文件的数据)

命令 2> 文件

将错误输出重定向到一个文件中 (清空原有文件的数据)

命令 >> 文件

将标准输出重定向到一个文件中 (追加到原有内容的后面)

命令 2>> 文件

将错误输出重定向到一个文件中 (追加到原有内容的后面)

输入重定向符

符号

作用

命令 < 文件

将文件作为命令的标准输入

命令 << 分界符

从标准输入中读入,知道遇见分界符才停止

命令 < 文件 1 > 文件 2

将文件 1 作为命令的标准输入并将标准输出到文件 2

例子:

① 输入命令:man ls > /root/ls.txt,将 ls 的命令帮助文档写入到 /root/ls.txt 中。

echo 和 管道_bash_02


② 向文件中写入一行文字,输入命令:echo "Hello" > helloword.txt;向文件中追加写入一行文字,输入命令:echo "World >> helloword.txt"

echo 和 管道_标准输出_03


echo 和 管道_bash_04


命令行通配符

Bash 解释器支持的文本通配符:

通配符

含义

*

匹配 零个 或者 多个 字符


匹配任意 单个 字符

[0-9]

匹配范围内的数字

[abc]

匹配列出的任意字符

另外 Bash 解释器还支持特殊字符的扩展:

字符

作用

\ (反斜杠)

转义后面单个字符

’ ’ (单引号)

转义引号内的所有字符

" " (双引号)

变量依然有效

`` (反引号)

执行命令语句

例子:

echo 和 管道_重定向_05


环境变量

PATH 环境变量

在 Linux 中一切皆文件,命令也不例外。
当用户执行一条 ls 命令后:

  • ① 如果是以 绝对/相对路径输入的命令则直接执行 (如执行 /bin/ls)
  • ②检查是否为 alias 别名命令
  • ③由 bash 判断其是 “内部命令” 还是 “外部命令”
  • ④ 通过 $PATH 变量中定义的路径进行命令查找

输入命令:echo $PATH查看 $PATH变量

echo 和 管道_重定向_06


$PATH 变量负责告诉 bash 用户要执行的命令可能存放在哪里,然后 bash 就会在这些目录里寻找。

其余重要的环境变量

可以使用 env命令来查看环境变量有哪些。

echo 和 管道_bash_07

变量名称

含义

HOME

用户的主目录 “home”

SHELL

当前的 shell 是哪个程序

HISTSIZE

历史命令记录条数

MAIL

邮件信箱文件

RANDOM

随机数字

PS1

bash 提示符

HISTFILESIZE

history 命令存储数量

PATH

在路径中的目录查找执行文件

EDITOR

默认文本编辑器

例子:

假设需要设置一个变量 “DESKTOP”,让每个用户执行 “cd $DESKTOP” 都登录到 /root/Desktop 目录中。

定义变量: DESKTOP=/root/Desktop

echo 和 管道_echo 和 管道_08


所需要让所有用户都能使用,则需要使用 export 命令将局部变量提升为全局变量。格式为:export 变量名 [=变量值]