Оскільки символи - це, ймовірно, міжнародні символи, вони, ймовірно, відображаються як контрольні коди у вашому наборі символів en_US, саме тому ls показує їх як знаки запитання.
Це може бути пов’язано з тим, що ваш дистрибутив вибрав псевдонім ls у глобальному профілі. Наприклад:
alias ls='ls -q'
Ви можете побачити, чи зробив ваш дистрибутив так, ввівши в оболонку:
alias ls
Який надрукує щось на зразок наступного:
$ alias ls
alias ls='ls --color=auto'
Сторінка, що пов’язана нижче, говорить про те, що якщо ви зробите "ls -b", ви побачите коди управління восьми вікнами, щоб ви знали принаймні, які символи використовуються.
http://www.arsc.edu/arsc/support/howtos/nonprintingchars/
Якщо припустити, що це не працює, у вас є інший варіант, який також згадали там ближче до низу:
Інструмент, про який я до цього часу не знав, називався OctalDump (на Debian - / usr / bin / od)
$ ls | od -b
Покаже вам восьмеричну форму контрольних кодів.
$ ls | od -c
Покаже вам символи, включаючи будь-яке приховане додаткове пробіл, яке може бути в кінці (відзначте додаткові пробіли в кінці в їх прикладі)
Після того, як ви дізнаєтеся, які контрольні символи відтворюються та чи є додаткове приховане пробіл, ви, можливо, зможете чітко визначити спосіб входу до каталогу, уникаючи контрольних символів. Якщо цього не зробити, у вас є пара варіантів перейменування каталогу.
На сторінці вгорі також, зручно, є швидкий і брудний метод видалення керуючих символів за допомогою команди mv, яка, на мою думку, спрацює, якщо ви НЕ уникнете місця, але DONT не уникнете знаків запитання (таким чином, зробивши їх єдиним символом подстановочні символи), і поки що нічого іншого не існує в каталозі, де знаходиться цей негідний каталог. Причина цих явних вимог полягає в тому, що ви використовуєте лише символи підстановки та єдиний пробіл, і тому ви не хочете, щоб підказки випадково відповідали жодному іншому файлу чи каталогу.
Якщо вищевказаний метод не працює, ви можете майже впевнено використовувати метод пошуку, згаданий іншими відповідями, по-іншому. Замість того, щоб намагатися ввести каталог в каталог за допомогою номера inode, який ви сказали, що ви намагалися, ви можете перейменувати його, використовуючи номер inode. Просто не забудьте скопіювати весь набір із 3 рядків для цієї команди зі сторінки, що вводиться вище (замініть частину "бажаного імені" справжньою назвою, на яку ви хочете перейменувати її).
Після того, як каталог буде перейменований, ви зможете отримати доступ до нього. Я можу лише сподіватися, що він також не містить файлів з кодами управління в іменах, або вам доведеться промивати та повторювати кожен файл (та / або підкаталог) у каталозі, який ви щойно перейменовували, і в цей момент a для циклу буде напевно, розумно просто назвати кожен файл як число, збільшуючи його на 1. :-)
cd */
може спрацювати.*
повинен розширити оболонку, зрозумілий опис каталогу, іcd
ігнорує зайві аргументи. Іншим способом може бути використання графічного файлового менеджера (включаючи MC на базі терміналу) або вбудованих навігаторів дерев файлів, наприклад, Vim. Ви також можете експериментувати безпосередньо з-exec
перемиканням наfind, not with
cd` (який є вбудованою оболонкою), але, наприклад, зls
іншими інструментами.