ls --tab-size는 어떻게 작동하나요?

ls --tab-size는 어떻게 작동하나요?

나는 그것이 무엇을 하는지 ls --tab-size=COLS(또는 ) 모른다 .ls -T<COLS>

남성의 경우:

탭 정지가 8이 아닌 모든 COLS에 있다고 가정

여기서 무슨 일이 일어나고 있는 걸까요? 아니면 유용한 예는 무엇입니까?

$ touch a b c d
$ ls --color=never
a  b  c  d
$ ls --color=never -T0
a  b  c  d
$ ls --color=never -T1
a    b   c   d
$ ls --color=never -T2
a  b    c  d
$ ls --color=never -T3
a   b   c   d
$ ls --color=never -T4
a  b  c  d
$ ls --color=never -T5
a  b  c  d
$ ls --color=never -T6
a  b    c  d

답변1

--tabsize=cols/ 옵션은 -T탭 크기를 ls터미널의 탭 크기로 조정하거나 탭 사용을 비활성화하는 데 사용됩니다. 터미널이 "비표준" 값 != 8을 사용하고 출력이 왜곡된 경우 이는 의미가 있습니다.

설명이 info ls약간 더 좋습니다.

각 탭 정지가 COLS 열 너비라고 가정합니다. 기본값은 8입니다. ls효율성을 위해 가능하면 출력에 탭을 사용하십시오. COLS가 0이면 탭 문자가 전혀 사용되지 않습니다.

일부 터미널 에뮬레이터에서는 ASCII가 아닌 바이트 뒤에 있는 TAB 오른쪽에 열을 올바르게 정렬하지 못할 수 있습니다. 이 옵션을 사용하거나 정렬을 위해 탭 대신 공백을 사용하도록 지시하는 환경 -T0에 배치하면 문제를 피할 수 있습니다.TABSIZE=0ls

예:

$ ls
adipiscing  consectetur  elit  felis      in      lorem   nulla     posuere  tincidunt
amet        dolor        et    fermentum  ipsum   mauris  nunc      sit      venenatis
arcu        donec        ex    id         libero  nec     pharetra  tempor   vulputate

이건 괜찮아 보이는데, 그리고 -T0그리고 -T8그리고

$ echo -e "a\tb"
a       b

내 탭 너비가 8자로 설정되어 있음을 보여줍니다.

하지만

$ ls -T3
adipiscing      consectetur  elit  felis                in                lorem  nulla    posuere  tincidunt
amet                    dolor                    et      fermentum      ipsum   mauris  nunc              sit            venenatis
arcu                    donec                    ex      id                     libero  nec              pharetra  tempor   vulputate

나빠 보인다.

이제 탭 정지를 3자로 설정하고 다시 시도하십시오.

$ tabs -3; echo -e "a\tb"; ls -T3
a  b
adipiscing  consectetur  elit  felis      in      lorem   nulla     posuere  tincidunt
amet        dolor        et    fermentum  ipsum   mauris  nunc      sit      venenatis
arcu        donec        ex    id         libero  nec     pharetra  tempor   vulputate

그리고 출력은 다시 멋지게 형식화됩니다.

관련 정보