*\* で始まるファイル名

*\* で始まるファイル名

ホーム ディレクトリに という名前の奇妙なファイルがあります。Linux を使用しています。試してみましたが と表示されます。\e[mどうすれば削除できますか?rmno 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 拡張を使用できます。 を試してみてls *[[]m、このファイルのみが返される場合は、 を安全に実行できますrm *[[]m

問題のあるファイルが上記のlsコマンドでリストされていない場合は、エスケープが含まれていることは確実であり、「m」は実際にはリテラル m ではありません (および/または は[リテラル ではありません[)。

関連情報