Я новичок в Ubuntu, и я изучаю аргументы ls.
Я тестировал аргументы -b, --escape (print C-style escapes for nongraphic characters), но я не нашел полезного примера того, как его использовать.
Я создал файл с именем \*\?\¿\º\ª\?\¿\&\%\$\·SpecialCharacterfile.txt, используя touch, но когда я использую ls или ls -b, он перечисляет то же самое.
*?¿ºª?¿&%$·SpecialCharacterfile.txt
Я использую Ubuntu 14.04.5 LTS
Пример: я нашел себя
$ touch "Hello This is my file"
$ ls
Hello This is my file
С опцией -b
$ ls -b
Hello\ This\ is\ my\ file
Не второй лучше, когда я хочу использовать вывод где-то еще в моем код?
Способ создания файлов был, вероятно, путем непосредственного вставки теста. Для создания файлов с обратными слэшами вы должны использовать тип цитирования $'...'.
Таким образом, создание файлов должно быть:
$ touch one$'\n'two three$'\t'four
И ls -b покажет нам их представление :
$ ls -b
one\ntwo three\tfour
Пока значение по умолчанию ls не будет:
$ ls
one?two three?four
Обратите внимание, что наличие обратных следов в файлах может привести к поломке ваших скриптов, поэтому никогда не следует разбирать ls. И именно главная цель для ls -b - посмотреть, какие имена файлов и, возможно, устранить их.
В дополнение к ответу muru, в котором объясняется, что ни один из символов в вашем имени не является графическим, я укажу, что ваше имя файла фактически не содержит обратных косых черт (оболочка удаляет их при выполнении команды, конечно)
Если бы это произошло, -b заставил бы их печатать с экранами:
$ touch 'hi\(zanna' hi\(zanna
$ ls
hi(zanna hi\(zanna
$ ls -b
hi(zanna hi\\(zanna