本篇是小白最佳实践第篇目的就是让白菜们了解进程之间是如何对话的。之前连载的几篇在微信上引起了很多的反响有人也反映图多文字少感觉没有干货本篇选了大部分是实战讲解的<SPAN style=""font-family: calibri,">"",.
IT微信公众号管道与重定向是Linux个文件描述符:标准输入、标准输出和标准错误输出,对应的序号是0。一般来说,这38.3.1命令行时通常会自动打开3个标准文件
和标准错误输出文件stderr命令为例来介绍标准输入与输出。cat【示例8-7的内容显示到标准输出即屏幕上。如果cat【示例8-8[root@CentOS ~]# cat
mycontent
hello
操作系统为输入、输出的传送引入了另外两种机制:输入/输入重定向是指把命令或可执行程序的标准输入重定向到指定的文件中。也就是输入可以不来自键盘,而来自一个指定的文件。输入重定向主要用于改变一个命令的输入源。
组合键,命令才会终止,可采用两种方法:一种是为该命令给出一个文件名,另外一种方法是使用输入重定向。
”。示例8-9】
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BROADCAST=192.168.3.255
NETMASK=255.255.255.0
99 188
【示例8-10”表示输入开始和结束的分隔符,此名称不是固定的,可以使用其他字符串,主要是一个分隔的作用。文档的重定向操作符为“<<命令。由于大多数命令都以参数的形式在命令行中指定输入文件的文件名,所以输入重定向并不经常使用。使用某些不能利用文件名作为输入参数的命令,需要的输入内容又存在一个文件里时,可以用输入重定向来解决问题。<<<
输出重定向
文件名,即输出重定向符号为“>【示例8-11[root@CentOS ~]# ls -l / >dir.txt
total 114
dr-xr-xr-x.5 root root1024 Apr 13 00:33 boot
drwxr-xr-x.18 root root4096 Jun8 01:07 data
文件内,而不是显示在屏幕上。查看dir.txt”命令时的显示结果相同。
注意:如果“>提供了输出重定向的追加方法。输出追加重定向与输出重定向的功能类似,区别仅在于输出追加重定向的功能是把命令或可执行程序的输出结果追加到指定文件的最后,这时文件的原有内容不被覆盖。追加重定向操作符“>>所示。
使用重定向追加文件内容
上述命令的输出会追加在文件的末位,原来的内容不会被覆盖。
错误输出重定向
”标识可以对错误输出重定向。如要将程序的任何错误信息打印到文件中,以备问题定位,可以使用示例8-13】
#表示重定向标准输出,但并不是错误输出吗,此时输出仍打印到屏幕上
ls: cannot access /xxxx: No such file or directory
#[root@CentOS ~]# cat stderr
将标准输出和标准错误输出都定向到标准输出文件
[root@CentOS ~]# cat stdout
另外一种重定向的语法
[root@CentOS ~]# ls /xxxxx/ &>stdout
#目录不存在,所以没有标准输出,只有错误输出。上述示例首先演示了错误输出的内容,当标准输出被重定向后,标准错误输出并没有被重定向,所以错误输出被打印到屏幕上。使用“2>stderr”,其功能是将标准输出和错误输出送到同一文件中。表8-3表8.3参数
把标准输出重定向到一个文件 | |
command 1> fielname | 把标准输出和标准错误输出重定向到一个文件 |
command < filename > filename2< filename > filename > | 为标准输出 |
作为命令的标准输入 | |
为止 |
管道
个命令输出利用管道传给第2个命令的输入,以此类推。如果命令行中未使用输出重定向,显示在屏幕上的是管道行中最后一个命令的输出或其他命令执行异常时导致的错误输出。使用管道符“|【示例8-14[root@CentOS ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep IPADD|awk -F= '{print $2}'
上述示例cat