管道符、重定向与环境变量
个人博客站—运维鹿: 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、查看环境变量
-
查看所有变量
printenv # 显示所有环境变量 env # 类似printenv,但可同时执行命令(如 env MY_VAR=value command) -
查看特定变量
echo $PATH # 输出PATH变量的值 printenv USER # 显示当前用户
5.2、设置环境变量
-
临时设置(仅在当前会话有效)
export MY_VAR="value" # 设置变量并导出为环境变量 MY_VAR="value" # 仅设置为Shell变量(不导出到子进程) -
永久设置(需写入配置文件)
-
用户级配置
~/.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:全局配置,对所有用户生效。
-
-
配置文件加载顺序
- 登录Shell:加载
/etc/profile→~/.bash_profile→~/.bashrc(如果被显式调用)。 - 非登录Shell:仅加载
~/.bashrc。
- 登录Shell:加载
-
执行
source ~/.bashrc重新加载配置。 -
使用
which command检查命令路径优先级。
5.3、常见环境变量
| 变量名称 | 作用 |
|---|---|
| HOME | 用户的主目录(即家目录) |
| SHELL | 用户在使用的Shell解释器名称 |
| HISTSIZE | 输出的历史命令记录条数 |
| HISTFILESIZE | 保存的历史命令记录条数 |
| 邮件保存路径 | |
| LANG | 系统语言、语系名称 |
| RANDOM | 生成一个随机数字 |
| PS1 | Bash解释器的提示符 |
| PATH | 定义解释器搜索用户执行命令的路径 |
| EDITOR | 用户默认的文本编辑器 |
相关文章:
管道符、重定向与环境变量
个人博客站—运维鹿: http://www.kervin24.top CSDN博客—做个超努力的小奚: https://blog.csdn.net/qq_52914969?typeblog 一、重定向 将命令和文件结合 标准输入重定向(STDIN,文件描述符为0):默认从键盘输入&am…...
可扩展性设计架构模式——开闭原则
1. 概述 在架构设计中,遵循开闭原则(Open/Closed Principle, OCP),代码应该“对扩展开放,对修改关闭”是实现可扩展性的关键。这个原则指导我们设计系统时,应使其对新增功能开放,而对现有代码的修改封闭。这…...
算法随笔_17: 回文数
上一篇: 算法随笔_16: 找出第k小的数对距离-CSDN博客 题目描述如下: 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左&…...
计算机的错误计算(二百一十九)
摘要 大模型能确定 sin(2.6^10) 的符号吗?实验表明,大模型的计算、推理均有问题。另外,结论也是错的。 前面讨论的内容为自变量是 2.6^100的正弦,本节讨论自变量为 2.6^10的正弦(对于某些大模型,2.6^100似…...
React进阶之高阶组件HOC、react hooks、自定义hooks
React高级 高阶组件 HOC属性代理反向继承属性代理和反向继承的区别实例实例一实例二 HooksHooks APIuseState:useEffect:useLayoutEffect:useRef:useContext:useReducer:useMemouseCallback 自定义Hooks 拓展ÿ…...
【Pytest】基础到高级功能的理解使用
文章目录 第一部分:Pytest 简介1.1 什么是 Pytest?1.2 Pytest 的历史1.3 Pytest 的核心概念1.4 Pytest 的特点1.5 为什么选择 Pytest? 第二部分:Pytest 的基本使用2.1 安装 Pytest2.2 编写第一个测试用例2.2.1 创建一个简单的测试…...
RHCE实验详解
目录 实验分析 环境拓扑结构 项目需求 主机环境描述 实验步骤 一、密钥互信和主机名更改 二、DNS 三、NGINX 四、MARIADB 五、NFS 六、NTP 七、论坛服务 结果展示及痛点解答 实验分析 环境拓扑结构 项目需求 1. 172.25.250.101 主机上的 Web 服务要求提供 www.ex…...
备赛蓝桥杯之第十五届职业院校组省赛第二题:分享点滴
提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议 由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题࿰…...
MyBatis 注解开发详解
MyBatis 注解开发详解 MyBatis 支持使用注解来进行数据库操作。注解方式将 SQL 语句直接写在 Java 接口中,通过注解来完成 CRUD(增删改查)操作,省去了使用 XML 配置的繁琐步骤。这种方式适合简单项目或快速原型开发,因…...
Kivy App开发之UX控件VideoPlayer视频播放
kivy使用VideoPlayer控件实现视频播放,可以控制视频的播放,暂停,音量调节等功能。 在使用VideoPlayer视频播放器时,可以参考下表属性来设置其样式和触发事件。 属性说明source视频路径,默认为空state视频状态,值play,pause,stop,默认为stopthumbnail显示视频的缩略图…...
简单排序算法
异或运算及异或运算实现的swap方法 ^(异或): ^运算是计算机中的位运算,运算规则为相同为0,不同为1(也被称为无进位相加)。位运算处理效率比常规运算符效率更高。 异或运算遵循的法则: 0^N N N^N 0 异或运算…...
C语言初阶牛客网刷题——JZ17 打印从1到最大的n位数【难度:入门】
1.题目描述 牛客网OJ题链接 题目描述: 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 用返回一个整数列表来代替打印n 为正整数,0 < n < 5 示例1 输入&…...
基于springboot+vue的校园二手物品交易系统的设计与实现
开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…...
开发环境搭建-2:配置 python 运行环境(使用 uv 管理 python 项目)
在 WSL 环境中配置:WSL2 (2.3.26.0) Oracle Linux 8.7 官方镜像 UV 介绍 uv软件官网(github 需要梯子,没错这个软件的官网真就是 github 页面):https://github.com/astral-sh/uv 中文官网(github 需要梯…...
STM32 ST7735 128*160
ST7735 接口和 STM32 SPI 引脚连接 ST7735 引脚功能描述STM32 引脚连接(示例,使用 SPI1)SCLSPI 时钟信号 (SCK)PA0(SPI1_SCK)SDASPI 数据信号 (MOSI)PA1 (SPI1_MOSI)RST复位信号 (Reset)PA2(GPIO 手动控制)DC数据/命令选择 (D/C)PA3 (GPIO 手…...
【面试总结】FFN(前馈神经网络)在Transformer模型中先升维再降维的原因
FFN(前馈神经网络)在Transformer模型中先升维再降维的设计具有多方面的重要原因,以下是对这些原因的总结: 1.目标与动机 高维映射空间:FFN的设计目的是通过一系列线性变换来拟合一个高维的映射空间,而不仅…...
VB读写ini配置文件将运行文件放入任务计划程序设置为开机自启动
本示例使用设备: https://item.taobao.com/item.htm?spma21dvs.23580594.0.0.52de2c1bWmhJZJ&ftt&id562957272162 Public Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpAppl…...
Java基础 (一)
基础概念及运算符、判断、循环 基础概念 关键字 数据类型 分为两种 基本数据类型 标识符 运算符 运算符 算术运算符 隐式转换 小 ------>>> 大 强制转换 字符串 拼接符号 字符 运算 自增自减运算符 ii赋值运算符 赋值运算符 包括 强制转换 关系运算符 逻辑运算符 …...
数据结构——实验六·散列表
嗨~~欢迎来到Tubishu的博客🌸如果你也是一名在校大学生,正在寻找各种编程资源,那么你就来对地方啦🌟 Tubishu是一名计算机本科生,会不定期整理和分享学习中的优质资源,希望能为你的编程之路添砖加瓦⭐&…...
springboot网上书城
摘 要 在Internet高速发展的今天,我们生活的各个领域都涉及到计算机的应用,其中包括网上书城管理系统的网络应用,在国外网上书城管理系统已经是很普遍的方式,不过国内的书城管理系统可能还处于起步阶段。网上书城管理系统具有网上…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
