[b]5.3.10 管道和重定向[/b]
管道和重定向是字符操作模式下特殊命令的使用方法。使用它组合常用命令可以大大方便用户,并提供很多强大的功能。
[b]1、重导向标准输出 ">" [/b]
使用 ">"可以使Shell(终端)改变它所认定的标准输出,或者改变标准输出的目标。
把>符号放在cat命令或在使用任何写入标准输出的工具程序和应用程序之后,会把它的输出重导向到跟在>符号之后的文件中。
[b]为了更好地理解这个">"的使用,我们来实践下面的例子。[/b]
(1)我们准备创建一个文件,内容如下。
[i] rpm最常用的命有: 1、安装软件,执行rpm -ivh rpm包名 #rpm -ivh software-1.2.3-1.i386.rpm 2、升级软件:执行rpm -Uvh rpm包名 #rpm -Uvh software-1.2.3-1.i386.rpm 3、卸载软件:执行rpm -e rpm包名 #rpm -e software-1.2.3-1.i386.rpm 4、强行安装软件:执行rpm -ivh rpm包名 --force #rpm -ivh software-1.2.3-1.i386.rpm --force 5、查询软件包在系统中的注册名称 #rpm -qa |grep software 6、查询软件包的详细信息:执行rpm -qpi rpm包名 #rpm -qpi software-1.2.3-1.i386.rpm 7、查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名 #rpm -qf software-1.2.3-1.i386.rpm 8、查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名 #rpm -qpl software-1.2.3-1.i386.rpm[/i]
在shell里输入:
#cat > file1.txt
[i]按回车键后,shell会把你带到下一个空白行,在空白行输入以下内容。(每输入一行就回车一次)。[/i]
rpm最常用的命有: 1、安装软件,执行rpm -ivh rpm包名 #rpm -ivh software-1.2.3-1.i386.rpm 2、升级软件:执行rpm -Uvh rpm包名 #rpm -Uvh software-1.2.3-1.i386.rpm 3、卸载软件:执行rpm -e rpm包名 #rpm -e software-1.2.3-1.i386.rpm
输完后,按回车键到一个空白行,然后使用Crtl+D 键退出cat命令。这样就建立了第一个文件file1.txt,里面的内容就是刚才输入的。可能#cat file1.txt 来验证。
用同样的方法建立第二个文件file2.txt,内容为:
4、强行安装软件:执行rpm -ivh rpm包名 --force #rpm -ivh software-1.2.3-1.i386.rpm --force 5、查询软件包在系统中的注册名称 #rpm -qa |grep software 6、查询软件包的详细信息:执行rpm -qpi rpm包名 #rpm -qpi software-1.2.3-1.i386.rpm 7、查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名 #rpm -qf software-1.2.3-1.i386.rpm 8、查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名 #rpm -qpl software-1.2.3-1.i386.rpm
现在我们把file1.txt和file2.txt合并为成上面我们想建立的文件file.txt。命令如下:
#cat file1.txt file2.txt >file.txt
现在用#cat file.txt看看,是不是成功了。
[color=red]注:1、这例子要输入这么多,主要是让读者学会这个知识点的同时学好rpm安装软件的方法。
2、在用输出重导向入文件时,要谨慎从事,因为只要重导向的文件名与原来就有的文件同名,就会把原文件的内容覆盖。
[/color]
[b]2、后补重导向 ">>"[/b]
你可以使用输出重导向在一个现在文件之后添加新的信息。当你使用>>时,你是在添加信息,不是替换文件内容。
如下面中,如果我们不想单独再建立一个文件file.txt.而是把file2.txt的内容直接添加到file1.txt后面,使之形成我们想建立的文件。可能下面的命令。
#cat file2.txt>>file1.txt
现在我们#cat file1.txt,看是不是与上面的file.txt内容一样。没错,还真是一样。
[b]3、重导向标准输入 "
当你使用重导向标准输入
我们来用上面建立的文件file.txt来试试看。命令如下:
#cat
怎样,file.txt的内容被cat命令读取并输出到屏幕上了吧!。
[b]4 管道 "|" [/b]
在Linux中,管道连接着一个命令的标准输出和另一个命令的标准输入,使用方法是用符号"|"将两个命令连接起来。
我们还是用例子来学这工具更OK些。好,现在进入/dev目录,用ls命令看看。
#cd /dev
#ls -al
My god,是不是屏幕闪个不停呀,什么也看不清楚,那我们就用"|",结合换页工具less,慢慢看它。命令如下:
#ls -al /dev | less
这回你慢慢看吧,按空格键前翻,按B键后翻页,累了想退出就按Q键。当然你也可以用箭头和page up 及page down来前后移动。
还有一个例子就是使用grep查看某个词的内容。例,我们想看我们上面建立的file.txt文件,里面含有"软件”的地方。可输入以下命令:
#cat file.txt | grep 软件
这样,只要一行里有"软件" 这个词,它都被打印出到屏幕。
最新评论