Android培训班(27)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 15:18 点击:

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

初看这段代码时,感觉非常奇怪,没有看到任何打开文件的函数,也没有任何关闭文件的函数,就可以直接操作读取和写入。难道文件是可以自动打开的吗?从linux系统调用API里知道是不可能啊!这时,反复查看输入的命令行,如下:

rgb2565 –rle <xiyang.raw >initlogo.rle

从这个命令行里,看到一些眉目了吧?两个文件为什么要添加像个括号的东西呢?是啊,这两个括号是有特别用途的,对于我刚从WINDOWS转过的程序员来说,是比较奇怪,后来仔细地查看shell调用,详细介绍如下:

标准输入
标准输入是文件描述符0.它是命令的输入,缺省是键盘,也可以是文件或其它的命令输出

标准输出
标准输出是文件描述符1.它是命令的输出,缺省是屏幕,也可以是文件


标准错误
标准错误是文件件描述符2。它是命令错误码率的输出,缺省是屏幕,同样也可以是文件.


重定向操作符描述
> 将命令输出写入到文件或设备(如打印机),而不是命令提示符窗口或句柄。


< 从文件而不是从键盘或句柄读入命令输入。


>> 将命令输出添加到文件末尾而不删除文件中已有的信息。

>& 将一个句柄的输出写入到另一个句柄的输入中。

<& 从一个句柄读取输入并将其写入到另一个句柄输出中。

| 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。

常用文件重定向命令

Shell代码

command >filename       把标准输出重定向到一个新文件中

command >>filename      把标准输出重定向到一个文件中(追加)

command 1>fielname      把标准输出重定向到一个文件中

command >filename 2>&1   把标准输出和标准错误一起重定向到一个文件中

command 2 > filename 把标准错误重定向到一个文件中

command 2 >> filename 把标准输出重定向到一个文件中(追加)

command >> filename 2>&1 把标准输出和标准错误一起重定向到一个文件中(追加)

command < filename >filename2 把command命令以filename文件作为标准输入,以filename文件作为标准输出

command < filename 把command命令以filename文件作为标准输入

command << delimiter 把从标准输入中读入,直至遇到delimiter分界符

command <&m 把把文件描述符m作为标准输入

command >&m 把把标准输出重定向到文件描述符m中


从上面详细说明中,就可以知道这个命令行特别地方了。第二个参数<xiyang.raw就是把文件xiyang.raw重定向为标准输入,也就是原始格式的数据作为输入文件打开。

第三个参数>initlogo.rle,就是作为标准输出文件打开了。

 

通过这段程序,可以了解写程序的人对linux很熟悉,并且利用到了极致,连文件的打开和关闭的事情都省了,极其高效

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Android 完全退出程序
    • 原创:Android应用开发-Andorid歌词秀,含源码
    • android 屏幕保护
    • Android手机软件汉化教程---第四课 dex文件汉化
    • 众多Android 开源项目推荐,给力工作给力学习
    • Android Audio代码分析4
    • Android得到已安装的应用程序信息!
    • Android开发者指南(29) —— USB Host and Accessory
    • Android成长的幕后推手:工程师鲁宾
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1