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

个人博客站---运维鹿: 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 用户默认的文本编辑器
相关推荐
一夜空中最亮的星一16 分钟前
【Linux】ubuntu24.04 安装docker
linux·docker·eureka
赖small强21 分钟前
【Linux 网络基础】libwebsockets 技术文档
linux·网络·https·tls·lib·websockets
q***518943 分钟前
ubuntu 安装 Redis
linux·redis·ubuntu
q***47182 小时前
使用Canal将MySQL数据同步到ES(Linux)
linux·mysql·elasticsearch
Y淑滢潇潇3 小时前
RHCE 防火墙实验
linux·运维·rhce
wadesir3 小时前
当前位置:首页 > 服务器技术 > 正文Linux网络HSRP协议(实现路由器热备份与高可用性的实用指南)
linux·服务器·网络
稻谷君W3 小时前
Ubuntu 远程访问 Win11 WSL2 并固定访问教程
linux·运维·ubuntu
泡沫·3 小时前
4.iSCSI 服务器
运维·服务器·数据库
胡八一3 小时前
解决PHP未检测到您服务器环境的sqlite3数据库扩展报错
服务器·数据库·php
不解不惑3 小时前
OpenAI whisper 语音识别服务器搭建
服务器·whisper·语音识别