出于好奇,我想知道当我ls
在桌面目录中输入时是否有多余的空格的原因。比较...
~/Desktop$ ls
file1 file2 file3
...到...
~/Documents$ ls
file1 file2 file3
请注意,当我在桌面上输入时,ls
行首会出现一个额外的空格(不是文件名的一部分)。我找不到任何其他示例位置,在行首会出现这个额外的空格。其他人也遇到过这种情况吗?有什么原因吗?
注意:我正在使用 Ubuntu Bionic Beaver LTS 版本及其附带的默认终端。
答案1
'
当目录中的文件名需要在周围添加空格时(例如,文件名中带有空格或其他特殊字符),就会出现多余的空格。
~/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
答案2
我很确定file1 file2 file3
不是确切地屏幕上显示。您忽略了可能与之相关的宝贵信息(实际文件名)。
我的假设是您的文件名包含空格或其他特殊字符。
新版 coreutilsls
会引用这些文件名,通常用单引号。另外,如果至少有一个文件需要引用,它会在所有其他文件名前面添加一个空格,这样如果它们恰好位于彼此下方,它们就会“很好地”对齐,也就是说,对齐时会忽略单引号(撇号)。
参见--quoting-style
-N
手动的页面中ls
提供了更多详细信息,其中的“格式化文件名”部分信息页面以了解更多详细信息。例如,您可以考虑将别名ls
设为ls -N
。