computer english
重定向是指改变shell标准输入来源和标准输出去向的各种方式。一般来说标准输入来源是键盘,标准输出去向是屏幕。但也可以将shell的标准输入输出由键盘和屏幕对应的设备文件重新定义到某个命令或者文件。
重定向标准输出:
通过重定向标准输出符号(>)可以将shell命令的输出重定向到指定的文件而不是屏幕。(>>追加到指定的文件)
重定向标准输入:
通过重定向标准输入符号(<)可以使shell将命令的输入重定向为来自指定的文件而不再是键盘。
管道(|): shell使用管道,将一个命令的输出直接链接到另一个文件的输入。功能的实现类似于:首先将一个命令的标准输出重定向到另外一个文件,然后将该文件作为另一个命令的标准输入。管道不会单独处理每条命令,并且不需要中间文件。
如下列:
command_a [argumets] | command_b [arguments]
类似于:
command_a [arguments] > temp
command_b [arguments] < temp
rm temp
grep(global regular expression print,全局正则表达式及打印) ,是在一个或者多个文件中搜索是否包含某个给定的字符串。此工具只显示包含查找字符串的文件行,并不修改搜索出的文件。grep的功能很强大,详细的可以百度一下看看。
tr:转换工具 ,只能从标准输入接受输入。
tr简单的格式: tr string1 string2 , tr从标准输入接受输入,查找与string1匹配的字符,找到一个匹配的字符就将string1的字符替换为string2中对应的字符(即string1的第一个字符替换为string2的第一个字符,如此对应替换)。tr工具讲他的输出发送到标准输出。如下例:
tr将文件test中的字母abc分别替换为ABC(用了两种表示方法,结果是一样的),tr工具不改变原来文件的原有内容,因为他并不知道输入源(从一个cat test和最后一个cat test可以看出来)。
tee:向两个方向输出 。tee工具将标准的输入复制到文件和标准的输出。他只有一个输入,却输出到两个方向。如下例:
who输出通过管道变为tee的标准输入,tee将标准输入复制到who.out中,同时也复制标准输出,tee的标准输出又通过管道变为grep(显示包含字符串tty1的行)的标准输入。
/dev/null:使数据消失。 设备/dev/null是一个数据接收器,通常被称为位桶。可以 将不想看到的或者不想保存的数据重新定向到/dev/null,这样输出的数据就会不留痕迹的消失。
(输出的是空字符)
又如:将tset1变成空文件
查看更多关于computer english的详细内容...