管道

 文件描述符、重定向


 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

使用小括号

 

 

 

 

 

的  

 

posted @ 2019-07-20 16:02  uscwifi  阅读(170)  评论(0编辑  收藏  举报