2

The power went out at home and my Linux server (Plugbox Linux) went down. After it came back up, one of the files on the USB drive that was connected is corrupt. "ls -il" gives this:

 ? -????????? ? ?  ?         ?            ? server.prefs

How can I remove this file? I googled a bit and found out how to delete a file by inode number, but I can't even get the inode number of this file.

Any ideas?

splattne
  • 28,508
  • 20
  • 98
  • 148
Nate
  • 155
  • 1
  • 2
  • 7

2 Answers2

3

Did you try fsck on that unit?

Pitto
  • 2,009
  • 10
  • 33
  • 49
3

Run fsck first to ensure the data is consistent. You may have to use sudo to gain the require privileges to repair.

Then you can use rm -i to remove the file. You may want to use less or more to read the file first to see if you want to keep it first.

There are a number of tools which allow you to browse and delete files. I use mc and emacs from the command line. If you use a graphical interface, the file browser will also handle the cleanup.

BillThor
  • 27,737
  • 3
  • 37
  • 69
  • 2
    `fsck` by itself should take care of it. You'll typically see that kind of output from `ls` when a file listed in a directory isn't actually present on the volume. It prints question marks because it can't stat() the file to get the permissions, size, etc. `fsck` will see and should be able to correct this inconsistency. The downside is that the `server.prefs` file is almost certainly gone, so hopefully Nate has a backup if he needs it. – James Sneeringer Dec 02 '10 at 03:16