Просто из любопытства мне было интересно, есть ли причина для дополнительного места, когда я печатаю ls
в каталоге Desktop. Сравнить ...
~/Desktop$ ls
file1 file2 file3
... до ...
~/Documents$ ls
file1 file2 file3
Обратите внимание, что когда я печатаю ls
на рабочем столе, я получаю дополнительный пробел в начале строки (не является частью имени файла). Я не могу найти другого примера местоположения, где я получаю это дополнительное пространство в начале строки. Кто-нибудь еще получает это? Есть ли причина?
NB: я использую Ubuntu Bionic Beaver LTS release и терминал по умолчанию, который поставляется вместе с ним.
touch " "
), у меня есть два пробела впереди.ls -la
вместо илиfind -type f -printf "file: -%P-\n"
и предоставьте вывод. Скорее всего, есть файл с непечатным символом. Окраска файлов также потенциально может повлиять на это, так что попробуйте\ls
или поdir
командеОтветы:
Дополнительный пробел появляется, когда у вас есть имена файлов в каталоге, которые вам нужны
'
(например, имена файлов с пробелами или другие специальные символы).После удаления «странных» файлов я получаю:
источник
Я уверен , что
file1 file2 file3
это не то , что точно показано на экране. Вы пропустили ценную информацию (фактические имена файлов), которая может быть легко уместной.Я предполагаю, что у вас есть имя файла, которое содержит пробел или другой специальный символ.
Более новая версия coreutils
ls
цитирует такие имена файлов, как правило, в одинарных кавычках. Плюс, если есть хотя бы один файл, требующий такой кавычки, он добавляет пробел перед всеми остальными именами файлов, чтобы они выравнивались «красиво», если они оказались друг под другом, то есть знак одинарной кавычки (апостроф) игнорируется для выравнивания.См.
--quoting-style
И-N
на странице справочникаls
для более подробной информации, и в разделе «Форматирование имен файлов» на его информационной странице для более подробной информации. Вы могли бы , например , рассмотреть вопрос наложенияls
наls -N
.источник