当前位置:  操作系统/服务器>linux

神奇的shell命令行输入与输出功能介绍

    来源: 互联网  发布时间:2014-10-14

    本文导语:  标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat公司原来Red Hat Linux的开发团队也将继续参与这一发行版本的开发工作。 标准输入与输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输...

标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat公司原来Red Hat Linux的开发团队也将继续参与这一发行版本的开发工作。

标准输入与输出

我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘;标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕。进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中。
我们以cat命令为例,cat命令的功能是从shell命令行给出的文件中读取数据,并将这些数据直接送到标准输出。若使用如下命令:
$ cat config 将会把文件config的内容依次显示到屏幕上。但是,如果cat的shell命令行中没有参数,它就会从标准输入中读取数据,并将其送到标准输出。例如:
$ cat
Hello world
Hello world
Bye
Bye

用户输入的每一行都立刻被cat命令输出到屏幕上。另一个例子,命令sort按行读入文件正文(当shell命令行中没有给出文件名时,表示从标准输入读入),将其排序,并将结果送到标准输出。下面的例子是从标准输入读入一个采购单,并将其排序。
$ sort
bananas
carrots
apples
bananas
carrots

这时我们在屏幕上得到了已排序的采购单。直接使用标准输入/输出文件存在以下问题:输入数据从终端输入时,用户费了半天劲输入的数据只能用一次。下次再想用这些数据时就得重新输入。而且在终端上输入时,若输入有误修改起来不是很方便。输出到终端屏幕上的信息只能看不能动。我们无法对此输出作更多处理,如将输出作为另一命令的输入进行进一步的处理等。为了解决上述问题,Linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。

输入重定向

输入重定向是指把命令(或可执行程序)的标准输入重定向到指定的文件中。也就是说,输入可以不来自键盘,而来自一个指定的文件。所以说,输入重定向主要用于改变一个命令的输入源,特别是改变那些需要大量输入的输入源。例如,命令wc统计指定文件包含的行数、单词数和字符数。如果仅在shell命令行上键入:

$wc

wc将等待用户告诉它统计什么,这时shell就好象死了一样,从键盘键入的所有文本都出现在屏幕上,但并没有什么结果,直至按下<ctrl+d>,wc才将命令结果写在屏幕上。如果给出一个文件名作为wc命令的参数,如下例所示,wc将返回该文件所包含的行数、单词数和字符数。

$ wc /etc/passwd
20 23 726 /etc/passwd 另一种把/etc/passwd文件内容传给wc命令的方法是重定向wc的输入。输入重定向的一般形式为:命令text delimter
>delim


    
 
 

您可能感兴趣的文章:

  • 用shell变量保存命令输出。
  • shell脚本错误输出
  • shell调用c显示输出的问题
  • shell脚本中的awk命令,怎样输出第一个字段
  • 控制shell脚本输出的字节数
  • shell脚本输出重定向的问题
  • Shell 输出问题,如何取出其中的一条记录。(输出一条ip地址)
  • linux shell 获取输出值
  • Shell 如何输出date '+%Y%m%d'
  • c++如何逐行得到shell命令的输出
  • shell script 格式化输出
  • 请问,怎么把某个程序的输出赋给shell变量??
  • unix shell中能否将后台运行程序的输出保存到变量中?
  • shell中如何得到程序的输出值
  • shell $1的输出问题
  • 一个简单的转换输出的shell脚本代码
  • 编一个模拟shell实现的程序,怎么实现输入输出重定向?谢谢
  • 怎么实现shell中的输入输出重定向,谢谢!
  • 如何获取shell上的输出信息呢?
  • 请问如何在程序中获得shell命令输出的信息?
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 小弟没写过shell,求解 linux shell 命令
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • 如何编写Shell,当SQL执行完毕后,继续调用Shell命令。
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • Linux 下的cd命令为什么要实现成shell的内建命令
  • shell 命令有as命令吗
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 我在Ctrl+Alt+F1进入shell屏幕,输入vi,出来的界面不能显示中文,而在x-window的终端下输入vi后可以看到中
  • Shell输入重定向
  • 在shell文件中,有一个处理是安装一个软件,在安装过程中需要输入一次yes,现在希望能自动输入,怎么做?
  • shell script能为c程序提供输入数据吗?
  • linux的命令包含有版本信息都很长,怎么样才能在Shell下输入的时候,只需要输入一部分,就可以出现整个命令!
  • 急问:怎样用shell编写脚本运行要输入密码的程序???
  • 如何在shell脚本中自动输入密码?
  • 请问各位高手,如何在c shell中从标准输入读参数然后赋给一个变量啊
  • 第一次写shell: 请问如何识别输入的字符,,拜托各位
  • linux 在shell里read num怎样判断输入的是合法的数字。?
  • 请问: 怎么把jsp中用户的输入做为参数传递给shell script?!!!!!!!!
  • shell下要模拟终端输入delete键该怎么写??
  • 求一shell代码:要求能对输入的变量进行判断即可
  • 怎么在SHELL中判断我输入的是数字
  • 请教一个shell的技巧——怎么自动输入密码?
  • shell中模拟输入
  • 在shell下如何支持中文?输入中文?
  • 如何在shell下使用汉字输入和输出?
  • 关于shell中的输入重定向符号
  • 谁能帮我写写shell脚本 :从键盘输入三个整数,计算其中的最小值!
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • shell变量和子shell的问题请教
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3