`ls / | wc -l` 告诉的行数比 `ls /` 显示的行数多

`ls / | wc -l` 告诉的行数比 `ls /` 显示的行数多

ls /输出两行。

$ ls / 
bin   cdrom  etc   initrd.img      lib    lost+found  mnt  proc  run   share  sys  usr  vmlinuz
boot  dev    home  initrd.img.old  lib64  media       opt  root  sbin  srv    tmp  var  vmlinuz.old

但为什么ls / | wc -l要讲26行呢?

$ ls / | wc -l
26

答案1

作为POSIX 定义ls如果输出不是终端,或者使用了-C, ,-m之一,则每行输出一个条目。-x

当输出为终端时,输出格式是实现定义的。

操作系统FreeBSD ls-1当输出不输出到终端时用作默认选项

相关内容