奇妙な名前、inode 名がない、ls で表示されないファイルを削除します。

奇妙な名前、inode 名がない、ls で表示されないファイルを削除します。

それはすべてWindowsで始まりました。USBスティックキーに、名前のない、または奇妙な名前のファイルがいくつか見つかりました。1980年に作成されたと記載されており、以下に示すように削除できませんでした。Windowsの例削除しようとしたときに表示されたエラー メッセージは、「権限が必要です」または「ファイル名が長すぎます」のいずれかでした。わかりました。Linux に切り替えます (実際は、5 秒で終わるだろうと思って、MobaXterm ターミナルを開いただけです)。

私は罪を犯したフォルダに移動し、

ls -l

コマンドを実行すると、フォルダー内の他のすべてのファイルの名前が返されましたが、「80 年代の」ファイルについては次のメッセージがリストされていました。

"ls: ./0: No such file or directory"

80年代のすべてのファイルに対して同じメッセージが表示されました。他のフォーラムからの提案に従って、ファイルのinode名を取得しようとしました。

ls -li

しかし、(予想通り)「80年代のもの」を除くすべてのファイルのinode番号を取得しましたが、そのファイルについては、まだメッセージが表示されました。

ls: ./a: No such file or directory

自分は賢いと思い、作成日に基づいて作業しようとしました。特定の日付より前に作成されたファイルを削除する方法についての提案を見つけました。ここ提案されたとおりに(同じ日付で)タイムスタンプ ファイルを作成しました。次に、チェックとして、削除部分を実行せずに検索部分だけを実行しました。得られたのは、タイムスタンプより古いいくつかのファイルのリストと、以下に示すような一連のメッセージでした。

find: ./a: No such file or directory

それで、今何を試すべきでしょうか? Windows または Ubuntu での解決策を検討しています。

答え1

最も簡単な解決策は、保存しておきたいすべてのファイルを別のフォルダーに移動し、リンクをたどらずにこれらの奇妙なファイルを含むフォルダーを再帰的に削除することだと思います。

関連情報