zoukankan      html  css  js  c++  java
  • 管道

     文件描述符、重定向


     0:标准输入  ->  默认 接受来自键盘的输入

    1:标准输出  ->  默认输出到终端窗口

    2:标准错误  ->  默认输出到终端窗口

    一、tail -f /tmp/a

    [root@centos7 ~]# tail -f /tmp/a 
    a
    b
    c
    d
    

    二、新开窗口:查看tail命令的pid

    [root@centos7 ~]# pidof tail
    113680

    三、看该进程的目录都有什么

    1 [root@centos7 ~]# ls /proc/113680/fd -l

    这个3就是分配的文件描述符

     

     


    超级分割线

    将当前终端的输出内容重定向到另一终端

    一、现在虚拟机连了两个终端

    二、将pts/0的输出重定向到pts/1上

    三、去pts/1看下


    超级分割线

    重定向的一些设置

    set -C  禁止将内容覆盖已有文件(在终端中执行就可以,也可以放到脚本中)

    > | file  强制覆盖(很少用到)

    set +C  允许覆盖

     &>/dev/null 等于 >/dev/null  2>&1

    另一种正确写法 2>/dev/null 1>&2

    再一种正确写法:>/dev/null 2>&1 

     下面是错误的写法

     2>&1 >/dev/null

     原因:标准错误输出到标准输出的时候,标准输出还没开始,所以错误会打印到屏幕

     

    将多条命令的输出重定向到/tmp/a.txt

    使用小括号

     

     

     

     

    的  

  • 相关阅读:
    TableExport导出失败问题
    gitlab备份、恢复、升级
    读书笔记一【加密——替换法】
    读书笔记一【加密——换位法】
    解决Kettle ETL数据乱码
    SQL中exsit和in
    Centos下搭建邮件服务器
    2018总结及2019计划
    mac安装gcc
    Vue.js学习 Item11 – 组件与组件间的通信
  • 原文地址:https://www.cnblogs.com/uscWIFI/p/11218058.html
Copyright © 2011-2022 走看看