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

个人博客站---运维鹿: 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 用户默认的文本编辑器
相关推荐
无名之逆4 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
cg50174 小时前
Spring Boot 的配置文件
java·linux·spring boot
暮云星影4 小时前
三、FFmpeg学习笔记
linux·ffmpeg
rainFFrain5 小时前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon5 小时前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
mingqian_chu5 小时前
ubuntu中使用安卓模拟器
android·linux·ubuntu
xujiangyan_6 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
GalaxyPokemon6 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼6 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve