"ls" 명령은 단일 열만 표시합니다.

"ls" 명령은 단일 열만 표시합니다.

저는 Windows 터미널을 사용하여 SSH를 통해 Ubuntu 가상 머신에 연결하고 있습니다. 명령을 실행하면 ls출력은 추가 정보와 비슷 ls -al하지만 추가 정보가 없는 하나의 열입니다. 디렉터리와 파일이 터미널에 가로로 표시되는 일반적인 기본 형식으로 출력을 표시하고 싶습니다.

내 파일을 살펴봤지만 ~/.bashrc이러한 기본 동작을 유발하는 내용은 아무것도 없습니다.

왜 이런 일이 일어나는지 아십니까? 내가 마지막으로 로그인했을 때(몇 달 전) 예상대로 작동했습니다.

답변1

질문에 대한 의견에서 영향을 받은 디렉터리의 이름이 매우 길다고 말씀하셨습니다. 유틸리티 ls는 가장 긴 파일 이름을 수용할 수 있도록 열의 너비를 조정합니다. 파일 이름이 너무 길면 ls터미널 창 너비(또는 COLUMNS환경 변수 값)에 따라 모든 항목을 단일 열에 표시하도록 선택하는 효과가 있을 수 있습니다.

짧은 파일 이름:

$ touch {1..20}
$ ls
1       11      13      15      17      19      20      4       6       8
10      12      14      16      18      2       3       5       7       9

긴 이름을 추가하면 확장됩니다.모두이 길이의 이름을 포함하는 열:

$ touch longerfilename
$ ls
1               14              19              5               longerfilename
10              15              2               6
11              16              20              7
12              17              3               8
13              18              4               9

파일 이름이 두 열에 비해 너무 길면 ls출력이 단일 열에 표시됩니다. 유틸리티는 항상 동일한 너비의 열을 출력합니다.

$ touch really-really-really-long-name-of-a-file
$ ls
1
10
11
12
13
14
15
16
17
18
19
2
20
3
4
5
6
7
8
9
longerfilename
really-really-really-long-name-of-a-file

관련 정보