Desktop 디렉토리에 "ls"를 입력 할 때 왜 여분의 공간이 있습니까?


27

호기심 때문에 lsDesktop 디렉토리에 입력 할 때 추가 공간이 필요한지 궁금합니다 . 비교...

~/Desktop$ ls
 file1 file2 file3

...에...

~/Documents$ ls
file1 file2 file3

ls바탕 화면에 입력 하면 줄의 시작 부분에 파일 이름의 일부가 아닌 추가 공간이 생깁니다. 줄의 시작 부분 에이 여분의 공간이있는 다른 예제 위치를 찾을 수 없습니다. 다른 사람이 이것을 얻습니까? 이유가 있습니까?

NB : Ubuntu Bionic Beaver LTS 릴리스와 함께 제공되는 기본 터미널을 사용하고 있습니다.


나는 이것을 가지고 있지 않다. 이름 ( touch " ") 으로 공백 만있는 파일을 만들면 앞에 두 개의 공백이 있습니다.
pLumo

6
ls -la대신 실행 하거나 find -type f -printf "file: -%P-\n"출력을 제공하십시오. 인쇄 할 수없는 문자가있는 파일이있을 수 있습니다. 파일의 채색도 잠재적으로 영향을 줄 수 있으므로 시도 \ls하거나 dir명령하십시오
Sergiy Kolodyazhnyy

처음 두 가지 제안을 시도했을 때 인쇄 할 수없는 문자가 포함 된 파일을 볼 수 없었습니다. \ ls를 시도해도 여전히 공간이 있지만 dir을 사용할 때는 안됩니다 ...
Bart

35
실제 출력을 제시하십시오 .
Monica

답변:


85

추가 공간은 디렉토리에 파일 이름이 필요할 때 나타납니다 '(예 : 공백이나 다른 특수 문자가있는 파일 이름).

~/mytmp$ ls
 a           'file(abc)'         proyecto3.csv   test         Test.sh
 b           'file(ab,c?).mp4'   rootfile        Test1.txt    Test.zip
 F26         'file(abc?).mp4'    scr             Test2.test   vowels
 Feb          guess              script          Test2.txt
'Feb 26 xx'   hw                 something       test.rar

'이상한'파일을 제거한 후 다음을 얻습니다.

~/mytmp$ ls
a    guess  proyecto3.csv  script     test        Test2.txt   Test.sh
b    hw     rootfile       something  Test1.txt   test.rar    Test.zip
F26  loop   scr            speak      Test2.test  testscript  vowels

설명 주셔서 감사합니다-이것은 나에게 맞는 것 같습니다. 내가 던진 것은 줄의 시작 부분에 여분의 공간이 반드시 특수 문자가있는 파일 앞에 있어야 할 필요는 없다는 것입니다. 그러나 이것은 터미널에서 프레젠테이션을보다 명확하게하기 위해 수행 된 것 같습니다. 다시 한번 감사드립니다
Bart

53

화면에 정확하게 표시 file1 file2 file3되지 않는 것이 확실 합니다. 쉽게 관련 될 수있는 소중한 정보 (실제 파일 이름)를 생략했습니다.

내 가정은 공백이나 다른 특수 문자가 포함 된 파일 이름이 있다고 가정합니다.

최신 버전의 coreutils ls인용 파일 이름은 일반적으로 작은 따옴표로 묶습니다. 또한 인용 부호가 필요한 파일이 하나 이상 있으면 다른 모든 파일 이름 앞에 공백을 추가하여 서로 아래에있을 때 "정말"정렬됩니다. 즉, 작은 따옴표 (아포스트로피)는 정렬을 위해 무시됩니다.

참조 --quoting-style-N매뉴얼 페이지 ls좀 더 자세한 내용은, 그것의 "파일 이름 포맷"섹션 정보 더 자세한 내용을. 예를 들어에 대한 별칭 ls을 고려할 수 있습니다 ls -N.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.