首页 > 其他分享 >输入输出

输入输出

时间:2022-10-08 19:14:09浏览次数:52  
标签:输出 重定向 标准 输入输出 dev 命令 root

目录

输入输出

重定向

  • 什么是重定向
    • 将原本输出到屏幕上的内容,重新输入到其它设备中
  • 为什么要学重定向
# 1.输出的内容,比较重要的时候,我们想把它保存到文件中
# 2.在后台执行的程序,我不想让它输出的内容,干涉到屏幕
# 3.将定时任务的结果保存下来(备份是否成功)
# 4.一些执行的命令,知道它有可能会有错误输出,但是不想看错误输出
# 5.执行一个命令,可能报错和正确的输出并存,类似错误日志与标准日志需要分别输出至不同的文件

命令返回值(扩展)

# 如何判断一个命令是否执行成功
echo $? 命令的返回值
返回值是0,则代表上一条命令执行成功
返回值非0,则代表上一条命令执行失败

# 例:
[root@localhost ~]# ll 
total 0
[root@localhost ~]# echo $?
0

输入输出

文件的描述符

名称 文件描述符 作用
stdin 0 标准输入
stdout 1 标准输出
stderr 2 错误输出
文件名 3+
# 例:
[root@localhost ~]# ll /proc/2090/fd
total 0
lrwx------. 1 root root 64 Apr 13 16:35 0 -> /dev/pts/0
lrwx------. 1 root root 64 Apr 13 16:35 1 -> /dev/pts/0
lrwx------. 1 root root 64 Apr 13 16:35 2 -> /dev/pts/0
lrwx------. 1 root root 64 Apr 13 17:20 255 -> /dev/pts/0

[root@localhost ~]# ll /dev/std*
lrwxrwxrwx. 1 root root 15 Apr 13 08:24 /dev/stderr -> /p roc/self/fd/2
lrwxrwxrwx. 1 root root 15 Apr 13 08:24 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx. 1 root root 15 Apr 13 08:24 /dev/stdout -> /proc/self/fd/1

输入输出符号

名称 符号 作用
标准输入重定向 < 或 0< 将符号右边的内容交给符号左边的命令
<< 或 0<<
标准输出覆盖重定向 > 或 1> 将原本要输出在屏幕上的正确内容,覆盖到重定向文件
标准输出追加重定向 >> 或 1>> 将原本要输出在屏幕上的正确内容,追加到重定向文件
错误输出覆盖重定向 2> 将原本要输出在屏幕上的错误内容,覆盖到重定向文件
错误输出追加重定向 2>> 将原本要输出在屏幕上的错误内容,追加到重定向文件

输出重定向举例

# 将标准输出和错误输出分开
普通用户执行下列命令:
find / -type d -name'文件名' > 常规日志 2> 错误日志

# 将标准输出和错误输出放在同一文件中
find / -type d -name'文件名' &> 文件名
find / -type d -name'文件名' > 文件名 2>&1

# 如果执行的命令只有标准输出和错误输出,以上两条命令,输出结果一样,但是执行流程不一样
# 如果执行命令除了标准和错误输出还有其他输出,以上两条命令,输出结果不一样,执行流程也不一样


# 将两个命令输出的内容重定向到一个文件中
[root@localhost ~]# (ls; date) &>/dev/null

输入重定向

dd </dev/zero >/opt/disk bs=1K count=1024

管道技术

# |:将管道符左边命令的标准输出,交给管道符右边命令的标准输入处理

# tree
-a:append 追加

# xargs:处理数据流,有些命令如果没有标准输入可以使用xargs
1.将管道符前面的标准输出进行排列
2.将排列后的内容,放到后面命令结尾处理
没有标准输入的命令,可以用xargs,有标准输入的命令也可以用,效果不同

-i:指定数据流的位置,将数据流放入{}中 

思维导图

标签:输出,重定向,标准,输入输出,dev,命令,root
From: https://www.cnblogs.com/LZA1218/p/16769916.html

相关文章

  • Java IO详解(三)------字节输入输出流
    那么这篇博客我们讲的是字节输入输出流:InputStream、OutputSteam(下图红色长方形框内),红色椭圆框内是其典型实现(FileInputSteam、FileOutStream)  1、字节输出流:Output......
  • 输入输出系统
    1.概述设备编址方式(统一用取数等或不统一设计IO地址)设备选址有设备选择电路联络方式,异步或立即响应2.外部设备:输入输出设备;3.IO接口why?:实现设备......
  • 网络编程-Java输入输出流
    网络编程-Java输入输出流流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的......
  • 用户交互之输入输出
    与用户交互最基础的和用户交互的两条语句。输入:input(),输出:print()input输入data=input('请输入>>>:')#赋值符号右边,input代表等待用户输入,再进行后续程序的操作,小......
  • GoLang之ACM控制台输入输出
    转自:https://blog.csdn.net/weixin_52690231/article/details/125436414    ......
  • buifo和os标准输入输出
    一、接收用户发送的账户密码funcLogin()(map[string]string,map[string]string){ user:=map[string]string{} pass:=map[string]string{} fmt.Println("欢迎......
  • linux标准输入输出以及重定向
    1.经常遇到<<<>>>0>&1是什么意思以上表示某种输入输出重定向,具体了解前要知道什么是标准输入输出。2.什么是标准输入输出标准输入输出实际完整的叫法是标准输入......
  • # JS输入输出语句
    JS输入输出语句方法说明归属alert(msg)浏览器弹出警示框浏览器console.log(msg)浏览器控制台打印输出信息浏览器prompt(info)浏览器弹出输出框,用户......
  • IO输入输出流---管道流
    管道流参考视频:150701【掌握】管道流哔哩哔哩_bilibilijava本身是属于多线程的编程语言,而多线程和多进程最大的区别在于:一个进程可以产生多个线程,那么这些线程都属......
  • <Perl>标准输入输出
    ■标准输入在Perl中标准输入是<STDIN>,它会读取一行输入直到遇到换行符号,如果你不想读入换行符号,你可以使用chomp操作符去掉换行符号chomp($line=<STDIN>);print"$......