Имя файла начинается с *\*

Имя файла начинается с *\*

У меня в домашнем каталоге есть какой-то странный файл с именем \e[m. Я использую Linux. Как мне удалить его, потому что я пытался, rmно он говорит no such file or directory found?

решение1

Если ни один из других ответов, размещенных здесь, не помог, вы всегда можете попробовать удалить файл на основе его inode.

Для этого:

  1. Найдите inode файла, выполнив ls -i. Предположим, что номер inode 123456равен \e[m.
  2. Удалите файл по его номеру 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 (и/или не [является буквой [).

Связанный контент