重定向详解

I/O 重定向允许我们可以更改输出走向和输入来向。一般地,输出送到屏幕,输入来自键盘, 但是通过 I/O 重定向,我们可以改变输入输出方向。
输入重定向符<,输出重定向符号>

重定向标准输出

ls -l /usr/bin > ls-output.txt (把 ls 命令的运行结果输送到文件 ls-output.txt 中去,会删除ls-output.txt中原来的内容。)
ls -l /usr/bin >> ls-output.txt (与上面唯一不同之处在于该指令是在ls-output.txt内容后追加,不会删除原来内容。)

重定向标准错误

ls -l /bin/usr 2> ls-error.txt (0,1,2分别表示标准输入,输出和错误)
ls -l /bin/usr > ls-output.txt 2>&1 (首先重定向标准输出到文件 ls-output.txt,然后 重定向文件描述符2(标准错误)到文件描述符1(标准输出))
ls -l /bin/usr &> ls-output.txt (作用和上面指令完全相同)

重定向标准输入

单独输入指令cat,会提示用户输入,输入完成后按ctrl-d。然后cat会将用户的输入送到标准输出,也就是屏幕。
cat < lazy_dog.txt

管道

管道操作符”|”(竖杠)
在管道线中,每个命令运行时都有一个独立的进程。前一个命令的输出正是下一个命令的输入。
ls -l /usr/bin | less

管道线中有一类命令也称作“过滤器”,过滤器首先读取输入,然后将输入以某种简单方式进行变换(相当于过滤),再将处理结果输出。

  • sort - 排序文本行

    ls /bin /usr/bin | sort | less (把目录/bin 和/usr/bin 中 的可执行程序都联合在一起,再把它们排序,然后浏览执行结果)

  • uniq - 报道或忽略重复行

    ls /bin /usr/bin | sort | uniq | less (删除重复行)

  • grep - 打印匹配行

    grep pattern [file…]
    ls /bin /usr/bin | sort | uniq | grep zip (打印包含zip的行)
    -i 忽略大小写当
    -v 只打印不匹配的行

  • wc - 打印文件中换行符,字,和字节个数

    wc(字计数)命令是用来显示文件所包含的行数,单词数和字节数

  • head - 输出文件开头部分

    -n 数字 数字表示行数

  • tail - 输出文件结尾部分

    -n 数字 数字表示行数

  • tee - 从 Stdin 读取数据,并同时输出到 Stdout 或文件

    ls /usr/bin | tee ls.txt | grep zip (在 grep 过滤管道线的内容之前,来捕捉整个目录列表到文件 ls.txt)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值