linux io重定向指令,Linux基础知识之 IO重定向
通常在 Shell 中执行命令的时候,我们会在输入命令的下方看到执行结果,操作系统默认将命令的执行结果输出到显示器上。当然,我们也可以手动的指定输出路径,或者输入路径,这就是 I/O 重定向。
1.标准输出重定向
使用 cat 命令,命令的执行结果将会打印在屏幕中。
我们使用 > 来进行输出重定向,此时屏幕上不再打印命令执行结果了,而是将执行结果保存到了 ./target.xxx 文件中。
来看一下 ./target.xxx 文件中的内容:
2.标准输入重定向
tr 命令可以从键盘上读取标准输入,然后打印出命令的执行结果:
底下的光标表示 tr 命令在等待用户的输入,然后将它们打印在屏幕上。ctrl + c 可以终止此命令执行。默认情况下,tr 从键盘上读取内容输出,如果我们要在其他文件中读取内容,就要使用标准输入重定向。
3. >> 和 <<
在使用 > 进行输出重定向的时候,后一次的输出会覆盖前一次的输出,如果我们不想进行覆盖,就使用 >> 进行追加重定向。
和 >> 不同的是, << 并不表示追加重定向,而是进行文档输入,或者多行输入。使用 << 的时候需要使用定界符标志,关于这个命令,学过 PHP 的同学应该比较了解了。定界符可以任意取名,只要两端保持一致即可。
输入重定向和输出重定向也可以连接配合使用,这里使用 << 和 >> 举例:
4.标准错误输出流(STDERR)
除了标出输入流(STDIN),标准输出流(STDOUT),还有标准错误输出流(STDERR)。标准错误输出流和标准输出流是不同的数据流。
如果命令发生了错误,屏幕上会打印错误信息,由于 STDERR 和 STDOUT 属于不同的数据流,因此该错误信息并不会输出到 ./result 中。
标准错误输出流使用 2>(覆盖) 或者 2>> (追加)进行重定向:
屏幕上没有打印错误信息,将错误信息输出到 ./result 文件中。
如果我们想将命令执行的结果(正常结果和出错信息)一并输出到某个文件中,可以使用 >> 和 2>> 连接进行操作,也可以使用 &> 或者 &>> 重定向 STDOUT 和 STDERR 到同一个文件中:
5.管道
管道表示数据的流向:数据在某处进行处理后,通过管道传输到另一处进行处理。Linux 中使用 | 作为管道连接符,表示将上一次命令的执行结果作为下一次命令的输入。下面是管道的两个实例用法:
6.set 命令
set 是 bash 中的一个内建命令,可以进行一些功能的开启或者关闭。为了安全起见,我们一般是不允许进行覆盖重定向的,这是可以使用 set -C 表示禁止覆盖重定向。
使用 set +C 命令表示允许覆盖重定向。
如果在使用 set -C 禁止覆盖重定向之后,我们还是想执行这样的操作呢?我们可以使用 COMMAND >| FILE,通过在 > 后加一个竖线,可以实现此操作。
7.总结
本文介绍了 Linux 中的 I/O 重定向的实现,包括标准输入、输出重定向,以及标准错误输出重定向,还有覆盖重定向和追加重定向的区别。最后介绍了 Linux 中的管道,我们使用管道对命令进行连接,前一个命令的输出作为后一个命令的输入。内容比较简单,作为一个单独的知识点,还是将其独立成文,方便以后查阅。这篇文章会介绍 grep 命令和正则表达式,学会使用 grep 命令之后,我们在 Linux 上处理文件将会非常的方便快捷。
linux io重定向指令,Linux基础知识之 IO重定向相关推荐
- linux系统下io的过程,Linux系统基础知识:IO调度
Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...
- linux文件系统管理知识导图,Linux磁盘和文件系统管理基础知识自测
自测简介:本试题为EMC自测专栏第22期,主要考查Linux磁盘和文件系统管理基础知识. 1. Linux系统中,所有设备文件存放在哪一个目录下? A. /etc B. /bin C. /dev D. ...
- 嵌入式Linux的OTA更新,基础知识和实现
嵌入式Linux的OTA更新,基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一旦嵌入式Li ...
- linux的硬件系统管理,Linux 系统硬件管理的基础知识(四)
以下主要介绍我的***次安装Linux系统遭遇,以及怎么度过这个遭遇的,希望对大家有所帮助.不喜欢的可以略过.以下接<Linux 系统硬件管理的基础知识(三)>. 四.关于存储设备的不同的 ...
- Linux操作系统快速入门|Linux操作系统(一)基础知识
Linux操作系统(一)基础知识 linux官方网站:https://www.linux.org/ linux中国:https://linux.cn/ 前言 准备把以前在知乎上写的一些文 ...
- linux 导出io,Linux基础知识之IO重定向
该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统. 什么是I/O重定向? 所谓I/O重定向简单来说就是一个过程,这个过程捕捉一个文件 ...
- linux命令基础知识 管道流,linux基础知识-I/O重定向,管道(示例代码)
系统设定 默认输出设备:标准输出,STDOUT, 1 默认输入设备:标准输入, STDIN, 0 标准错误输出:STDERR, 2 标准输入:键盘 标准输出和错误输出:显示器 I/O重定向: Linu ...
- 【分享】4412开发板-嵌入式Linux开发须要掌握的基础知识和技能
本文转自迅为电子论坛:http://www.topeetboard.com 1.Linux 基础 安装Linux操作系统 Linux文件系统 Linux经常使用命令 Linux启动过程具体解释 熟悉L ...
- Linux Socket详解 大全 基础知识
1. Socket基础概念: 1.1:形象类比: Socket和电话网络的概念可以做一个很好的类比: Linux 编程中所说的socket就如同一个端点,类比到电话网中,它就如同一个电话机. 而Soc ...
- 嵌入式linux ota,嵌入式Linux的OTA更新,基础知识和实现
嵌入式Linux的OTA更新,第1部分-基础知识和实现 OTA updates for Embedded Linux, Fundamentals and implementation 更新的需要 一 ...
最新文章
- linux windows 编译安装,Windows下编译安装OpenEXR(x86版本)
- win10下vs2015编译的程序如何运行在win7等系统(无需安装Redistributable)
- 加速安装LibcSeacher
- SQL Server事务回滚对自增键的影响
- 深度解读 MongoDB 4.4 新特性
- 洛谷 P3384 【模板】树链剖分
- MyBatis-generator使用,Example缺少分页问题解决
- win10系统崩溃怎么修复_系统崩溃怎么重装系统图文教程
- 二维数组初始化_0基础学习C语言第七章:数组(2)
- “AI+遥感”产品研究现状
- db2去除字段值的空格_sql trim()函数去掉两头空格
- VS2019新建osgEarth项目时,GL.h文件提示报错
- Oracle Spatial详解
- 按键精灵识别不出图片
- WPS插件开发流程(2)
- 以“人”为本,精准营销
- 本机配置nginx后css样式失效
- wikioi 丘比特的烦恼 (最大权匹配)
- 做人要厚道,不要太冲
- linux setfont设置大小,setfont命令