当前位置: 首页 > news >正文

Linux输入输出重定向

目录

Linux输入输出重定向

Linux中的默认设备

输入输出重定向定义

输入输出重定向操作符

实用形式

标准输入、标准输出、标准错误

输出重定向案例

案例1 --- 输出重定向(覆盖)

案例2 --- 输出重定向(追加)

 案例3 --- 错误输出重定向

案例4 --- 正确和错误都输入到相同位置

 案例5 --- 正确和错误都输入到相同位置

案例6 --- 重定向到空设备/dev/null

输入重定向案例

案例1

 案例2

案例3

使用文件描述符重定向

重定向组合使用

特殊应用


Linux输入输出重定向

Linux中的默认设备

        默认的输入设备(标准输入) --- 键盘

        默认的输出设备(标准输出) --- 屏幕

输入输出重定向定义

        利用重定向操作符可以重新定义命令涉及的默认的输入和输出设备对象,即重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置

输入输出重定向操作符

       “>”“>>”称为输出重定向操作符

        “<”、 “<<” 称为输入重定向操作符

注意:

        重定向操作符本省不是一条命令,而是命令中附加的可改变命令的输入和输出对象的特殊符号

实用形式

使用形式
功能
命令 > 文件或者:命令 1> 文件
将命令执行后的输出信息不在默认的屏幕上显示 , 而是以覆盖的方式写入到指定文件中, 若指定的文件不存在 , 则自动创建该文件
命令 2> 文件
将命令执行后所产生的错误信息不在默认的屏幕上显示 , 而是以覆盖的方式写入到指定文件中, 若指定的文件不存在 , 则自动创建该文件
命令 &> 文件
将命令执行后的输出信息和错误信息不在默认的屏幕上显示 , 而是以覆盖的方式写入到指定文件中, 若指定的文件不存在 , 则自动创建该文件
命令 2>/dev/null
将命令执行后所产生的错误信息不在默认的屏幕上显示 , 而是写入到空设备文件中, 即将输出的错误信息丢弃掉
命令 >> 文件
将命令执行后的输出信息以追加的方式写入到指定的文件中
命令 < 文件
使命令从指定的文件中读取输入数据
命令 << 结束标识字符串
读取命令行输入 , 直到遇到输入行为指定的结束标识字符串

标准输入、标准输出、标准错误

输出重定向案例

案例1 --- 输出重定向(覆盖)

[root@localhost test]# date 1> date.txt

案例2 --- 输出重定向(追加)

[root@localhost test]# date >> date.txt 

 案例3 --- 错误输出重定向

[root@localhost test]# ls /home/ /aaaaa> list.txt 

[root@localhost test]# ls date.txt > list.txt > error.txt //重定向到不同的位置

案例4 --- 正确和错误都输入到相同位置

[root@localhost ~]# ls /home/ /aaaaaaaaa &>list.txt //混合输出

 案例5 --- 正确和错误都输入到相同位置

[root@localhost ~]# ls /home/ /aaaaaaaaa >list.txt 2>&1 //重定向到相同的位置

案例6 --- 重定向到空设备/dev/null

[root@localhost ~]# ls /home/ /aaaaaaaaa >list.txt 2>/dev/null //空设备,即将产生的输出丢掉

输入重定向案例

        标准输入 --- < 等价 0<

案例1

[root@localhost ~]# grep 'root' //没有改变输入的方向,默认键盘,此时等
待输入...
yang sss
sssrootssss..
sssrootssss..
[root@localhost ~]# grep 'root' < /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

 案例2

[root@localhost ~]# dd if=/dev/zero of=/file1.txt bs=1M count=2
[root@localhost ~]# dd </dev/zero >/file2.txt bs=1M count=20

案例3

[root@localhost ~]# at now +5 min
[root@localhost ~]# vim at.txt
useradd yang100
useradd yang102
[root@localhost ~]# at now +2 min < at.txt

注意 --- 使用 Ctrl + D 退出

使用文件描述符重定向

        使用文件描述符的重定向都使用了&符号
形式功能
cmd >&n
把输出送到文件描述符 n
cmd m>&n
把输出到文件符 m 的信息重定向到文件描述符 n
cmd >&-
关闭标准输出
cmd <&n
输入来自文件描述符n
cmd m<&n
m 来自文件描述符 n
cmd <&-
关闭标准输入
cmd <&n-
移动输入文件描述符 n 而非复制它
cmd >&n-
移动输出文件描述符 n 而非复制它

重定向组合使用

        cmd 2>file < >cmd &> file < >cmd >& file
        cmd > file 2>&1
        cmd > f1 2>f2
        tee files

特殊应用

        cat > catfile <<EOF
http://www.lryc.cn/news/91368.html

相关文章:

  • 使用kettle进行数据统计
  • 线程的取消和清理
  • day8 -- 全文本搜索
  • C语言:if-else语句
  • C语言---函数
  • 【JVM】什么是双亲委派机制?
  • Vulkan Tutorial 7 纹理贴图
  • LinkedBlockingQueue阻塞队列
  • 面试-Redis 常见问题,后续面试遇到新的在补充
  • 2023年上半年数据库系统工程师上午真题及答案解析
  • 设计模式概念
  • arcpy批量对EXCE经纬度L进行投点,设置为wgs84坐标系,并利用该点计算每个区域内的核密度
  • Yolov5训练自己的数据集
  • Bert+FGSM中文文本分类
  • 爬楼梯问题-从暴力递归到动态规划(java)
  • 浏览器如何验证SSL证书?
  • Linux :: 【基础指令篇 :: 文件及目录操作:(10)】:: ll 指令 :: 查看指定目录下的文件详细信息
  • Java字符集/编码集
  • Apache配置与应用
  • API自动化测试【postman生成报告】
  • 探索OpenAI插件:ChatWithGit,memecreator,boolio
  • linux irq
  • 串口流控(CTS/RTS)使用详解
  • kube-proxy模式详解
  • 汽车EDI:如何与Stellantis建立EDI连接?
  • 【SCI征稿】1区计算机科学类SCI, 自引率低,对国人友好~
  • Vue.js优化策略与性能调优指南
  • HEVC环路后处理核心介绍
  • 从组件化角度聊聊设计工程化
  • apache的配置和应用