管理输入输出 管道 tee

简介:

管理输入输出

在linux系统中,正确输出的编号为1,错误输出编号为2

在系统中用普通用户执行 "student"
find /etc -name passwd 
因为student用户权限问题会有以下输出
find: ‘/etc/pki/CA/private’: Permission denied        ##没有进入权力,报错
find: ‘/etc/pki/rsyslog’: Permission denied
find: ‘/etc/audit’: Permission denied
/etc/passwd                     ##正确输出
find: ‘/etc/polkit-1/rules.d’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/dhcp’: Permission denied
find: ‘/etc/selinux/targeted/modules/active’: Permission denied
find: ‘/etc/lvm/archive’: Permission denied
find: ‘/etc/lvm/backup’: Permission denied
find: ‘/etc/lvm/cache’: Permission denied
find: ‘/etc/grub.d’: Permission denied
/etc/pam.d/passwd                   正确输出
find: ‘/etc/audisp’: Permission denied
find: ‘/etc/firewalld’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/ipsec.d’: Permission denied
find: ‘/etc/libvirt’: Permission denied
find: ‘/etc/sudoers.d’: Permission denied
find: ‘/etc/named’: Permission denied

find /etc -name passwd > file       重定向正确输出
find /etc -name passwd 2> file      重定向错误输出
find /etc -name passwd &> file      重定向所有输出

注意: >, 2> ,&>  都会覆盖源文件内容
>file                   清空file

find /etc -name passwd >> file       追加正确输出
find /etc -name passwd 2>> file     追加错误输出
find /etc -name passwd &>> file     追加所有输出

注意:>> 2>> &>> 不会覆盖源文件内容,会把相应的输出字符方到文件的最后


| 管道,管道的作用是将前一条命令的输出变成管道后命令的输入

find /etc -name passwd | wc -l     统计重定向正确输出后的行数

wKioL1lswofiI23xAAEHNQzYQX0412.png-wh_50

系统中错误的输出是无法通过管道的。
用 2>&1 可以把错误的输出编号由2变成1

wKioL1lswqax1NuwAAAahTmvPQY014.png-wh_50

tee复制输出到指定位置
date |tee file |wc -l   tee命令复制date命令的输出到file中,并统计输出行数

wKiom1lswwjjOa-7AAASX0CblDQ923.png-wh_50








      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1948363,如需转载请自行联系原作者




相关文章
|
5月前
|
缓存 监控 负载均衡
提升HTTP动态代理IP性能的最佳实践
在现代网络环境中,HTTP动态代理IP的优化配置至关重要。通过选择合适的代理类型(正向/反向代理)、配置缓存、使用负载均衡、加强安全配置(SSL/TLS加密、身份验证)、管理日志、性能监控、限制带宽、定期更新软件和优化用户体验(减少延迟、内容压缩),可以显著提升网络性能、安全性及用户满意度。根据具体需求灵活调整配置,实现最佳效果。
277 64
提升HTTP动态代理IP性能的最佳实践
|
存储 网络安全 API
数据抓取实战(一)
本文介绍了在网络通信理解和控制中常用的两款工具——FiddlerCore和TitaniumProxy。
155 1
|
人工智能 前端开发 数据可视化
AI代码生成器——CodePal
【2月更文挑战第21天】AI代码生成器——CodePal
479 1
AI代码生成器——CodePal
|
存储 SQL 关系型数据库
mysql 存储过程返回更新前记录
MySQL存储过程帮助我们在更新数据后获取旧记录,适用于审计和回滚操作。通过`BEFORE UPDATE`触发器和临时表,可以捕获并保存更新前的记录。示例展示了如何创建存储过程,当更新`employees`表时,将旧记录保存至临时表`old_records`。此外,还探讨了存储过程在数据版本控制、审计和回滚操作中的应用,以及如何与事务结合确保数据一致性。通过学习和使用存储过程,可以更有效地管理和保护数据库中的数据。
417 0
|
数据采集 机器学习/深度学习 分布式计算
阿里云大数据ACA及ACP复习题(391~400)
本人备考阿里云大数据考试时自行收集准备的题库,纯手工整理的,能够覆盖到今年7月份,应该是目前最新的,发成文章希望大家能一起学习,不要花冤枉钱去买题库背了,也希望大家能够顺利通关ACA和ACP考试(自己整理解析也需要时间,可能有更新不及时的情况哈)
|
存储 缓存 Kubernetes
带你读《云原生应用开发 Operator原理与实践》第三章 Kubebuilder 原理3.3 Controller-runtime 模块分析(四)
带你读《云原生应用开发 Operator原理与实践》第三章 Kubebuilder 原理3.3 Controller-runtime 模块分析
|
编解码 Ubuntu
百度搜索:蓝易云【Ubutun开机黑屏解决方法】
请记住,在尝试任何解决方法之前,最好先了解你的系统配置和所使用的Ubuntu版本,以确保所采取的操作是适用的。此外,如果你对特定命令或操作不熟悉
120 6
百度搜索:蓝易云【Ubutun开机黑屏解决方法】
|
弹性计算 运维 安全
利用CEN-TR实现企业级云上网络架构最佳实践
随着云计算的普及,越来越多的传统企业客户也在选择把IDC的业务系统搬到公共云上,实现更大的弹性、更强的灵活性、更高的性价比。但与泛互联网型企业的轻资产相比,传统企业的云下IT规模较大,有比较沉重历史包袱重,以及各种行业安全规范的约束,所以对于网络的规划设计、部署使用、运维管理都有自己的要求,仅仅具备云产品的初级使用能力已不能满足实际使用需求。企业级云上网络架构的重点是帮助企业用户更高效地搭建安全可靠的云上网络架构,本文主要针对企业客户在云上的南北向流量(访问internet/被internet用户访问)和东西向流量(企业内部VPC互访)的互访、安全、管理等多方面需求,利用CEN-TR(云企业网企业版)实现云上东西向+南北向流量安全和统一公网出口的最佳实践。
利用CEN-TR实现企业级云上网络架构最佳实践
|
缓存 负载均衡 算法
SpringCloud极简入门-客户端负载均衡Ribbon
我们知道,为了防止应用出现单节点故障问题,同时为了提高应用的作业能力,我们需要对应用做集群 ,如果我们对user-server(用户服务)做了集群 ,那么这个时候回衍生出一些问题:现在有两个user-server(用户服务)就意味着有两个user-server(用户服务)的通信地址,我的order-server(订单服务)在向user-server(用户服务)发起调用的时候该访问哪个?如何访问?这个时候就需要有一个组件帮我们做请求的分发,即:负载均衡器,而Ribbon就是一个客户端负载均衡器。
170 0
|
人工智能 索引 Python
Python 元组
除了两个方面,数据类型几乎与列表数据类型一样。首先,元组输入时用圆括号(),而不是用方括号[]元组与列表的主要区别还在于,元组像字符串一样,是。如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明这种情况。否则,Python 将认为,你只是在一个普通括号内输入了一个值。逗号告诉 Python,这是一个元组(不像其他编程语言,Python 接受列表或元组中最后表项后面跟的逗号)。利用你可以用元组告诉所有读代码的人,你不打算改变这个序列的值。如果需要一个永远不会改变的值的序列,就使用元组。
170 0
Python 元组