Bashから「°」というファイルを削除する方法

Bashから「°」というファイルを削除する方法

私は誤って.というファイルを生成しましたが、°今ではbashで削除するのに問題があります。

[/opt/etc/sudoers.d] # ls -l
-r--r-----    1 admin    administ       21 Feb  3 23:54 010-root
-rw-r--r--    1 admin    administ       20 Feb  3 23:50 °

入力すると、rm °キャレットが行の先頭に移動するようです。つまり、文字は入力されません。

(とにかく私はMac OSX端末を使用してSSH経由で接続されたリモートシステムでbash 3.2.0を実行しています)

どんなアイデアがありますか?

答え1

どうですか?

rm -i ?

私の考えにはこれがうまくいくと思います...

答え2

rmなどのワイルドカードを使用して一致するものが多い場合は、rm -i ?いつでもinode番号で削除できます。

ls -i
find . -inum <inode> -ok rm '{}' \;

その中には、現在ディレクトリにあるファイルのすべてのinode番号をリストする<inode>inode number fromがあります。ls -i

答え3

答えrm -i ?は良いです。

これはまた働きます:

rm [^a-z]

同じ

rm [[:punct:]]

なぜ行の先頭に戻るのか、どのように入力しましたか˚?たぶん、入力はシェルCtrl+Aが行の先頭に移動するために使用する別のショートカットとして解釈されるかもしれません。

utf-8端末アプリケーションにエンコードまたは文字セットを設定する設定がありますか?localeターミナルセッションで実行すると何が印刷されますか?


このファイルをどのように作成しましたか?たぶん、同様の方法で削除できますか?

関連情報