当前位置: 首页 > news >正文

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

个人博客站—运维鹿: 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生成一个随机数字
PS1Bash解释器的提示符
PATH定义解释器搜索用户执行命令的路径
EDITOR用户默认的文本编辑器
http://www.lryc.cn/news/525110.html

相关文章:

  • 可扩展性设计架构模式——开闭原则
  • 算法随笔_17: 回文数
  • 计算机的错误计算(二百一十九)
  • React进阶之高阶组件HOC、react hooks、自定义hooks
  • 【Pytest】基础到高级功能的理解使用
  • RHCE实验详解
  • 备赛蓝桥杯之第十五届职业院校组省赛第二题:分享点滴
  • MyBatis 注解开发详解
  • Kivy App开发之UX控件VideoPlayer视频播放
  • 简单排序算法
  • C语言初阶牛客网刷题——JZ17 打印从1到最大的n位数【难度:入门】
  • 基于springboot+vue的校园二手物品交易系统的设计与实现
  • 开发环境搭建-2:配置 python 运行环境(使用 uv 管理 python 项目)
  • STM32 ST7735 128*160
  • 【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
  • VB读写ini配置文件将运行文件放入任务计划程序设置为开机自启动
  • Java基础 (一)
  • 数据结构——实验六·散列表
  • springboot网上书城
  • 如何在 Pytest 中使用命令行界面和标记运行测试
  • 不建模,无代码,如何构建一个3D虚拟展厅?
  • github汉化
  • Unity Line Renderer Component入门
  • 数据库的三级模式结构与两级映像
  • TCP断开通信前的四次挥手(为啥不是三次?)
  • win32汇编环境,按字节、双字等复制字符的操作
  • .net 项目引用与 .NET Framework 项目引用之间的区别和相同
  • RabbitMQ--延迟队列
  • 使用pyboard、micropython和tja1050进行can通信
  • JS学习之JavaScript模块化规范进化论