个人博客站—运维鹿: http://www.kervin24.top
CSDN博客—做个超努力的小奚: https://blog.csdn.net/qq_52914969?type=blog
一、重定向
将命令和文件结合
标准输入重定向(STDIN,文件描述符为0):默认从键盘输入,也可从其他文件或命令中输入。
标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
输入重定向
命令 < 文件 | 将文件作为命令的标准输入 |
---|---|
命令 << 分界符 | 从标准输入中读入,直到遇见分界符才停止 |
命令 < 文件1 > 文件2 | 将文件1作为命令的标准输入并将标准输出到文件2 |
输出重定向
符号 | 作用 |
---|---|
命令 > 文件 | 将标准输出重定向到一个文件中(清空原有文件的数据) |
命令 2> 文件 | 将错误输出重定向到一个文件中(清空原有文件的数据) |
命令 >> 文件 | 将标准输出重定向到一个文件中(追加到原有内容的后面) |
命令 2>> 文件 | 将错误输出重定向到一个文件中(追加到原有内容的后面) |
命令 >> 文件 2>&1 或 命令 &>> 文件 | 将标准输出与错误输出共同写入到文件中(追加到原有内容的后面) |
二、管道符
执行格式为“命令A | 命令B”
例:ps -ef |grep “tongweb”
三、命令行的通配符
通配符 | 含义 |
---|---|
* | 任意字符 |
? | 单个任意字符 |
[a-z] | 单个小写字母 |
[A-Z] | 单个大写字母 |
[a-Z] | 单个字母 |
[0-9] | 单个数字 |
[[:alpha:]] | 任意字母 |
[[:upper:]] | 任意大写字母 |
[[:lower:]] | 任意小写字母 |
[[:digit:]] | 所有数字 |
[[:alnum:]] | 任意字母加数字 |
[[:punct:]] | 标点符号 |
四、常见的转义字符
反斜杠(\):使反斜杠后面的一个变量变为单纯的字符。
单引号(’ '):转义其中所有的变量为单纯的字符串。
双引号(" "):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。
[root@localhost kervin24]# echo $(ls -l |wc -l)
9
[root@localhost kervin24]# echo `ls -l |wc -l`
9
五、环境变量
5.1、查看环境变量
-
查看所有变量
printenv # 显示所有环境变量 env # 类似printenv,但可同时执行命令(如 env MY_VAR=value command)
-
查看特定变量
echo $PATH # 输出PATH变量的值 printenv USER # 显示当前用户
5.2、设置环境变量
-
临时设置(仅在当前会话有效)
export MY_VAR="value" # 设置变量并导出为环境变量 MY_VAR="value" # 仅设置为Shell变量(不导出到子进程)
-
永久设置(需写入配置文件)
-
用户级配置
~/.bashrc
:针对当前用户的Bash Shell(交互式非登录Shell)。~/.bash_profile
或~/.profile
:针对登录Shell(如SSH登录)。
# 示例:在~/.bashrc中添加 export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" export PATH="$JAVA_HOME/bin:$PATH"
-
系统级配置
/etc/environment
:系统范围的环境变量(仅接受VAR=value
格式)。/etc/profile
或/etc/bash.bashrc
:全局配置,对所有用户生效。
-
-
配置文件加载顺序
- 登录Shell:加载
/etc/profile
→~/.bash_profile
→~/.bashrc
(如果被显式调用)。 - 非登录Shell:仅加载
~/.bashrc
。
- 登录Shell:加载
-
执行
source ~/.bashrc
重新加载配置。 -
使用
which command
检查命令路径优先级。
5.3、常见环境变量
变量名称 | 作用 |
---|---|
HOME | 用户的主目录(即家目录) |
SHELL | 用户在使用的Shell解释器名称 |
HISTSIZE | 输出的历史命令记录条数 |
HISTFILESIZE | 保存的历史命令记录条数 |
邮件保存路径 | |
LANG | 系统语言、语系名称 |
RANDOM | 生成一个随机数字 |
PS1 | Bash解释器的提示符 |
PATH | 定义解释器搜索用户执行命令的路径 |
EDITOR | 用户默认的文本编辑器 |