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
-1
ls
출력이 리디렉션되면 기본적으로 활성화됩니다.
엄밀히 말하면 기본 출력 형식은 다음과 같습니다 -1
.POSIX에 지정된 대로:
기본 형식은 터미널이나 또는 옵션 중 하나가
-C
지정된 경우를 제외하고 표준 출력에 한 줄에 하나의 항목을 나열하는 것입니다. 터미널로 출력하는 경우 형식은 구현에 따라 정의됩니다.-m
-x
명시적으로 지정하여 열 형식 출력을 파일에 강제로 적용할 수 있습니다 -C
.
ls -C > /tmp/ls-C.out