1

У меня есть файл с именем вроде ?????????????????????? ???????????????????????? ??????????.png в моем каталоге. Мне кажется, что файл был создан под Windows с русским именем. Я сделал это с помощью git, и теперь я не могу скомпилировать свою программу. И я не могу удалить его в Debian.

rm: cannot remove `??????????????????????': No such file or directory

rm: cannot remove `????????????????????????': No such file or directory

rm: cannot remove `??????????.png': No such file or directory

Я пытался использовать кавычки вокруг имени файла, но это не работает.

Как удалить файлы с такими именами?

2 ответа2

3

Просто используйте rm -i <wildcard> ...

(py26_dfl)[mpenning@Bucksnort ~]$ rm -i *ng
rm: remove regular file `IMAG0004-1.png'? n
rm: remove regular file `??????????.png'? y
(py26_dfl)[mpenning@Bucksnort ~]$
2

Использование подстановочных знаков, как предлагается в другом ответе, часто является более быстрым способом выбора подмножества файлов из вашего каталога, но не всегда его можно использовать (например, в предыдущем случае, по крайней мере, у вас есть суффикс расширения в понятном виде персонажи).

rm -i *ng   # means remove all files that finish for ng

Другим способом может быть использование номера индекса файла.
С помощью ls -i вы получите список файлов в текущем каталоге с номером индекса, за которым следует имя файла. Он следует примеру, полученному с помощью ls -i1 чтобы получить вывод с файлом для каждой строки:

14549004 Various_Command_.sh
14549512 Convert_Scan_Png_To_Jpg.sh
14579439 FILE_TO_DELETE

После того, как вы можете удалить, переместить или выполнить любую команду, которую вы хотите, выберите файл по номеру его инода. Например: чтобы remove файл FILE_TO_DELETE с номером индекса 14579439, можно написать:

find . -inum 14579439 -exec rm -i {} \;

Примечание: опция -i после команды удаления существует, чтобы заставить систему запрашивать перед каждым удалением.
Для использования find вы можете прочитать справочную страницу или найти в интернете учебник.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .