刪除名稱奇怪、沒有 inode 名稱且 ls 未顯示的文件

刪除名稱奇怪、沒有 inode 名稱且 ls 未顯示的文件

這一切都始於 Windows,我在 USB 記憶棒上發現了幾個沒有名稱或名稱奇怪的文件,列出為 1980 年創建的文件,並且無法刪除,如下所示Windows 範例。我在嘗試刪除它們時收到的錯誤訊息是“需要權限”或“檔案名稱太長”。好吧,我說,我會轉向linux(實際上,我剛剛打開MobaXterm終端,認為這將是一個5秒鐘的工作)。

我導航到有罪的資料夾,然後輸入

ls -l

發現該命令返回了資料夾中所有其他文件的名稱,而對於「來自 80 年代」的文件,它列出了以下訊息:

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

80 年代的所有文件都顯示相同的訊息。根據其他論壇的建議,我嘗試使用以下命令來獲取檔案的索引節點名稱

ls -li

但是(正如預期的那樣)我得到了所有文件的索引節點號,除了那些“來自 80 年代”的文件,我仍然收到了訊息

ls: ./a: No such file or directory

我自認為很聰明,嘗試在創建日期工作。我找到了有關如何刪除在給定日期之前創建的文件的建議這裡。我按照建議創建了時間戳文件(具有相同的日期);然後,作為檢查,我只運行查找部分,而不執行刪除部分。我得到的是一些早於時間戳的文件的列表以及一系列訊息,如下所示

find: ./a: No such file or directory

那麼:我現在應該嘗試什麼?我願意接受 Windows 或 ubuntu 中的解決方案。

答案1

我想最簡單的解決方案是將要保留的所有檔案移動到另一個資料夾,然後遞歸刪除包含這些奇怪檔案的資料夾,而不使用以下連結。

相關內容