新しいフォルダを作成すると、'がBASHの特殊文字であることを認識しませんでした。つまり、次のファイルが作成されたことを意味します。
One Flew Over the Cuckoos\ Nest\ \(1975\)?quit?quit()?ls??????????
または正確に言うと
drwxrwxrwx 1 root root 0 Mar 8 23:21 One Flew Over the Cuckoos\ Nest\ \(1975\)?quit?quit()?ls??????????
これによりターミナルが狂うようになりました。タブ補完機能がまったく見つかりません。 inodeで開こうとするとエラーが発生します。
LibreELEC:/var/media/MYNAME/Films # rm -r "$(find -inum 187)"
rm: can't remove './One Flew Over the Cuckoos\ Nest\ \(1975\)
quit
quit()
ls': No such file or directory
私はどれほどひどく台無しにされたのですか?
答え1
解決しました。 OPで試したように、inodeで削除してこれを実行しましたが、次の行を使用してファイル名を完全にバイパスしました。
find . -inum 187 -delete
この記事を読んでいる人なら誰でも187を次のように見つけたinodeに置き換える必要があります。イエルエス
答え2
rm で対話型オプションを使用できます。各ファイルを一覧表示して削除するかどうかを尋ねます。したがって、ワイルドカードを使用して簡単にテストできます。
rm -i *Flew*Cuckoo*Nest*
これは rmdir には影響しません。ディレクトリが空の場合は、次のことができます。
rm -ir *Flew*Cuckoo*Nest*
あるいは、一意性を確保するためにディレクトリと十分に一致できる場合は、ディレクトリ名を入力できる名前に置き換えることができます。
mv *Flew*Cuckoo*Nest* BetterCuckooName