管道及i/o重定向

breeze breeze     2022-11-29     447

关键词:

管道及IO 重定向 > < >> <<
计算机组成:
运算器,控制器:CPU
存储器:RAM
输入/输出设备 I/O

程序: 指令和数据
控制器:指令
运算器:
存储器:

地址总线: 内存寻址
数据总线: 传输数据
控制总线: 控制指令

寄存器: CPU暂时存储器

系统设定:
默认输出设备: 标准输出 STDOUT 1
标准输入设备: 标准输入 STDIN     0
标准错误输出: STDERR                2

标准输入: 键盘
标准输出和错误输出: 显示器

I/O 重定向 :改变输入输出的默认来源

Linux:输出重定向 :
> : 输出重定向,覆盖输出
>> : 输出重定向,追加输出

set -C : 禁止对已经存在的文件使用覆盖重定向输出,若想强制覆盖,则用 >|
set +C : 关闭上诉功能

2> : 重定向错误输出 ,覆盖
2>> : 重定向错误输出,追加
标准输出和错误输出属于两个不同的数据流。

&> redirect 重定向所有正确和错误输出


Linux 输入重定向:
< : 输入重定向
tr : 大写字符转换
tr ‘a-z‘ ‘A-Z‘ < /etc/test 表示将/etc/test 下的字符作为输入,重定向给tr。
即将/etc/test 下的所有小写转换为大写

<< : Here Document 在此处生成文档
cat << END
the first line
the second line
END
将上面的两行作为文档输出 输入END 标志结束,END 为标志符号,也可以用其他表示,一般我们用END,或EOF


管道: 前一个命令的输出,作为后一个命令的输入
命令1 | 命令2 | 命令3
echo "hello,word" | tr ‘a-z‘ ‘A-Z‘

tee 命令: 从标准输入读取数据,并发送至标准输出和文件
echo "Hello ,Word " | tee /tmp/hello.out


案例应用:
1 统计/usr/bin/目录下的文件个数
# ls /usr/bin | wc -l

2 取出当前系统上所有用户的shell,要求每个shell 只显示一次, 且顺序显示
# cut -d : -f7 /etc/passwd | sort -u

3 如何显示、/var/log 目录下的每个文件类型
# ls -l /var/log -- > file /var/log/*
# 或者直接用
# cd /var/log -- > file `ls /var/log` (bash的命令替换的形式)

4 取出/etc/inittab 文件的第六行
# head -6 /etc/inittab | tail -1

5 取出/etc/passwd 文件中的倒数第九个用户的用户名和shell,显示到屏幕上并并且保存至 /tmp/users 文件中
# tail -9 /etc/passwd | head -1 | cut -d: -f 1,7| tee /tmp/users

6 显示/etc/目录下所有以pa开头的文件,并统计 个数
# ls -d /etc/pa* |wc -l

7 不使用文本编辑器,将alias cls = clear 一行内容添加到当前用户的 .bashrc 文件中
# echo "alias cls = clear " >> ~/.bashrc

i/o重定向及管道(代码片段)

打开的文件都有一个fd:filedescriptor(文件描述符)标准输入:keyborad,0标准输出:monitor,1标准错误输出:monitor,2I/O重定向:改变标准位置输出重定向:COMMAND>NEW_POS,COMMAND>>NEW_POS:覆盖重定向,目标文件中的原有文件内... 查看详情

随堂练习bashshell特性和i/o重定向及管道

history 命令语法格式history[-e][-doffset][n]orhistory-anrw[filename]orhistory-psarg[arg...]选项      说明-c      表示清空历史命令-d,offset  删除历史中指定的第offset个命令n       显示最近的n条历史-a    ... 查看详情

linuxi/o重定向及管道(代码片段)

一,I/O重定向重定向正常输出>:覆盖以存在文件的内容,很危险的操作>>:如果文件已经存在,则是在原内容的最后追加。可以禁止>的覆盖行为,使用set-C。只在当前会话有效。set+C恢复覆盖行为。#set-C#cat/etc/issue>/tmp... 查看详情

标准i/o重定向和管道(代码片段)

一级标题标准I/o重定向和管道二级标题三种I/o设备1.标准输入和输出程序:指令+数据读入数据input输出数据output标准输入---0(默认接收来自终端窗口的输入)标准输出---1(默认输出到终端窗口)标准错误---2(默认输出到终端窗口)二级... 查看详情

标准i/o与管道;用户组和权限;文件处理工具及正则表达式总结

四、标准I/O与管道标准输入和输出程序:指令+数据读入数据:Input输出数据:Output?打开的文件都有一个fd:filedescriptor(文件描述符)?Linux给程序提供三种I/O设备?标准输入(STDIN)-0默认接受来自键盘的输入?标准输出(STDOUT)-1默... 查看详情

管道及io重定向

管道和IO重定向:>< >> <<运算器、控制器:CPU存储器:RAM输入设备/输出设备程序:指令和数据控制器:指令运算器:存储器地址总线:内存寻址数据总线:传输数据控制总线:控制指令寄存器:CPU暂时存储器... 查看详情

linux基础05-管道及io重定向

(1)I/O重定向:Linux:>:覆盖输出>>:追加输出(2)set-C:禁止对已经存在文件使用覆盖重定向;强制覆盖输出,则使用>|set+C:关闭上述功能(3)2>:重定向错误输出2>>:追加方式(4)&>:重定向标准输出或错误输出至同一个文... 查看详情

linux基础知识-i/o重定向,管道

系统设定 默认输出设备:标准输出,STDOUT,1 默认输入设备:标准输入,STDIN,0 标准错误输出:STDERR,2 标准输入:键盘标准输出和错误输出:显示器I/O重定向:Linux:>:覆盖输出[[email protected]~]#ll/var/>/tmp/var.out[[e... 查看详情

06i/o重定向与管道符

   首先,我们知道我们的计算机结构,在第一节的时候已经介绍过了,CPU进行数据运算,同时控制器负责指令的发送,而内存则是数据存储的地方,CPU读取的数据均从内存中调取。电脑除了CPU和内存外,我们还有I/O总线来... 查看详情

标准io重定向和管道(代码片段)

标准I/O重定向和管道1标准输入和输出程序:指令+数据读入数据:Input输出数据:Output打开的文件都有一个fd:filedescriptor(文件描述符)Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自终端窗口的输入标准输出(STDOUT)-1... 查看详情

标准i/o和管道(代码片段)

标准I/O和管道>重定向操作符>,>>还能创建新文件>覆盖>>追加set-C禁止将内容覆盖已有文件,但可追加(相当于一个开关)>|file强制覆盖set+C允许覆盖1>标准输出重定向到一个文件里面2>标准错误重定向到一个文... 查看详情

管理及i/o重定向

...出标准输入:键盘标准输出和标准错误输出:显示屏I/O重定向:改变标准输入/输出来源/位置Linux::覆盖输出>:追加输出Set-C禁止对已经存在文件使用覆盖重定向强制覆盖输出,则使用>1Set+C关闭上述功能 查看详情

第五章linux重定向和管道

重定向和管道标准输入和输出:程序:指令+数据读入数据:Input输出数据:Output打开的文件都有一个fd:filedescriptor(文件描述符)Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自键盘的输入标准输出(STDOUT)-1默认输... 查看详情

标准i/o和管道

1、标准输入和输出1>程序:指令+数据(指令服务于数据)  读入数据:input  输出数据:output2>三种I/O设备  Linux给程序提供三种I/O设备    标准输入(STDIN)-0默认接受来自键盘的输入    标准输出(STDOUT)-... 查看详情

第4天文件管理管道用户及组管理用户及权限管理

Bash的I/o重定向及管道管道:使用竖杠符号‘|’表示,用于将前面命令的命名输出结果作为命名后的操作对象。重定向输出:使用大于符号”>”表示,前面的命令成功执行以后,其屏幕输出结果将保存到“>”好后面的指定... 查看详情

初学linux之标准i/o和管道

标准输入和输出程序是由指令+数据组成程序的数据流有三种:输入数据流:<–标准输入(stdin),一般默认是键盘输出数据流:–>标准输出(stdout),一般默认到终端窗口错误输出流:–>标准错误(stderr),一般默认到... 查看详情

标准i/o和管道

1:三种I/O设备标准输入(STDIN) -0 默认接受来自键盘的输入标准输出(STDOUT)-1 默认输出到终端窗口标准错误(STDERR)-2 默认输出到终端窗口I/O重定向:改变默认位置 >把正确结果输出到文件2>把错误输出到文件&... 查看详情

linux从入门到跑路–重定向管道(代码片段)

linux从入门到跑路重定向管道Linux给程序提供三种I/O设备标准输入(STDIN)-0默认接受来自键盘的输入标准输出(STDOUT)-1默认输出到终端窗口标准错误(STDERR)-2默认输出到终端窗口I/O重定向:改变默认位置重定向重定向会覆... 查看详情