首页 > 系统相关 >Linux I\O重定向与管道

Linux I\O重定向与管道

时间:2023-12-07 20:33:46浏览次数:39  
标签:输出 重定向 zjxdd tr 命令 管道 Linux

一:I\O重定向

 linu系统中的三种I/O设备所代表的编号分别是:
标准输入(STDIN),文件描述符为0,默认从键盘获取输入;
标准输出(STDOUT),文件描述符为1,默认输出到显示屏;
标准错误(STDERR),文件描述符为2,默认输出到显示屏。

 

I/O重定向就是为了改变默认输入、输出的位置:

>:表示标准输出覆盖重定向;

>>:表示标准输出追加重定向;
2>:表示错误输出覆盖重定向;

<:输入重定向;

<<:多行输入;

 tr 命令

tr 转换和删除字符

[root@zjxdd]# tr 123 abc
1111
aaaa
^C
[root@zjxdd]# tr 'a-z' 'A-Z'
asdfgh
ASDFGH
^C
[root@zjxdd]# tr -d 'ace'
ace111ace222ace444ace
111222444
^C

二:进程管道

管道(使用符号“|”表示)用来连接多个命令

格式:

命令1 | 命令2 | 命令3|...

 

管道中的 - 符号

管道中有时会使用 - 符号

示例:

将 /home 里面的文件打包,但打包的数据不是记录到文件,而是传送到 stdout,经过管道后,将 tar -cvf - /home 传送给后面的 tar -xvf - , 后面的这个 - 则是取前一个命令的 stdout, 因此,就不需要使用临时fifile了

tar -cvf - /home | tar -xvf -

 

 tee 命令

利用tee命令可以重定向到多个目标

格式:

命令1 | tee [-a ] 文件名 | 命令2

 

以上可以把命令1的STDOUT保存在文件中,做为命令2的输入

选项:

-a 追加

功能:

保存不同阶段的输出

复杂管道的故障排除

同时查看和记录输出

范例:

[root@zjxdd]#cat <<EOF | tee /etc/motd
> welcome to magedu
> happy new year
> EOF
welcome to magedu
happy new year

标签:输出,重定向,zjxdd,tr,命令,管道,Linux
From: https://www.cnblogs.com/LSY0314/p/17883885.html

相关文章

  • Linux文件权限
    一:基本权限UGO权限对象:u:属主(拥有者)g:属组(拥有者同组)o:其他人(其他用户)特殊对象:a:所有人(u+g+o) 权限类型:符号表示数字表示说明符号表示数字表示说明r4只读rx5读和执行w2只写wx3写和执行x1只执行rwx7读、写和执行rw6读和写---0无权限......
  • Linux端ALSA音频处理库
    1.项目介绍项目Github地址:https://github.com/alsa-project/alsa-libALSA(AdvancedLinuxSoundArchitecture)是Linux操作系统上的音频处理框架。它提供了对音频设备的抽象和控制,使应用程序能够与音频硬件进行交互。ALSA库是ALSA项目的一部分,它为开发者提供了一组API(应用程序编......
  • does not have a SELinux domain defined. android 开机启动
    问题:dmesg [  46.089306]init:Servicemysvc2 doesnothaveaSELinuxdomaindefined. servicemysvc1/system/vendor/bin/app1classmainuserrootgrouprootsystemreadprocdisabledwritepid/dev/cpuset/foreground/tasksservicemysvc2......
  • java打包好的jar包在Linux服务器上指定端口并后台运行命令
    前提条件:a.已经在Linux服务器上安装了java环境。b.切换到jar包所在的目录下。c.运行方式为:java-jar运行。举例说明:包名  运行端口test.jar  8080命令如下:java-jar-Dserver.port=8080test.jar&>test.out&1解释:1.表示将test.jar这个jar包运行在8080端口(前提是端口......
  • java使用ftp连接linux处理文件
    1、Maven依赖<!--FTP使用包--><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dependency>......
  • linux-ELK安装配置
    前言:  ELK是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash和Kibana。   •Elasticsearch是一个搜索和分析引擎。   •Logstash是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如Elasticsearch等存储库中。......
  • linux iptables操作
    1.查看iptables规则iptables-nL2.添加iptables规则iptables-AINPUT-s10.0.0.0/8-d10.0.0.0/8-ptcp-mmultiport--dports6379,6643-jACCEPT该命令使用 -AINPUT 将规则添加到过滤器的INPUT链(即入站流量),并指定以下条件:-s10.0.0.0/8:源IP地址是 10.0.0.......
  • IntelliJ IDEA无公网远程Linux服务器环境开发(建议收藏!)
    IDEA的远程开发功能,可以将本地的编译、构建、调试、运行等工作都放在远程服务器上执行,而本地仅运行客户端软件进行常规的开发操作即可,旧版本IDEA目前不支持该功能.,本例使用的是IDEA2023.2.5版本下面介绍如何在IDEA中设置远程连接服务器开发环境并结合Cpolar内网穿透工具实现无......
  • Linux编写Shell脚本获取指定目录下所有文件并处理
    Linux编写Shell脚本获取指定目录下所有文件进行处理并保存到新目录#!/bin/bashapp_name="shell"path="/dir"#原目录last_path="/newDir"#新目录echo"======================start${app_name}=============================="if[-n"$(ls$path......
  • 0x00 Linux Fundamentals Part 1
    Task1、引言目标:在Linux机器上运行第一条命令会与文件系统进行交互介绍在Linux上的用户和组Task2、背景知识“Linux”这个名称实际上是基于UNIX(另一种操作系统)的多个操作系统的总称。由于UNIX是开源的,Linux的变体具有各种类型和大小-适用不同的用途。例如,Ubuntu和......