看看ls
vs的不同输出ls -1
$ ls
filea1.txt fileb.txt listB1.xml listC.xml
filea.txt listA1.xml listB.xml 'name with spaces 2.txt'
fileb1.txt listA.xml listC1.xml 'name with spaces.txt'
$ ls -1
filea1.txt
filea.txt
fileb1.txt
fileb.txt
listA1.xml
listA.xml
listB1.xml
listB.xml
listC1.xml
listC.xml
'name with spaces 2.txt'
'name with spaces.txt'
这对我来说很好。如果将输出重定向到文件,情况会有所不同。我希望该文件有所不同,但它们是相同的。
$ ls -1>/tmp/ls-1.out
$ ls >/tmp/ls.out
$ cat /tmp/ls-1.out
filea1.txt
filea.txt
fileb1.txt
fileb.txt
listA1.xml
listA.xml
listB1.xml
listB.xml
listC1.xml
listC.xml
name with spaces 2.txt
name with spaces.txt
$ cat /tmp/ls.out
filea1.txt
filea.txt
fileb1.txt
fileb.txt
listA1.xml
listA.xml
listB1.xml
listB.xml
listC1.xml
listC.xml
name with spaces 2.txt
name with spaces.txt
为什么后者只是一列输出而不是多列,因为没有重定向到文件?
-1
ls
重定向输出时默认启用。严格来说,默认输出格式是POSIX
-1
中指定的:您可以通过明确指定强制列输出到文件
-C
: