Linux云计算基础篇(6)

一、IO重定向和管道

stdin:standard   input     标准输入

stdout:standard  output  标准输出

stderr: standard  error    标准错误输出

举例

find   /etc/ -name  passwd   > find.out           将正确的输出重定向在这个find.out文件中

find   /etc/ -name  passwd   2> find.err          将错误输出重定向这个find.err这个文件中

切记勿重定向覆盖之前的文件,如果是追加的话,请使用 " >> " 这个符号

find   /etc/ -name  passwd   2 > > find.err   

find   /etc/ -name  passwd   2>   /dev/null              将错误输出重定向空文件当中

find   /etc/ -name  passwd   &>     find.text            &表示所有信息,都重定向到find.text文件中

find   /etc/ -name  passwd   2>&1     find.text         2>&1将错误信息当作正确信息输出

I/O重定向与管道:LinuxShell的核心数据流控制

二、标准数据流(StandardStreams)

每个Linux命令运行时自动打开三个数据流:

|流名称|文件描述符|默认来源/目标|用途|

|---------|------------|----------------|--------------------|

|stdin|0|键盘|命令的输入数据|

|stdout|1|终端屏幕|命令的正常输出|

|stderr|2|终端屏幕|命令的错误信息|

重定向的本质:改变这些数据流的来源或目标(从键盘/屏幕→文件/设备/其他命令)。

三、I/O重定向详解

1.输出重定向

|操作符|作用|示例|

|-------------|---------------------------------------|-------------------------------|

|>或1>|覆盖写入文件(stdout)|ls>file.txt|

|>>或1>>|追加到文件(stdout)|date>>log.txt|

|2>|覆盖写入错误到文件(stderr)|gcccode.c2>errors.log|

|2>>|追加错误到文件(stderr)|pinghost2>>network.err|

|&>|同时重定向stdout+stderr(覆盖)|command&>output.log|

|&>>|同时重定向stdout+stderr(追加)|script.sh&>>debug.log|

2.输入重定向

|操作符|作用|示例|

|--------|-------------------------------|-------------------------------|

|<|从文件读取stdin|sort<unsorted.txt|

|<<|HereDocument(内联文本)|见下方示例|

|<<<|HereString(字符串输入)|grep"error"<<<"$message"|

HereDocument示例:

bash

mail-s"Reminder"user@example.com<<END

Hello!Meetingstartsat10AM.

Pleasebeontime.

END

3.高级用法

-重定向到文件描述符:

bash

将stderr合并到stdout

command2>&1>output.log

交换stdout和stderr

command3>&11>&22>&3

-丢弃输出(黑洞设备):

bash

command>/dev/null丢弃stdout

command2>/dev/null丢弃stderr

command&>/dev/null丢弃所有输出

---

四、管道(Pipe):|

作用:将一个命令的stdout作为下一个命令的stdin。

|示例命令|说明|

|-----------------------------------|------------------------------------------|

|ls-l\|grep".txt"|列出文件并过滤出.txt文件|

|psaux\|sort-nk4|查看进程并按内存使用排序|

|cataccess.log\|cut-d''-f1\|sort\|uniq-c|统计日志中每个IP的访问次数|

管道vs重定向

|特性|管道(\|)|重定向(>,<)|

|------------|------------------------|------------------------|

|数据方向|命令→命令|命令↔文件/设备|

|数据流|只传递stdout|可控制stdin/stdout/stderr|

|使用场景|命令链式处理|输入/输出到持久化存储|

---

五、关键应用场景

1.日志处理

bash

grep"ERROR"/var/log/syslog|awk'{print$5}'>errors.txt

2.数据转换

bash

echo"helloworld"|tr'a-z''A-Z'输出:HELLOWORLD

3.实时监控

bash

tail-f/var/log/nginx/access.log|grep"404"

4.错误隔离

bash

保存正常输出,丢弃错误

makebuild2>/dev/null|teebuild.log

5.多步骤分析

bash

netstat-tuln|grep":80"|awk'{print$5}'|cut-d:-f1

---

六、最佳实践与注意事项

1.顺序敏感:

command2>&1>file和command>file2>&1作用不同(后者正确)。

2.管道错误处理:

默认管道只传递stdout,需显式合并错误流:

bash

command2>&1|less

3.避免覆盖重要文件:

使用>file前确认文件可覆盖,或用set-onoclobber禁止覆盖。

4.管道中断:

用tee同时查看和保存管道数据:

bash

dmesg|teeboot.log|grep"USB"

5.性能考量:

避免对大数据集使用多次管道,改用awk单次处理:

bash

低效:catbigfile|grep"x"|wc-l

高效:grep"x"bigfile|wc-l

>Linux哲学精髓:通过管道和重定向组合小工具(如grep,sort,awk),实现复杂任务。例如统计词频:

>bash

>catbook.txt|tr'''\n'|sort|uniq-c|sort-nr

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

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

相关文章

Python将COCO格式分割标签绘制到对应的图片上

Python将COCO格式分割标签绘制到对应的图片上 前言前提条件相关介绍COCO 格式简介&#xff08;实例分割&#xff09;&#x1f4c1; 主要目录结构&#xff1a;&#x1f4c4; JSON 标注文件结构示例&#xff1a;✅ 特点&#xff1a; 实验环境Python将COCO格式分割标签绘制到对应的…

光纤(FC)交换机与以太网(网络)交换机的区别

光纤通道交换机&#xff08;FC交换机&#xff09;与普通以太网交换机&#xff08;网络交换机&#xff09;在用途、协议、性能、可靠性等方面存在显著差异&#xff0c;主要区别如下&#xff1a; 1. 用途与网络类型 FC交换机 主要用于存储区域网络&#xff08;SAN&#xff09;&a…

电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问题

电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问题 简单学习一下有限元法的基础理论&#xff0c;书本为电磁场有限元经典教材&#xff1a; THE FINITE ELEMENT METHOD IN ELECTROMAGNETICS, JIAN-MING JIN 目录 电磁场有限元方法EX2.2-里兹法求解泊松方程控制的边值问…

云端备份与恢复策略:企业如何选择最安全的备份解决方案

更多云服务器知识&#xff0c;尽在hostol.com 想象一下&#xff0c;某个凌晨&#xff0c;你突然发现公司所有重要数据都被加密&#xff0c;系统崩溃&#xff0c;业务停摆。有人给你打来电话说&#xff1a;“一切都被勒索了&#xff0c;恢复费用可能需要几百万。”这时&#xf…

OSPF高级特性之FRR

一、概述 众所周知,IGP当中链路状态路由协议(OSPF、ISIS)之所以可以代替我们的矢量路由协议(RIP),就是因为链路状态路由协议可以根据某些特性快速的感知到路由的变化从而改变路径。 前面我们已经介绍过了OSPF的其中一个快速收敛的机制,SPF算法,本章节将介绍另一个快速收敛机制,…

多元化国产主板,满足更高性能、更高安全的金融发展

在金融行业数字化转型的浪潮中&#xff0c;对于核心硬件的性能与安全需求达到了前所未有的高度。国产主板应运而生&#xff0c;凭借其卓越的多元化特性&#xff0c;为金融领域带来了高性能运算与高安全防护的双重保障&#xff0c;成为推动金融行业发展的关键力量。以高能计算机…

数据库分布式架构:ShardingSphere 实践

一、数据库分布式架构概述 1.1 分布式架构概念 在当今数字化时代&#xff0c;随着业务的不断拓展和数据量的爆炸式增长&#xff0c;传统的单机数据库架构逐渐暴露出诸多局限性。例如&#xff0c;在电商大促期间&#xff0c;海量的订单数据和用户访问请求会让单机数据库不堪重…

【WRFDA教程第二期】运行WRFDA 3DVAR/4DVAR数据同化

目录 一、准备阶段&#xff1a;下载并解压测试数据二、运行 3DVAR 教学实验日志分析&#xff08;wrfda.log&#xff09;进阶实验建议&#xff1a;对比不同设置的影响输出文件说明 三、运行 4DVAR 教学实验步骤1&#xff1a;准备工作目录与环境变量步骤2&#xff1a;链接可执行文…

redis缓存三大问题分析与解决方案

什么是缓存&#xff1f; 缓存&#xff08;Cache&#xff09;是一种将热点数据缓存在内存中&#xff08;如 Redis&#xff09;以加快访问速度、减轻数据库压力的技术。 但引入缓存后可能出现 三大核心问题&#xff1a; 缓存穿透&#xff08;Cache Penetration&#xff09;缓存…

李宏毅机器学习笔记——梯度下降法

深度学习介绍 基于仿生学的一种自成体系的机器学习算法&#xff0c;包括但不限于图像识别、语音、文本领域。 梯度下降法 作为深度学习算法种常用的优化算法 梯度下降法&#xff0c;是一种基于搜索的最优化方法&#xff0c;最用是最小化一个损失函数。梯度下降是迭代法的一…

day50/60

浙大疏锦行 DAY 50 预训练模型CBAM模块 知识点回顾&#xff1a; resnet结构解析CBAM放置位置的思考针对预训练模型的训练策略 差异化学习率三阶段微调 ps&#xff1a;今日的代码训练时长较长&#xff0c;3080ti大概需要40min的训练时长 作业&#xff1a; 好好理解下resnet18的…

Vue3 之vite.config.js配置

一、示例 import { defineConfig } from vite import vue from vitejs/plugin-vue import path from path // https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],base: ./,build: {assetsDir: static, //指定静态资源目录rollupOptions: {input: {mai…

利用Gpu训练

方法一&#xff1a; 分别对网络模型&#xff0c;数据&#xff08;输入&#xff0c;标注&#xff09;&#xff0c;损失函数调用.cuda() 网络模型&#xff1a; if torch.cuda.is_available():netnet.cuda() 数据&#xff08;训练和测试&#xff09;&#xff1a; if torch.cud…

使用excel中的MATCH函数进行匹配数据

一、背景 在平日处理数据时&#xff0c;经常需要将给定数据按照制定的数据进行排序&#xff0c;数量比较大时&#xff0c;逐个处理有点费事费力且容易出错&#xff0c;这时可借助excel表格中match函数进行精确匹配。 二、使用match函数–精确排序操作步骤 主要工作步骤&#xf…

SpringCloud系列(41)--SpringCloud Config分布式配置中心简介

前言&#xff1a;微服务意味着要将单体应用中的业务拆分成一个个子服务&#xff0c;每个服务的粒度相对较小&#xff0c;因此系统中会出现大量的服务&#xff0c;但由于每个服务都需要必要的配置信息才能运行&#xff0c;所以—套集中式的、动态的配置管理设施是必不可少的&…

wireshark介绍和使用

Wireshark 介绍 Wireshark 是一款开源的 网络协议分析工具&#xff08;Packet Sniffer&#xff09;&#xff0c;用于捕获和分析网络数据包。它支持多种协议解析&#xff0c;适用于网络调试、安全分析、网络教学等场景。 官网&#xff1a;https://www.wireshark.org/ 特点&#…

【甲方安全建设】敏感数据检测工具 Earlybird 安装使用详细教程

文章目录 背景工具介绍安装方法一、Linux 与 macOS 安装流程二、Windows 系统安装流程(一)三、Windows 系统安装流程(二)四、错误处理使用说明模块与规则机制集成与运维建议结语背景 随着源代码泄露、配置误提交、密码硬编码等风险频发,企业源代码库中潜在的敏感信息泄漏…

异步Websocket构建聊天室

目录 Websocket技术背景 Websockec简介 实现websocket通信程序 实验环境&#xff1a; 服务端&#xff08;阿里云ESC,VPC网络&#xff09;&#xff1a; 客户端1&#xff08;本机&#xff09;&#xff1a; 通信模型&#xff1a; 实现功能逻辑&#xff1a; 源代码&#xff1a; 服务…

OpenCV CUDA模块设备层-----反向二值化阈值处理函数thresh_binary_inv_func()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 OpenCV CUDA 模块&#xff08;cudev&#xff09; 中的一个仿函数&#xff08;functor&#xff09;生成器&#xff0c;用于创建一个反向二值化阈值…

【实现一个时间MCP完整技术解析】

&#x1f552; MCP Time Server 完整技术解析&#xff1a;从核心实现到文件架构的深度剖析 目前已上传npm库&#xff0c;chan-mcp-time-server&#xff0c;有兴趣的可以下载试试 创建时间: 2025年7月2日 &#x1f3af; 项目概述与架构设计 核心问题定义 AI助手在处理时间相关…