我不知道ls --tab-size=COLS
(或ls -T<COLS>
) 是做什么的。
来自男人:
假设制表位位于每个 COLS 而不是 8
比如说,这里发生了什么?或者什么是有用的例子?
$ 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 为零,则根本不使用制表符。某些终端仿真器可能无法将列正确对齐到非 ASCII 字节后面的 TAB 右侧。您可以通过使用该
-T0
选项来避免该问题,或者将其放入TABSIZE=0
您的环境中,告诉您ls
使用空格而不是制表符进行对齐。
例子:
$ 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
and-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
并且输出再次被很好地格式化。