linux--数据流重导向

一:概念:

      数据流重导向就是将某个指令执行后应该要出现在屏幕上的数据, 给他传输到其它的地方,例如档案或者是装置 (例如打印机之类的!)!


           

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

而传送的指令则是如下所示:
1. 标准输入(stdin) :代码为 0 ,使用 < 或 << ;
2. 标准输出(stdout):代码为 1 ,使用 > 或 >> ;
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;

eg:

[root@linux ~]# ls -l / > ~/rootfile
# 本来 ls -l / 会将根目录的数据列出到屏幕上;
# 现在我使用了 > ~/rootfile 后,则本来应该在屏幕上出现的数据
# 就会被『重新导向』到 ~/rootfile 档案内了!就可以将该数据储存! 

如果我们在输入:

[root@linux ~]#ls -l /home > ~/rootfile

则那个rootfile的档案内容会变成『仅有 ls -l /home 的数据』

   也就是说:

   1. 该档案 (本例中是 ~/rootfile) 若不存在,系统会自动的将他建立起来,但是,
   2. 当这个档案存在的时候,那么系统就会先将这个档案内容清空,然后再将数据写入!
   3. 也就是若以 > 输出到一个既存盘案中,呵呵,那个档案就会被覆盖掉啰!

如果我想要将数据累加,不想要将旧的数据删除,那该如何是好?

  如果,就变成[root@linux ~]#ls -l / >> ~/rootfile 如此一来ls -l / >> ~/rootfile,当 ~/rootfile 不存在时,系统会主动建立这个档案,若该档案已存在, 则数据会在 该  档案的最下方累加进去!

二:Linux 执行的结果中,可以约略的分成『正确输出』与『错误输出』两种数据。分别称为 Stdout 与 Stderror

     eg1:[dmtsai@linux ~]$ find /home -name testing > list_right 2> list_error  会把正确的信息输出到list_right ,错误的会输出dolist_error

     如果我们想吧错误信息扔掉

     eg2:[dmtsai@linux ~]$ find /home -name testing > list_right 2> /dev/null   因为:/dev/null 有点像是一个『黑洞』的垃圾桶功能!

     如果我们想要吧错误输出和正确的输出写在同一个档案

    eg3:[dmtsai@linux ~]$ find /home -name testing > list 2>&1  

三:  <  是『将原本需要由键盘输入的数据,经由档案来读入』的意思。

   eg:我们可以使用 cat 在键盘上面输入一些数据,然后写入一个档案内,例如:

     [root@linux ~]# cat > catfile
     testing
     cat file test
     <==这里按下 [ctrl]+d 结束输入来离开!

   eg:那么,我是否可以使用其它档案来取代键盘输入呢?可以啊!这样做!

    [root@linux ~]# cat > catfile < somefile  这里会吧somefile的内容写到catfile中。

    eg:<<    他代表的是『结束的输入字符』的意思!举例来讲:『我要用 cat 直接将输入的讯息输出到 catfile 中, 且当输入 eof 时,该次输入就结束』,那我可以这样做:

   [root@linux ~]# cat > catfile <<eof
   > This is a test testing
   > OK now stop
   > eof <==输入这个玩意儿,嘿!立刻就结束了!

   


  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值