У меня есть странный файл в моем домашнем каталоге с именем \e[m
.
Я использую Linux. Как я могу удалить его, потому что я пробовал rm
но он говорит, no such file or directory found
?
5 ответов
Если ни один из других ответов, опубликованных здесь, не работает, вы всегда можете попробовать удалить файл, основанный на его inode.
Для этого:
- Найдите индекс файла, выполнив команду
ls -i
. Предположим, что номер индекса равен123456
для\e[m
. - Удалите файл по номеру его индекса : запустите либо
find -inum 123456 -delete
либоfind -inum 123456 -exec rm {} \;
,
Честно говоря, проще всего было бы использовать файловый менеджер, который обходил бы любую оболочку.
Используя оболочку, я бы попробовал использовать систему завершения оболочки (при условии, что вы используете оболочку с такой). Подобно rm [TAB]
, если ваша оболочка дает вам меню и позволяет вам выбирать из меню или циклически проходить по нему, вы должны иметь возможность получить завершение, то есть текстовое представление, которое ваша оболочка распознает.
Возможные способы:
rm \\e\[m
или же
rm '\e[m'
или же
rm "\\e[m"
Если \e
является escape-символом (код ASCII 27), и вы используете оболочку Bash, вы можете попробовать:
rm $'\e[m'
Вы можете использовать расширение glob. попробуйте ls *[[]m
, и если это только вернет этот файл, то вы можете спокойно выполнить rm *[[]m
.
Если файл с ошибками не указан в приведенной выше команде ls
, он, безусловно, содержит escape, и 'm' на самом деле не является литералом m (и / или [
не является литералом [
)