linux进阶篇:重定向和管道操作

Linux中的重定向和管道操作

llinux中的三种IO设备:

标准输入(STDIN),文件描述符号为:0,默认从键盘获取输入

标准输出(STDOUT),文件描述符号位:1,默认输出到显示终端

标准错误(STDERR),文件描述符号为:2,默认输出到显示终端

IO重定向是为了改变默认输入、输出的位置:

1 输出重定向(标准输出STDOUT和标准错误输出STDERR)

【>】标准输出覆盖重定向

【>>】标准输出追加重定向

【2>】标准错误输出重定向

【2>>】标准错误输出追加重定向

【&>】将标准输出和标准错误输出都同时重定向(相当于二次重定向【2>&1】)

【&>>】将标准输出和标准错误输出都同时追加重定向

【set -C】命令:启用系统禁止覆盖重定向(set -C执行后,再做重定向时,重定向文件如果存在则会报错 cannot overwrite existing file)如果在启用【set -C】命令后依然需要覆盖重定向文件,可以使用【>|】来强制覆盖

【set +C】命令:解除禁止覆盖重定向(set +C执行后,重定向文件如果存在则不会报错,直接覆盖)

2 输入重定向(标准输入)

【<】输入重定向;

【<<END】多行输入;(END为多行输入的结束标志)通常用于脚本创建新文件时写入固定内容

3 管道

【|】把前一个命令的执行结果当做后一个命令的输入

4 输出重定向例子

4.1 把/etc/fstab文件内容重定向到/home目录下的test文件中


4.2 把test1文件的内容追加到test文件

先创建test1文件,并再文件中写入任意内容

4.3 覆盖重定向

将test文件的内容进行覆盖

5 输入重定向例子

5.1 输入重定向方式,把小写字母转换成大写字母


5.2 多行输入


6管道例子

6.1 将input.txt 文件内容转换成大写输出

echo "THIS is Test" | tr a-z A-Z将echo输出的内容传递给tr命令,作为tr命令的输入,将输入的内容小写转换为大写

6.2 一页一页查看输入

后面还有很多内容,篇幅过长,只截取一部分内容

6.3 管道操作使用最频繁的一中情况 查找过滤

比如查看安装的软件包

比如查找文件夹

再比如查找文件中的内容

有不对的地方希望不吝赐教,欢迎在评论区留言,分享你的看法。

相关推荐
坤坤子吖1 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
Sayai1 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
青瓦梦滋1 小时前
Redis主从复制
服务器·数据库·redis·缓存·bootstrap
Elastic 中国社区官方博客2 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜2 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨2 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven3 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘3 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
LabVIEW开发3 小时前
Omron PLC:接 LabVIEW 常踩的 5 个坑
服务器·网络·labview·labview知识·labview功能·labview程序
莫晓燚3 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器