Почему там дополнительное пространство, когда я ввожу “ls” в каталоге Desktop?

Только из любопытства, я задавался вопросом, существует ли причина дополнительного пространства, когда я ввожу ls в каталоге Desktop. Выдержать сравнение...

~/Desktop$ ls
 file1 file2 file3

кому...

~/Documents$ ls
file1 file2 file3

Заметьте это, когда я введу ls на Рабочем столе я получаю дополнительное пространство в начале строки (не часть имени файла). Я не могу найти никакое другое местоположение в качестве примера, где я получаю это дополнительное пространство в начале строки. Кто-либо еще получает это? Существует ли причина?

NB: я использую Ubuntu Бионический Бобр выпуск LTS и терминал по умолчанию, который поставлется с ним.

27
задан 10 March 2019 в 00:47

2 ответа

Дополнительное пространство появляется, когда у Вас есть имена файлов в Вашей необходимости каталога ' вокруг них (например, имена файлов с пробелами или другими специальными символами).

~/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
85
ответ дан 23 November 2019 в 00:59

Я вполне уверен file1 file2 file3 не то, что точно показывают на Вашем экране. Вы опустили драгоценную информацию (фактические имена файлов), который мог бы легко быть релевантным.

Мое предположение - то, что у Вас есть имя файла, которое содержит пространство или другой специальный символ.

Более новая версия coreutils's ls заключите такие имена файлов в кавычки, обычно в одинарных кавычках. Плюс, если существует по крайней мере один файл, требующий такого заключения в кавычки, он добавляет пространство перед всеми другими именами файлов так, чтобы они выровнялись "приятно", если они, оказывается, друг под другом, то есть, метка одинарной кавычки (апостроф) проигнорирована для выравнивания.

Посмотрите --quoting-style и -N в странице руководства ls еще для некоторых деталей и раздела "Formatting the file names" на его информационной странице еще для получения дополнительной информации. Вы могли бы, например, рассматривать искажение ls кому: ls -N.

53
ответ дан 23 November 2019 в 00:59

Другие вопросы по тегам:

Похожие вопросы: