请问命令ls | ./a.out的作用?|符号及ls传入文件参数的行为
命令解析与ls行为说明
一、ls | ./a.out中|的作用
| 在Shell里叫管道符,核心作用是把前一个命令的标准输出,直接传递给后一个命令作为标准输入。
具体到这条命令:
- 先执行
ls,默认输出当前目录下的所有文件、目录名称; - 管道符把这些输出内容直接传给
./a.out这个可执行程序,作为它的输入数据,./a.out会读取这些内容来做后续处理。
二、ls命令传入文件而非目录作为参数的行为
- 传入单个文件:比如执行
ls note.md,ls会直接输出这个文件的名称,不会展开目录内容; - 传入多个文件:比如
ls pic.png doc.pdf,ls会按你输入的顺序输出这些文件的名称; - 传入不存在的文件:
ls会直接报错,提示类似ls: 无法访问 'xxx': 没有那个文件或目录的信息。
内容的提问来源于stack exchange,提问作者Wensenz
相关产品推荐
相关产品推荐

