Linux中的输入与输出 您所在的位置:网站首页 linux查看之前输入与输出的信息 Linux中的输入与输出

Linux中的输入与输出

2023-08-15 21:08| 来源: 网络整理| 查看: 265

Linux中的输入与输出 一、什么是输入输出

在linux系统中,0表示为标准输入,1表示为标准输出,2表示为错误输出。 在这里插入图片描述 上图中,键盘为标准输入也就是编号0,而标准输出1和标准错误2都可以显示在显示屏上。 运行一个程序时 , 需要从某个位置读取输入信息 , 然后 cpu 处理, 最后将输出显示到屏幕或文件进程通过文件描述符的编号通道来获取输入并输出。

编号通道名称描述默认连接用法0stdin标准输入键盘仅读取1stdout标准输出显示屏仅写入2stderr错误输出显示屏仅写入 二、管理输入输出 1、输入重定向

输入重定向就是不使用标准输入端口输入文件,而是使用指定的文件作为标准输入设备。 输入重定向有两种类型:

类型格式功能重定向标准输入命令 < 文件命令把文件的内容作为标准的输入设备标识符限定输入命令 file 重定向正确输出,此处的1可以省略2>重定向错误输出&>重定向所有输出2>&1将错误输出编号由2变成1,效果同&>>>追加重定向正确输出2>>追加重定向错误输出&>>追加重定向所有输出

例如: 在这里插入图片描述 注:但是重定向会覆盖源文件内容,所以当我们需要继续写入数据的时候需要输出追加输出追加只需要把重定向的>符号改为>>即可。 在这里插入图片描述

2、管道

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

在这里插入图片描述 作用:管道只允许正确的输入,通过管道的输出将会变成输入,而变成输入的这些输出是会被第二条命令处理的

接下来的操作要借助find命令 find 路径 -name ‘名称’ ##查找查找名字为“名称”的文件 find 路径 -type [f/d] ##按照类型进行查找 find 路径 -size +1M ##大于1M find 路径 -size -1M ##小于1M find 路径 -maxdepth 1 -size +1M ##当前目录大于1M find 路径 -maxdepth 2 -size +1M ##当前目录和一级子目录大于1M

在这里插入图片描述 注意:由于root用户权限比较大,某些报错就不会产生,因此以下操作均在student用户下完成。

所以接下来在student用胡进行测试,首先切换到student用户下使用命令 find /etc -name passwd 来寻找/etc目录下的passwd文件,由于权限的原因,很多目录是没有权限搜索的,此时会报错然后返回权限限制的标准错误,且只搜寻到两条含有passwd文件:

在这里插入图片描述 (1). find /etc -name passwd > file   重定向正确输出到file

通过 > 将正确输出重定向到了file文件中去了,而屏幕只显示了没有重定向的错误输出。

在这里插入图片描述 (2). find /etc -name passwd 2> file   重定向错误输出到file

通过 2> 将错误输出重定向到了file文件中去了,而屏幕只显示了没有重定向的正确输出。

在这里插入图片描述 (3). find /etc -name passwd &> file   重定向所有输出到file 在这里插入图片描述 (4). find /etc -name passwd > file 2>&1   重新定义了错误输出为正确输出

在这里插入图片描述 上图可以看出 2>&1 和 &> 同效果。

3、tee管道

tee 命令为复制输出到指定位置 在这里插入图片描述 作用:把前一个进程的输出重定向复制到指定位置。 在这里插入图片描述 由上图可以看出, tee操作之后把标准输出重定向到了file文件中,而管道的wc -l 操作把所有的输出个数都统计了出来,为2。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有