管道命令 解析


管道命令是 Linux 系统的一个很重要的内容,这里我们只介绍一些简单的。

首先我们已经学过一个命令 cat ,用来显示一个文件的内容,但是你有没有遇到一个文件很长,一页显示不完的情况?如果你需要把一个很长的文件分页显示,每当你按一个键才显示下一页的话,你可以用 more 命令:

more LoveLetter
这样, LoveLetter 的内容显示在屏幕上,没到一页就自动停下来,等待你的按键,然后才继续显示下面一页。

可是如果我们用 ls 命令显示一个目录的所有文件的时候遇到一页不能显示完的情况该怎么办?这就需要一个管道符号“ |” ,就是“ /” 按钮上面的字符 :

ls /dev | more

下面,我们遇到一个新的问题,我们不仅仅想要看看 /dev 目录下面有哪些文件,我们还希望用一个文件来纪录刚才 ls 的命令显示的所有结果,难道需要用手工输入?不需要,我们介绍两个管道符号:“ >;”“>;>;” ,也就是大于符号啦。

ls /dev > filenames.txt

还有一个管道符号是由两个大于号组成的“ >>” ,它和刚才“ >” 的区别在于一个大于符号的管道是用来创建一个新的文件 filenames.txt ,如果已经有了同名的文件就复盖掉以前的内容;而两个大于符号的管道是用来在已经存在的文件后面追加新的内容,如果没有这个文 件就创建它。

现在我们 vi filenames.txt 看看一共有多少行,是不是 1000 多行啊?我们运行

ls /dev >> filenames.txt

再来 vi filenames.txt 看看,是不是一共 2000 多行啦?

其实这两个管道符号很容易记忆,向左边的箭头意思就是把前面命令的内容输入到后面的文件中去,刚才那个“ |” 管道符号是用来把前面命令的输出结果当作后面一个命令的输入数据。下面我们看一个和刚才“ >>” 刚刚相反的管道符号“ <<”

cat >> friends << "EOF"
> a
> b
> c
> EOF
运行第一行以后,意思就是把我们接下来的输入内容保存到 friends 文件里面,当我们输入“ EOF” 的时候结束。“ <<” 的意思就是向前面的命令传送一个数据。
中间我象征性的输入了 a b c 三行,每一行前面的“ >;” 是系统自动产生的提示符号。第四行输入“ EOF” 系统就保存刚才输入的 a b c 三行到一个叫做 friends 的文件里面去。
现在我们 cat friends 看看是不是刚才的输入成功的保存了。怎么样,同样的命令,使用不同的管道符号,即可以显示文件内容,也可以用来创建文件,这就是管道符号的强大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值