标准输入、标准输出和标准错误
一个程序的的输入可以来自于键盘,也可以来自于文件或者其他设备;同样的,一个程序也可以将输出显示在屏幕或者保存到文件中。这就涉及到标准输入、标准输出和标准错误。
程序的输入是标准输入,默认是键盘,用户可以将其指定为文件或其他设备。
程序的输出有两种,即标准输出和标准错误,其中标准输出是程序的正常输出、标准错误是程序的错误输出。二者默认都被指定为屏幕,用户可以将其指定为文件或其他设备。
下面的程序从键盘读取输入,将结果显示在屏幕上,即标准输入、标准输出和标准错误都采用默认的设置:
$ ls ~ hello.txt homework name source.list.bk
重定向
用户可以对输入和输出进行重定向,即指定标准输入、标准输出和标准错误。
标准输入使用<进行指定,下面的命令将input文件作为sort命令的输入,即将sort命令的标准输入重定向为input文件:
$ cat input zhao qian sun li zhou wu zheng wang $ sort < input li qian sun wang wu zhao zheng zhou
本例中input文件作为sort命令的标准输入。
使用>重定向标准输出:
$ ls ~ > output $ cat output hello.txt homework input name output source.list.bk
如上所示,ls ~的标准输出被重定向为output,因此其输出被写入output文件。
需要注意的是,如果output不存在,将自动创建output文件;如果output存在,那么将清空output的内容,并写入新的内容。
如果只是想在输出文件的已有内容的末尾追加,可以使用:
$ date output $ cat output hello.txt homework input name output source.list.bk Sat Jun 30 18:18:53 CST 2018
下面的命令将标准输入重定向为input,将标准输出重定向为output:
$ sort < input > output # 覆盖output内容 $ sort < input output # 在output末尾追加内容
文件描述符
每个输入源和输出地都有一个描述符,标准输入的描述符为0,标准输出的描述符为1,标准错误的描述符为2。
使用0<重定向标准输入,事实上,由于程序的默认重定向输入即为标准输入,所以下面的两条命令是等价的:
$ sort < input $ sort 0< input
同样的,程序的默认重定向输出为标准输出,所以下面的两条命令也是等价的:
$ ls > output $ ls 1> output
下面的命令将标准输入重定向为input文件,标准输出重定向为output文件(追加),将标准错误重定向为error文件:
$ sort < input 1 output 2> error
组合标准输出和标准错误
下面的命令将标准输出重定向为output文件,标准错误仍然显示在屏幕上:
$ sort < input > output
下面的命令将标准输出重定向为output文件,将标准错误重定向为error文件:
$ sort < input > output 2> error
下面的命令将标准输出重定向为output文件,使用2>&1将标准错误重定向为标准输出:
$ sort < input > output 2>&1
上面的例子中,标准输出和标准错误都会被重定向为output文件。
注意,下面的命令将导致标准输出和标准错误的相互覆盖,因此不可使用:
$ sort < input > output 2> output
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]