*****************************************************************************************************************************************************************************************
标准输入输出:
Linux的大部分命令都具有标准的输入/输出设备端口,下图列出了标准设备信息:
名称 文件描述 含义 设备 说明
STDIN 0 标准输入 键盘 命令在执行时所要的输入数据通过它来取得
STDOUT 1 标准输出 显示器 命令在执行后的输出结果从该端口送出
STDERR 2 标准错误 显示器 命令执行时的错误信息通过该端口送出
系统重定向:
重定向就是不适用系统的标准输入端口,标准输出端口和标准错误输出端口,而进行重新的指定,所以重定向分为输入、输出和错误重定向,通常情况下重定向到一个文件。
重定向符号 说明
< 实现输入重定向。输入重定向不经常使用,因为大多数命令都以参数的形式在命令行上指定输入文件的 文件名,尽管如此,当使用一个不接受文件名为输入参数的命令,而需要的输入又是在一个已存在的文 件里,就可以使用输入重定向解决问题。
>或>> 输出重定向。相对于输入重定向来说,输出重定向更常用,输出重定向使用户能把一个命令的输出重 定向 到一个文件里,而不是显示在屏幕上,这种功能使用于多种情况,例如,如果某个命令的输出很 多,在屏幕上不能完全显示,即可把他重定向到一个文件中,稍后在用文本编辑器来打开这个文件
2>或>> 错误重定向
&> 同时实现输出重定向和错误重定向
a.例如现在需要统计/etc/passwd文件中的行数和字符数,需要用到输入重定向,将命令输入到文件中:
b.再比如,现在有两个新创建的文件test1,和test2,需求:将test1中的内容重定向到test2中,怎么操作呢??
1) 在test1编辑"重定向test1文件"内容文字,并保存
2)创建test2文件,并将test1中的内容输出重定向到test2中
我认为,输入重定向是从文件中读取数据,输出重定向是将数据写入到文件中
3) 输出重定向有两个标志">" 、">>" 这两个有什么区别呢?
这两个符号都具有输出重定向的功能,只是输出后的形式有所不同,只有一个">"符号,输出之后,不管输出目标文件中有没有数据,都会将其内容覆盖,只显示最新输出重定向的内容,而使用">>"符号,则会在目标文件原内容的基础上实行拼接,即在原内容的基础上,显示最新输出重定向的内容,不会覆盖。
例如: 现在查询hello3文件夹中的内容,我想要将查询结果在新创建的test3文件中显示,这时候需要用到输出重定向了,先用">"试试:
看图可以知道,使用一个">"完成需求;
恩,test3文件中有内容了,现在我想将test2文件中的内容"重定向test1文件"也重定向到test3中,
发现经过以上命令,确实将test2中的内容重定向到test3中,但是,,却将之前查询的内容覆盖掉了,如果我现在既想将test2中的内容重定向到test3中,又不想覆盖test3文件中的的内容,怎么办呢?试试">>"
我现在将test3内容还原,显示的还是之前的查询结果,再利用test2文件,输出重定向到test3中查看结果:
现在再看,test3文件中,不仅显示出test2中的内容,test3中的内容也显示出来了。这就是">"与">>"的区别
只有错误重定向和输出、错误重定向我认为和标准输出重定向就性质和功能上来说,没有明显的区别,只是表达形式不同.......
管道:
许多Linux命令具有过滤特性,即一条命令通过标准输入端口接受一个文件中的数据,命令执行后产生的结果数据又通过标准输出端口送给后一条命令,作为该命令的输入数据。后一条命令也是通过标准输入端口而接受输入数据。
管道命令"|" 将这些命令前后连接在一起,形成一条管道线,格式如下:
命令格式:
cmd1 | cmd2
其中:
cmd 是命令名
| 管道连接符。
例如:
a.分屏显示文件文件/etc/passwd的内容
cat /etc/passwd | more
b.统计文本文件/etc/passwd的行数,字数和字符数
cat /etc/passwd | wc
c. 查找是否存在ceshi 的用户账号
cat /etc/passwd | grep ceshi
d. 查看系统是否安装了apache软件包
rpm -qa | grep http
上面列出的只是一些运用管道连接符,实现的简单的查询,复杂的会在后续的文章里继续说明!
GOOD MORNING !!!
*****************************************************************************************************************************************************************************************