Linux管道与重定向

news2024/11/27 12:38:21

管道

是进程通信的方法之一,在Linux中用命令1|命令2的形式表示,将前一个命令的结果作为后续命令的参数进行输入,也有tee管道,可以进行多次筛选,即多次使用|过滤命令。

重定向

文件描述符FD

Linux中输入输出分为三种,标准输入0、标准正确输出1、标准错误输出2,3及以上表示其他文件方法。

文件内存写入磁盘文件的实质过程是先写入swap文件,删除原有文件,然后将swap文件修改成与原文件名称一致,所以有时因为系统操作不当,文件报错与swap相关时,可找到进程下的swap文件删除即可。

Linux中一切皆文件,进程实质也是在系统中存放的文件,我们如果打开多个终端,可以向终端文件输入字符,即可直接显示在终端上,图形化系统开启多终端很简单,centos纯命令行的需要使用快捷键ctrl+alt+F1-F7最多可以开七个终端,如果一个长时间执行前台任务,可以切换终端继续操作,终端可以直接输入w查看。
查看多终端

输出重定向

具体方法如下:

>:覆盖重定向
>>:追加重定向
1>:覆盖重定向正确的输出数据流
1>>:追加重定向正确的输出数据流
2>:覆盖重定向错误输出数据流
2>>:追加重定向错误输出数据流

通过不同的文件描述符与重定向符号结合,可以过滤输出需要的信息,剩下的会输出到屏幕,只有>是默认为1>,即输出正确的信息,&>表示无论正确错误,全部重定向。

Linux中有两个文件比较特殊,/dev/null/dev/zero,一个为空,无论如何填不满,一个无论如何取不尽,可用作垃圾堆和数据测试的来源。

输入重定向

cat的本质就是利用输入重定向,将接收到的标准输入打印到屏幕上,即cat命令本身是接收输入并打印到屏幕,后面如果接了文件就自动补上<输入重定向符号,示例如下:
cat示例
第一条是屏幕输入,下面的cat执行的操作,进行输出。

<等价于0<,将右边的转化成标准输入给左边,<< 分界符允许输入大段文本,检测到分界符就停止,故可以利用输入重定向直接建立多行文件,示例如下:
建立多行文件
接收屏幕输入保存到file.text文件,遇到EOF就停止,这里的停止符可以是不包含空格的任意字符串,只是在英文中这也是结束的缩写,遵循传统。

总结

本章学习的内容比较少,管道和重定向是我们使用Linux时比较方便的两个小工具,尤其是管道,可以在我们查日志时进行简单初步的筛选过滤,而重定向可以帮助我们实现快速的简单输入输出,目前来看只是|><的使用,但其中可以杂糅很多其他命令,极大依赖我们对系统的熟练程度。

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

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

相关文章

HTTP 抓包工具——Fiddler项目实战

网络爬虫实质上是模拟浏览器向 Web 服务器发送请求。对于一些简单的网络请求&#xff0c;我们 可以通过查看 URL 地址来构造请求&#xff0c;但对于一些稍复杂的网络请求&#xff0c;仍然通过观察 URL 地 址将无法构造正确。因此我们需要对这些复杂的网络请求进行捕获分…

高考填报志愿,性格决定命运

所谓性格决定命运&#xff0c;也即是强调了性格在左右我们的人生&#xff0c;性格会和个人的未来成就相挂钩&#xff0c;当一个人向来小心谨慎时&#xff0c;适合一些与数字打交道的工作&#xff0c;也可以从事一些比较细致点的工作&#xff0c;如果一个人向来大大咧咧&#xf…

【Linux命令入门】shell命令解析与PATH环境变量

文章目录 前言1.Linux shell 简介2. Linux命令提示符Linux命令的组成环境变量设置环境变量永久设置临时设置总结前言 Linux命令行(shell)是与操作系统交互的重要工具。通过学习和掌握基本的shell命令,用户可以高效地管理文件、执行程序和处理系统任务。PATH环境变量在Linux…

SpringBoot【3】集成 Swagger

SpringBoot 集成 Swagger 前言pom.xml 配置文件application.yml 配置文件config 包Swagger2Config entity 包UserEntity service 包impl 包SwaggerServiceImpl SwaggerService controller 包SwaggerController SwaggerApplication验证 前言 创建项目步骤、及版本选择等&#x…

从0开始C++(五):友元函数运算符重载

友元函数 介绍 C中的友元函数是一种特殊的函数&#xff0c;它可以访问和操作类的私有成员和保护成员。友元函数可以在类的内部或外部声明和定义&#xff0c;但在其声明和定义中需要使用关键字 friend 来标识。友元函数可以是全局函数&#xff0c;也可以是其他类的成员函数。 …

智慧农业解决方案:华测农机导航技术助力无人农场高效作业

在金黄的麦田、翠绿的稻田中&#xff0c;农机导航正成为无人农场的新星。如今&#xff0c;无人收割、无人播种、无人插秧等作业模式已不再是遥不可及的梦想&#xff0c;而是智慧农业快速发展中的现实写照。搭载华测导航技术的农机&#xff0c;正在田间地头忙碌。它们如同舞者般…

71-TCP协议工作原理及实战

一 服务器端 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QTcpServer> // 专门用于建立TCP连接并传输数据信息 #include <QtNetwork> // 此模块提供开发TCP/IP客户端和服务器的类QT_BEGIN_NAMESPACE namespace Ui { class M…

亲测5个电脑浏览器高效技巧,保证让你搜索效率倍增!

虽然我们每个人的电脑基本每天都会用到浏览器&#xff0c;但你会发现有的人用起浏览器就是噼里啪啦的&#xff0c;找他要个什么网站他都能快速找到&#xff0c;而有的人&#xff0c;经常打开的是广告搜索的网页&#xff0c;找不到搜索的答案非常慢。小编今天就来跟你分享一下我…

跨区域文件管控解决方案,一文了解

跨区域文件管控是一个涉及在不同地域或区域之间管理和控制文件的过程&#xff0c;它包括安全性、合规性和管理效率等多个方面。以下是一些关键的考量因素&#xff1a; 1.安全性&#xff1a;确保在传输过程中文件不被截获、篡改或泄露。使用加密技术保护文件&#xff0c;并确保传…

解释React中的“端口(Portals)”是什么,以及如何使用它来渲染子节点到DOM树以外的部分。

React中的“端口&#xff08;Portals&#xff09;”是一种将子节点渲染到DOM****树以外的部分的技术。在React应用中&#xff0c;通常情况下组件的渲染是遵循DOM的层次结构&#xff0c;即子组件会渲染在父组件的DOM节点内部。然而&#xff0c;有些情况下&#xff0c;开发者可能…

ArcGIS图斑分区(组)排序—从上到下从左到右

​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 ArcGIS图斑分区&#xff08;组&#xff09;从上到下从左到右排序 是之前的内容的升级 GIS技巧100例——12ArcGIS图斑空间排序 关于今天的内容 我们在19年已经和大家分…

Linux机器通过Docker-Compose安装Jenkins发送Allure报告

目录 一、安装Docker 二、安装Docker Compose 三、准备测试用例 四、配置docker-compose.yml 五、启动Jenkins 六、配置Jenkins和Allure插件 七、创建含pytest的Jenkins任务 八、项目结果通知 1.通过企业微信通知 2.通过邮件通知 最近小编接到一个任务用来监测和巡检网…

win10手动安装stable-diffusion-webui

目录 1.python下载安装 2.git下载安装 3.stable-diffusion-webui下载 4.安装s-d-webui的依赖包&#xff08;用国内镜像提速&#xff09; 5.git下载的stable-diffusion-webui&#xff0c;依赖包提示已安装&#xff0c;但运行webui-user.bat后&#xff0c;又开始下载 6.修…

YOLOv10改进 | Neck | 添加双向特征金字塔BiFPN【含二次独家创新】

&#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 专栏目录&#xff1a;《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有40篇内容&#xff0c;内含各种Head检测头、损失函数Loss、B…

教你使用Python玩转MySQL数据库,大数据导入不再是难题!

数据分析离不开数据库&#xff0c;如何使用python连接MySQL数据库&#xff0c;并进行增删改查操作呢&#xff1f; 我们还会遇到需要将大批量数据导入数据库的情况&#xff0c;又该如何使用Python进行大数据的高效导入呢&#xff1f; 本文会一一讲解&#xff0c;并配合代码和实…

疯狂刷题python版 | 使用PySide6自制刷题软件【源码+解析】

疯狂刷题python版 | 使用PySide6自制刷题软件【源码解析】 一、前言二、思考三、软件设计四、软件实现&#xff08;一&#xff09;使用QWebEngineView控件通过JavaScript代码和chrome内核进行数据交互和逻辑控制&#xff08;二&#xff09;用户分别通过浏览器 GUI和PySide6 GUI…

秋招突击——6/19——复习{(单调队列优化)——最大子序列和,背包问题——宠物小精灵收服问题}——新作{两两交换链表中的节点}

文章目录 引言复习单调队列优化——最大子序列和思路分析实现代码参考实现 背包问题——宠物小精灵的收服问题个人实现参考实现 新作两两交换链表中的节点个人实现参考实现 删除有序数组中的重复项个人实现知识补全迭代器的访问和控制vector删除特定的元素erasevector底层删除元…

15-JS封装:入口函数

目录 1 模块化的基本结构 2 编写封装里的jQuery函数 2.1 对象本身上添加css方法 2.2 对象原型上添加css方法 2.3 自定义构造函数 2.4 优化1-伪数组 2.5 优化2-原型链 2.6 简化代码 需求&#xff1a;给页面中所有的div设置字体颜色为红色 jQuery封装&#xff1a;$("…

1964springboot VUE 智慧社区可视化平台系统开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot VUE社区可视化平台系统是一套完善的完整信息管理类型系统&#xff0c;结合springboot框架和VUE完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用springboot框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码…

INFINI Labs 助力开源与教育:免费许可证计划全面升级

在数字化浪潮席卷全球的今天&#xff0c;INFINI Labs 深刻认识到开源项目和教育机构在技术创新与人才培养中的核心作用。因此&#xff0c;我们郑重推出全新升级的免费许可证计划&#xff0c;旨在全球范围内为开源社区和教育界提供有力支持&#xff0c;共同推动软件生态的繁荣与…