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

个人博客站---运维鹿: 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 用户默认的文本编辑器
相关推荐
有谁看见我的剑了?几秒前
ubuntu 22.04 wifi网卡配置地址上网
linux·运维·ubuntu
码农新猿类8 分钟前
Ubuntu摄像头打开失败
linux·运维·ubuntu
jstart千语20 分钟前
【消息队列】RabbitMQ基本认识
java·服务器·分布式·rabbitmq
PWRJOY31 分钟前
Ubuntu磁盘空间分析:du命令及常用组合
linux·运维·ubuntu
ASDyushui42 分钟前
Shell 编程之正则表达式与文本处理器
linux·正则表达式
wanhengidc1 小时前
SCDN能够运用在物联网加速当中吗?
运维·服务器·网络
leona_nuaa1 小时前
p2p虚拟服务器
服务器·网络协议·p2p
zuozewei1 小时前
安全扫描之 Linux 杀毒软件 Clamav 安装
linux·运维·安全
wangchen_01 小时前
linux-信号保存和处理
linux·运维·服务器
Eric.Lee20211 小时前
conda 输出指定python环境的库 输出为 yaml文件
linux·python·conda