LINUX学习—管道及IO重定向

管道和重定向:> < >> <<
  • 标准输入:stdin 0
  • 标准输出:stdout 1
  • 标准错误输出:stderr 2
    I/O重定向:
    改变数据输入和输出的方式;
    >:输出重定向,原有内容会被覆盖掉,也叫覆盖输出重定向;  
    >>:追加输出,可保留原来文件中的内容,不会覆盖掉,二者均会在文件不存在的时候创建文件;
    2>:重定向错误输出;  
    2>>:追加方式  
    &>:重定向标准输出或错误输出至同一个文件;   
    ls /varr >/tmp/var3.out 2>/tmp/err.out 
    <:输入重定向(cat、tr)  
    <<EOF:代表在此处生成文档,并以EOF结束  

set -C:会禁止对已存在文件进行覆盖重定向,强制覆盖输出,则使用>|;
set +C:关闭上述功能;

管道
前一个命令的输出,作为后一个命令的输入 (可组合小命令完成复杂任务) 命令1的输出 | 命令2的输入 | 命令3的输入 | …

  tee
用于将数据重定向到文件,另一方面还可以提供一份重定向数据的副本作为后续命令的stdin。简单说就是将数据重定向到给定文件和屏幕上.>
-a:向文件中重定向时使用追加模式

练习:
   1. 统计/urs/bin/目录下文件的个数;
   ls /usr/bin |wc -l
   2. 取出当前系统上所有用户的shell,要求,每种shell只显示一次,并且按顺序进行显示;
   cut -d: -f7 |sort -u
   3. 思考:如何显示/var/log目录下每个文件的内容类型?
   file /var/log/*
   4. 取出/etc/inittab文件的第6行;
   head -6 /etc/inittab|tail -1
   5. 取出/etc/passwd文件中倒数第9个用户的用户名和shell,显示到屏幕上并将其保存至/tmp/users文件中;
   tail -9 /etc/passwd |head -1|cut -d: -f1,7|tee /tmp/users
   6. 显示/etc目录下所有以pa开头的文件,并统计其个数;
   ls -d /etc/pa*”|wc -l
   7. 不使用文本编辑器,将alias cls=clear一行内容添加至当前用户的.bashrc文件中;
   echo “alias cls=clear”>>~/.bashrc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值