Linux-数据流重定向

1.标准输入输出

指令执行过程中的数据传输

一般情况下,执行一个指令的结果是从键盘或者文件获取数据,经过处理之后输出到屏幕中。也就是standard output或者standard error output。

1.1 标准输出(STDOUT)和标准错误输出(STDERR)

数据流重定向就是指将标准输出和 标准错误输出输出到其他文件(Linux中设备也是文件)中去。

  • 标准输出是指指令执行所回传的正确的信息
  • 标准错误输出是指指令执行失败后,回传的错误信息

数据传送所用的特殊字符有:

  1. 标注输入(stdin):代码为0,使用< 或者 <<;
  2. 标注输出(stdout):代码为1,使用> 或者 >>;
    • >以覆盖的方式输出
    • >>以追加的方式输出
  3. 标注错误输出(stderr):代码为2,使用2> 或者 2>>;
    • 2>以覆盖的方式输出
    • 2>>以追加的方式输出

1.2 垃圾黑洞和其他特殊写法

  • /dev/null 可以销毁任何导向这个装置的信息。
  • 需要把正确和错误输出到同一个文件,要用如下命令:
      find /home -name .bashrc > list 2> list 错误,因为交叉写入文件可能导致次序混乱
      find /home -name .bashrc > list 2>&1 正确
      find /home -name .bashrc &> list 正确
    

1.3 标准输入:<和<<

  • < 将需要由键盘输入的数据,改为由文件输入。
    如下代码可以把.bashrc内容输入,再输出到catfile文件中去:

    [root@iZwz9ayvrn26ptadymu9ymZ ~]# cat > catfile < ~/.bashrc
    [root@iZwz9ayvrn26ptadymu9ymZ ~]# ll catfile ~/.bashrc
    -rw-r--r--  1 root root 176 Dec 27 15:05 catfile
    -rw-r--r--. 1 root root 176 Dec 29  2013 /root/.bashrc
    
  • << 指出结束的输入字符,如下代码用eof作为输入的结束:

  [root@iZwz9ayvrn26ptadymu9ymZ ~]# cat > catfile << "eof"
  > This is a test.
  > OK now stop
  > eof
  [root@iZwz9ayvrn26ptadymu9ymZ ~]# cat catfile
  This is a test.
  OK now stop

2. 指令执行控制

一次执行多条指令,需要用到指令执行控制。
包括连续下达(;),且(&&),或(||)。

2.1 cmd;cmd

不考虑指令相关性,顺序执行。

2.2 与(&&),或(||)

指令下达 说明
cmd1 && cmd2 cmd1执行完毕且正确($?=0)则cmd2执行
cmd1 || cmd2 cmd1执行完毕且错误($?≠0),才执行cmd2

根据指令执行的回传值(可以用$?获取)决定指令的执行与否。

指令下达 说明
cmd1 && cmd2 cmd1执行完毕且正确($?=0)则cmd2执行
cmd1 || cmd2 cmd1执行完毕且错误($?≠0),才执行cmd2
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,277评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,689评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,624评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,356评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,402评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,292评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,135评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,992评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,429评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,636评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,785评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,492评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,092评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,723评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,858评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,891评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,713评论 2 354

推荐阅读更多精彩内容

  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,161评论 2 33
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,260评论 9 467
  • 1.命令格式:ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设...
    Nuuuu阅读 3,735评论 0 12
  • tr,tee 程序的IO 简单的说程序由指令(命令)和数据(操作对象)组成,在linux上一切皆文件,程序操作对象...
    香吉矢阅读 696评论 0 1
  • 作为程序员,你不需要担心本身的工作方式,但你必须了解寻址。 当数据通过网络传输时,包的首部会包括要发往的机器地址(...
    wyude阅读 131评论 0 0