重定向、管道与环境变量

前言:测试开发的学习已经开启第三周的学习了。

奋斗至此,内容已稍有难度。

发现每一点都有其深挖的地方,但读书在某些方面来讲要不求甚解,如果只在一点深挖,那可能进度很难提的上来。

继续加油!!!!

目录

一、标准输入、标准输出、标准错误

二、重定向

(一)输出重定向

(二)错误重定向

(三)同时重定向输出与内容

三、管道

(一)管道的定义

(二)管道的用法

四、环境变量

(一)什么是环境变量?

(二)如何查看环境变量?

(三)Linux常见的环境变量

(四)如何设置环境变量

1.临时方案

2.永久方案


一、标准输入、标准输出、标准错误

执行一个shell命令行时通常会自动打开三个标准文件,即:

  • 标准输入文件(stdin,通常对应终端的键盘;
  • 标准输出文件(stdout标准错误输出文件(stderr,这两个文件都对应终端的屏幕。

进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。

二、重定向

(一)输出重定向

有的时间,不想输出到终端上(命令结果要处理);

这时可以把输出结果重定向到某个文件;

语法:命令 > 文件

比如:ps -ef > file01  表示把ps -ef的结果重定向到文件file01中;

输出重定向会覆盖文件内容,如果不希望文件内容被覆盖,可以使用 >> 追加到文件末尾。

(二)错误重定向

一般情况下,每个Linux 命令运行时都会打开三个文件:

  • 标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
  • 标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
  • 标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。

默认情况下,命令 > 文件 会将输出重定向到 file,命令 < 文件 输入重定向到文件;

如果希望将错误重定向到文件,可以这样写:命令 2 > 文件

同样可以用>>来追加错误到文件末尾。

(三)同时重定向输出与内容

同时将输出与错误重定向到同一个文件

命令 >文件 2>&1:把标准错误和标准输出都重定向到文件。比如:ps -ef >out 2>&1

同时将输出与错误重定向到不同文件

命令 >文件A 2>文件B:把标准输出重定向到文件A,标准错误重定向到文件B,比如:ps -ef 1> outfile 2>errorfile

三、管道

(一)管道的定义

经常要将一个命令的输出的内容,给另一个命令作为输入的内容进行处理

比如先用ps -ef查看系统所有进程,再用grep 1182过滤ID为1182的进程

可以这样写:

ps -ef >tmp.out_file

grep 1182 tmp.out_file

也可以更方便地写成:

ps -ef  | grep 1182

这里的“|”就是管道,表示将ps -ef的输出作为grep 1182的输入

管道示意图

  • 将前面的ps -ef命令的stdout(本来是输出到终端设备的)重定向到一个临时管道设备里
  • 同时将后一个命令grep 1182的stdin重定向到这个临时的管道设备里

(二)管道的用法

让stdout和stderr同时重定向到管道

ps -ef 2>&1 | grep err

连续使用管道

ps -ef | grep python |wc -l

四、环境变量

(一)什么是环境变量?

什么是变量?

  • 让某个特定的字符串代表不固定的内容就是变量,比如高中学过的数学y=ax+b。等号左边的y就是变量,右边的ax+b就是变量的内容。注意左边的y是未知数,右边的ax+b是已知数

什么是Linux系统的环境变量

  • Linux是一个多用户的操作系统,每个用户登录系统后,都会有一个专用的运行环境。这个运行环境是用一组环境变量来定义的。用户也可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。

打印环境变量的命令: env、 printenv

(二)如何查看环境变量?

查看系统的所有环境变量及值 env、 printenv;

查看系统的某个环境变量的值:echo $变量名,比如echo $PATH,echo命令的作用是显示字符,$放在变量名前表示引用某个变量。

(三)Linux常见的环境变量

1.常见的环境变量如HOME,PWD,PATH等

(四)如何设置环境变量

命令方式、配置文件(/etc/profile,/etc/bashrc,~/.bash_profile,~/.bashrc)

1.临时方案

  • 设置环境变量命令:export
    • 举例:修改环境变量PATH的值,增加/home/tom,命令如下:
    • export PATH=$PATH:/home/tom
  • 但是,直接执行这个命令设置的变量值只是临时有效的,在重启系统后会失效,如果要永久有效,需要修改配置文件。

2.永久方案

把export PATH=$PATH:/home/tom的命令添加到配置文件的末尾

  • 1.如果要配置对所有用户永久生效,则添加到配置文件/etc/profile
  • 2.如果要配置对当前用户生效,则添加到配置文件~/.bashrc
    • 执行如下命令使配置生效
    • source /etc/profile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738401.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

es 分词器详解

基本概念 分词器官方称之为文本分析器&#xff0c;顾名思义&#xff0c;是对文本进行分析处理的一种手段&#xff0c;基本处理逻辑为按照预先制定的分词规则&#xff0c;把原始文档分割成若干更小粒度的词项&#xff0c;粒度大小取决于分词器规则。 分词器发生的时期 1、分词…

实现支持多选的QComboBox

Qt提供的QComboBox只支持下拉列表内容的单选&#xff0c;但通过QComboBox提供的setModel、setView、setLineEdit三个方法&#xff0c;可以对QComboBox进行改造&#xff0c;使其实现下拉列表选项的多选。 QComboBox可以看作两个组件的组合&#xff1a;一个QLineEdit和一个QList…

ctfshow web入门 php特性总结

1.web89 intval函数的利用&#xff0c;intval函数获取变量的整数值&#xff0c;失败时返回0&#xff0c;空的数组返回&#xff0c;非空数组返回1 num[]1 intval ( mixed $var [, int $base 10 ] ) : int Note: 如果 base 是 0&#xff0c;通过检测 var 的格式来决定使用的进…

【工具】Git的介绍与安装

目录 前言 1W&#xff1a;什么是Git&#xff1f; 2W&#xff1a;为什么使用Git&#xff1f; 3W&#xff1a;如何使用Git&#xff1f; Git的安装步骤 测试 3.1 桌面空白部分鼠标右击 3.2 选择 Open Git Bash here 3.3 输入 git -v 命令查看版本 Git区域分布 Git的工作…

软件无线电系列——软件无线电的发展历程及体系框架

本节目录 一、软件无线电的起始 二、软件无线电SDR论坛 三、SPEAKeasy计划 四、JTRS与SCA 五、软件无线电体系框架本节内容 一、软件无线电的起始 1992年5月&#xff0c;美国电信会议上&#xff0c;Joseph Mitola III博士提出来软件无线电(Software Radio,SR)的概念。理想化的…

Qt/QML编程之路:fork、vfork、exec、clone的对比及使用(46)

前言: 系统调用system call是OS提供的服务提供接口。系统调用fork()、vfork()、exec()和clone()都用于创建和操作进程。Linux下Qt编程也会用到vfork进行多进程间通信。让我们看一下以下每个系统调用的概述和比较: fork()、vfork()和clone()的工作原理相似,但在处…

【Vue】.sync 修饰符作用

文章目录 基本用法 基本用法 官方文档是这样介绍的&#xff1a;.sync 修饰符 简单来说就是实现父子组件数据之间的双向绑定&#xff0c;当子组件修改了一个 props 的值时&#xff0c;也会同步到父组件中&#xff0c;实现子组件同步修改父组件&#xff0c;与v-model类似。类别在…

计算机网络面经八股-什么是 SYN洪泛攻击?如何防范?

SYN洪泛攻击属于 DOS 攻击的一种&#xff0c;它利用 TCP 协议缺陷&#xff0c;通过发送大量的半连接请求&#xff0c;耗费 CPU 和内存资源。 原理&#xff1a; 在三次握手过程中&#xff0c;服务器发送 [SYN/ACK] 包&#xff08;第二个包&#xff09;之后、收到客户端的 [ACK…

狂飙Linux平台,PostgreSQL16部署大全

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是【IT邦德】&#xff0c;江湖人称jeames007&#xff0c;10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】&#xff01;&#x1f61c;&am…

VUE学习第三篇----VUE实例

1、当一个 Vue 实例被创建时&#xff0c;它将 data 对象中的所有的 property 加入到 Vue 的响应式系统中。当这些 property 的值发生改变时&#xff0c;视图将会产生“响应”&#xff0c;即匹配更新为新的值。 html网页文件如下所示&#xff1a; <html> <head> &…

JavaSE——面向对象高级一(3/4)-面向对象三大特征之二:继承(初步认识继承、了解继承的好处)

目录 认识继承 继承的好处 认识继承 什么是继承&#xff1f; Java中提供了一个关键字extends&#xff0c;用这个关键字&#xff0c;可以让一个类和另一个类建立起父子关系。 例如&#xff1a; public class B extends A{} 此时A类就称为父类&#xff08;基类或超类&…

MySQL Connector连接失败之SSL connection error: protocol version mismatch

调用 mysql_real_connect&#xff08;&#xff09; 连接失败&#xff0c;报错为ERROR 2026 (HY000): SSL connection error: protocol version mismatch 调用mysql_error&#xff08;&#xff09;查看失败原因&#xff0c;结果为 SSL connection error: protocol version …

人口性别年龄分布数据、不同年龄结构、性别结构人口分布数据、乡镇街道人口分布数据

人口分布是指人口在一定时间内的空间存在形式、分布状况&#xff0c;包括各类地区总人口的分布&#xff0c;以及某些特定人口&#xff08;如城市人口、、特定的人口过程和构成&#xff08;如迁移、性别等&#xff09;的分布等。 人口分布的最大特征是不平衡性。就全世界而言&am…

Edu12 Beautiful Subarrays --- 题解

Beautiful Subarrays&#xff1a; 题目大意: 思路解析&#xff1a; 要找到一个区间并且区间的l--r里面所有的元素异或值大于等于k&#xff0c;称这样的数组是优美子数组&#xff0c;问优美子数组有多少个。 [L,R] 的数组异或和等价于 (a1,a2,a3,....aL-1) ^ (a1,a2,a3,a4,..…

CompletionService 处理异步任务

案例: public static void main(String[] args) throws Exception {ExecutorService executorService Executors.newCachedThreadPool();ArrayList<Future<Integer>> list new ArrayList<>();Future<Integer> future_15 executorService.submit(()…

【2024金三银四】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

不锈钢电阻器-栅极电阻器 - 为什么要使用它们呢?

常规 如果你看一个典型的吉他放大器的原理图&#xff0c;你会注意到有一个电阻器与第一个电子管的栅极串联&#xff0c;通常在68K左右&#xff0c;还有一个电阻器与功率管的栅极串联&#xff0c;通常为1.5K或5.6K&#xff0c;你可能会偶尔看到非常大的电阻&#xff0c; 例如 4…

ssm+vue的高校课程评价系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的高校课程评价系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&…

Java各种规则引擎

一. Drools规则引擎 1.简介&#xff1a; Drools就是为了解决业务代码和业务规则分离的引擎。 Drools 规则是在 Java 应用程序上运行的&#xff0c;其要执行的步骤顺序由代码确定 &#xff0c;为了实现这一点&#xff0c;Drools 规则引擎将业务规则转换成执行树。 2.特性&…

伪分布HBase的安装与部署

1.实训目标 &#xff08;1&#xff09;熟悉掌握使用在Linux下安装伪分布式HBase。 &#xff08;2&#xff09;熟悉掌握使用在HBase伪分布式下使用自带Zookeeper。 2.实训环境 环境 版本 说明 Windows 10系统 64位 操作电脑配置 VMware 15 用于搭建所需虚拟机Linux系统 …