【Linux学习】之将输出重定向到文件或程序

news2024/11/25 3:22:44

将输出重定向到文件或程序

文章目录

    • 将输出重定向到文件或程序
      • 1. 标准输入、标准输出和标准错误
      • 2. 输出重定向操作符
        • 2.1 用法及说明
        • 2.2 合并重定向运算符
        • 2.3 输出重定向示例
        • 2.4 输出重定向实例2
      • 3. 构建管道
        • 3.1 含义
        • 3.2 管道示例

1. 标准输入、标准输出和标准错误

进程使用称为文件描述符的编号通道来获取输入并发送输出。所有进程在开始时至少要有三个文件描述符:
标准输入(通道0) 从键盘读取输入。
标准输出(通道 1) 将正常输出发送到终端。
标准错误(通道 2) 将错误消息发送到终端。
如果程序打开连接至其他文件的单独连接,则可能要使用更大编号的文件描述符。
在这里插入图片描述

2. 输出重定向操作符

I/0重定向可更改进程获取其输入或输出的方式。该进程并不是从键盘获取输入,也不是将输出和错误发送到终端,而是执行文件读取或写入。重定向允许将消息保存到通常发送给终端窗口的文件中。或者也可以使用重定向来丢弃输出或错误,这样它们就不会显示在终端上或保存下来。

2.1 用法及说明

用法说明
> file重定向stdout 以覆盖文件
>> file重定向stdout 以附加到文件
2> file重定向stderr 以覆盖文件
2> /dev/null将stderr错误消息重定向到 /dev/nulI,从而将它丢弃
>file 2>&1,&> file重定向stdout 和stderr 以覆盖同一个文件
file 2>&1 ,&>> file重定向stdout 和stderr 以附加到同一个文件

重定向操作的顺序非常重要。以下序列将标准输出重定向到 file,然后将标准错误作为标准输出重定向到相同位置(file)。

> file 2>&1

但是,下一个序列以相反的顺序执行重定向。这会将标准错误重定向到标准输出的默认位置(终端窗口,因此没有任何更改) ,然后仅将标准输出重定向到 file。

2>&1 > file    

2.2 合并重定向运算符

&>file 代替 >file 2>&1
&>>file 代替 >>file 2>&1

2.3 输出重定向示例

  • 通过重定向,可以简化许多日常管理任务。在思考下列示例时,请参考前面的表格:保存时间戳以供日后参考
date > /tmp/saved-timestamp
  • 将一个日志文件的最后 100 行复制到另一文件。
tail -n 100 /var/log/dmesg > /tmp/last-100-boot-messages
  • 将四个文件连接为一个。
cat file1 file2 file3 file4 > /tmp/all-four-in-one

在这里插入图片描述

  • 将主目录的隐藏文件名和常规文件名列出到文件中。
Is -a > /tmp/my-file-names

在这里插入图片描述
在这里插入图片描述

  • 将输出附加到现有文件。
echo "new line of information" >> /tmp/many-lines-of-information
diff previous-file current-file >> /tmp/tracking-changes-made

在这里插入图片描述

2.4 输出重定向实例2

1)通过重定向,可以简化许多日常管理任务。在思考下列示例时,请参考前面的表格:保存时间戳以供日后参考

date > /tmp/saved-timestamp

2)将一个日志文件的最后 100 行复制到另一文件。

tail -n 100 /var/log/dmesg > /tmp/last-100-boot-messages

3)将四个文件连接为一个。

cat file1 file2 file3 file4 > /tmp/all-four-in-one

4)将主目录的隐藏文件名和常规文件名列出到文件中。

Is -a > /tmp/my-file-names

5)将输出附加到现有文件。

 echo "new line of information" >> /tmp/many-lines-of- 
 diff previous-file current-file >> /tmp/tracking-changes-made

3. 构建管道

3.1 含义

在这里插入图片描述

3.2 管道示例

1)取 1s 命令的输出并使用 less 在终端上以一次一屏的方式显示输出。

ls -1 /usr/bin | less

2)ls 命令的输出传送到 wc -1,用于统计从 s 收到的行数并将该行数显示在终端。

ls wc -1

3)在此管道中,head将输出1s t 输出内容的前10行,并且最终结果会重定向到一个文件。

ls -t ] head -n 10 > /tmp/ten-last-changed-files

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

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

相关文章

Ac-IYGEF-NH2,168781-78-0

Ac-IYGEF-amide, excellent small peptide substrate for the protein tyrosine kinase pp60c-src (Km 368 M and Vmax 1.02 mol min⁻ mg⁻). Ac-IYGEF-amide,蛋白酪氨酸激酶pp60c-src的优秀小肽底物(Km 368 μ M, Vmax 1.02 μ mol minmg)。 编号: 150669中文名称…

新冠“阳”后嗓子疼到只能喝粥?千万别错过这几条加速康复建议

你一定很熟悉这张传遍朋友圈的小照片。你周围的亲戚、朋友、同事,甚至你自己,可能已经变成了前几批“小阳人”,正在体验传说中的高热、肌痛、头痛、喉咙痛、持续咳嗽、食物不振、味觉和嗅觉丧失。此时此刻,每个人都想增加身体的战…

学习python技术难吗?

现如今Python这门语言的就业前景会非常好。相对于其他来说,它语法简单易读,消除了初学者对于“编程”这一行为的恐惧,让越来越多的非科班有信心开始通过编写简单的程序,究竟学习python技术难吗?关键在于你多注意小编这…

oracle学习篇(三)

oracle学习篇(三) 1 oracle伪列 1.1 查询rowid 1.1.1 示例代码 -- rowid 行id 添加时就生成了(删除某一列时,id会更随着一起删除,id在添加的时候就固定死了) SELECT rowid,e.* FROM emp e1.1.2 运行截图 1.2 查询rownum 1.2.1 示例代码 -- rownum 行号 查询时根据行数产生…

Jmeter(十六):jmeter场景的运行架构(本地运行和远程运行)配置远程负载机

jmeter场景的运行架构(本地运行和远程运行) 运行方式: GUI运行:通过图形界面方式运行,该运行方式的可视化界面及监听器动态展示 结果都比较消耗负载机资源,建议大并发时不用,一般进行脚本调试; 命令行运行…

LeetCode刷题复盘笔记—一文搞懂动态规划之188. 买卖股票的最佳时机 IV问题(动态规划系列第二十三篇)

今日主要总结一下动态规划的一道题目,188. 买卖股票的最佳时机 IV 题目:188. 买卖股票的最佳时机 IV Leetcode题目地址 题目描述: 给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。 设计…

带有匹配滤波器的雷达信号调制和脉冲压缩Matlab仿真

up目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 匹配滤波器: 匹配滤波器是输出端的信号瞬时功率与噪声平均功率的比值最大的线性滤波器也就是说有最大的信噪比。其滤波器的传递函数形式是信号频谱的共轭。在通信系统中,滤波器是其中重…

Selenium3自动化测试【40】Html测试报告

📌 博客主页: 程序员二黑 📌 专注于软件测试领域相关技术实践和思考,持续分享自动化软件测试开发干货知识! 📌 公号同名,欢迎加入我的测试交流群,我们一起交流学习! 目录…

Aspartic acid-PEG-BSA 天冬氨酸-聚乙二醇-牛血清白蛋白

产品名称:天冬氨酸-聚乙二醇-牛血清白蛋白 英文名称:Aspartic acid-PEG-BSA 纯度:95% 存储条件:-20C,避光,避湿 外观:固体或粘性液体,取决于分子量 PEG分子量可选:350、550、750、1k…

Android Kotlin使用APT手写ButterKnife

前言 ButterKnife通过使用BindView注解就可以完成findViewById工作,它的实现原理其实也很简单,通过APT(Annotation Processing Too,注解解析器)技术,在编译期为我们生成了一个绑定类,而从完成了View的绑定…

OpenAI掌门人Sam Altman:AI的下一个发展阶段

来源|Greylock OneFlow社区编译 翻译|胡燕君、贾川 预告了一整年的GPT-4迟迟没来,人们猜想OpenAI是不是要跳票了,更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及,再不来点深水炸弹业界地位危矣…

jsp+ssm计算机毕业设计ssm学生成绩考核管理系统【附源码】

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JSPSSM mybatis Maven等等组成,B/S模式 Mave…

对 CSS 工程化的理解

CSS 工程化是为了解决以下问题: 宏观设计:CSS 代码如何组织、如何拆分、模块结构怎样设计?编码优化:怎样写出更好的 CSS?构建:如何处理我的 CSS,才能让它的打包结果最优?可维护性&a…

SQL基础——查询基础

查询基础前言整体思维导图列的查询语法2.1 基本的SELECT语句代码示例:从Product表中输出3列执行结果查询出所有的列语法2.2 查询全部的列代码示例2.2 输出Product表中全部的列执行结果为列设置别名代码示例2.3 为列设置别名执行结果代码示例2.4 设置中文别名执行结果…

Redis持久化没玩明白,你就会把缓存数据丢了

引言 我们都知道Redis是微服务架构中重要的基础数据库中间件,通过Redis可以将数据库中的数据缓存到内存中,当服务端有数据查询请求的时候,可以直接从内存中获取数据。如此,一方面服务端可以获得比较快的数据请求响应,…

透明质酸-嵌段共聚物 透明质酸修饰聚乳酸 HA-PLA/PCL/PLGA/PEI/PLL

品牌:为华生物 产地:广州 中文名称:透明质酸-聚乳酸 英文名称:HA-PLA 溶解度:溶于部分有机溶剂 保存时间:一年 PLA分子量:根据客户要求定制 HA分子量:3000--1500K 其他分子量可根据客…

鑫磊股份通过注册:年营收8.2亿 为钟仁志与蔡海红夫妻店

雷递网 雷建平 12月15日鑫磊压缩机股份有限公司(简称:“鑫磊股份”)日前通过注册,准备在深交所创业板上市。鑫磊股份计划募资4.53亿元,其中,1.97亿元用于新增年产3万台螺杆式空压机技改项目,1.0…

Python+Selenium使用Page Object实现页面自动化测试

📌 博客主页: 程序员二黑 📌 专注于软件测试领域相关技术实践和思考,持续分享自动化软件测试开发干货知识! 📌 公号同名,欢迎加入我的测试交流群,我们一起交流学习! 目录…

03解锁源码分析-ReentrantReadWriteLock原理-AQS-并发编程(Java)

文章目录1 读锁解锁1.1 tryReleaseShared()1.2 doReleaseShared()1.3 unparkSuccessor()1.4 示意图2 写锁解锁2.1 tryRelease()2.2 尝试解锁成功2.3 setHeadAndPropagate()5 后记1 读锁解锁 查看下读锁的解锁相关源代码: public void unlock() {sync.releaseShare…

【实时数仓】在Hbase建立维度表、保存维度数据到Hbase、保存业务数据到kafka主题

文章目录一 分流Sink之建立维度表到HBase(Phoenix)1 拼接建表语句(1)定义配置常量类(2)引入依赖(3)hbase-site.xml(4)在phoenix中执行(5)增加代码a TableProc…