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