[Linux]shell指令解析[一]管道

管道的意义

• 正常来讲,我们在 shell 里的操作,输入来自键盘,正常输出到屏幕,错误输出也是到屏幕,这里键盘就是标准输入,屏幕就是标准输出和错误输出;

• 管道做什么呢?顾名思义,管道的用途是转向,管道就是把标准的输入输出做了转向,有了管道,我们可以不从键盘获取输入,也可以不把输出发送到屏幕,管道可以用于方便命令之间的衔接与数据传递;

• 重定向应用通常就以下两点:

    • 重新设置命令的默认输入 / 输出,指向到自己指定的文件;

    • 扩展自己定义的新的描述符,对文件进行读写操作。

下面我们来逐个看看管道符。

 

> :表示将输出转向到 > 后面:

• 例如将一个命令的输出结果重定向到一个文件,并将文件原有内容覆盖,那么就用这个指令:foo_command > bar_file

• 由此,我们可以拓展出一个特别的用途,如果我们把空结果重定向到一个文件,是不是就相当于把文件清空了?:> newfile.txt

 

<: 从 < 输入而不是标准输入:

• 表示一个命令将把从 < 后获取的数据作为命令的输入数据,而不再从键盘获取输入

• 例如我们在执行 mysql 导入文件时,常用这个方法:mysql -h host -u username -p dbname < sql_file.sql

 

>>:转向追加输出:

• 类似于 >,但是不会覆盖文件的原有内容,而是追加在文件尾的效果;

 

|:管道,将前面程序的输出转向作为后面程序的输入,用于多个指令间的数据流衔接:

• 例如:ls | sort

管道的基础介绍先到这里,下一次我们讲一点高级管道的自定义指令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值