管道符、重定向与环境变量

个人博客站---运维鹿: 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、查看环境变量

  1. 查看所有变量

    复制代码
    printenv   # 显示所有环境变量
    env        # 类似printenv,但可同时执行命令(如 env MY_VAR=value command)
  2. 查看特定变量

    复制代码
    echo $PATH      # 输出PATH变量的值
    printenv USER   # 显示当前用户

5.2、设置环境变量

  1. 临时设置(仅在当前会话有效)

    复制代码
    export MY_VAR="value"    # 设置变量并导出为环境变量
    MY_VAR="value"           # 仅设置为Shell变量(不导出到子进程)
  2. 永久设置(需写入配置文件)

    • 用户级配置

      • ~/.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:全局配置,对所有用户生效。
  3. 配置文件加载顺序

    • 登录Shell :加载/etc/profile~/.bash_profile~/.bashrc(如果被显式调用)。
    • 非登录Shell :仅加载~/.bashrc
  • 执行source ~/.bashrc重新加载配置。

  • 使用which command检查命令路径优先级。

5.3、常见环境变量

变量名称 作用
HOME 用户的主目录(即家目录)
SHELL 用户在使用的Shell解释器名称
HISTSIZE 输出的历史命令记录条数
HISTFILESIZE 保存的历史命令记录条数
MAIL 邮件保存路径
LANG 系统语言、语系名称
RANDOM 生成一个随机数字
PS1 Bash解释器的提示符
PATH 定义解释器搜索用户执行命令的路径
EDITOR 用户默认的文本编辑器
相关推荐
智恒百亿3 小时前
RTX 5090 八卡服务器 vs RTX PRO 6000 整机:AI 推理、微调与渲染选型部署指南
运维·服务器·rtx5090
ManageEngineITSM3 小时前
DevOps和ITIL是什么关系?是替代还是互补一文讲清
java·服务器·资产管理·变更管理
DYWorker0013 小时前
Linux驱动子系统:DMA-Buf —— Consumer和Provider(008)
linux·驱动开发
雯宝4 小时前
Linux 内核函数集
linux
码少女4 小时前
Linux--多路转接之select
java·服务器·数据库
GeW4 小时前
从挂科到高分通过:RHCE快速拿证的10个提分技巧
linux
鸠摩智首席音效师5 小时前
Linux /etc/nsswitch.conf 文件有什么作用 ?
linux
东城居士5 小时前
理解pinctrl和gpio子系统驱动
linux·嵌入式系统
H_oRIZoN_5 小时前
Linux入门DAY43 ARM 架构基础、寄存器、大小端、异常向量、交叉编译
linux·arm·linux应用编程
ι:6 小时前
NUC12 Pro 安装 Ubuntu 24.04 LTS 详细教程
linux·windows·ubuntu·nuc