ls 的隐藏目录(不是点前缀文件)

ls 的隐藏目录(不是点前缀文件)

我面临一个不常见的问题,即:在 btrfs 读取失败并且btrfs check --repair我的分区安装在 /home 中之后,似乎某些目录已经消失。我解释一下:当我列出我的主目录的内容时,某些目录(例如〜/work)不再列出。

$ ls -ia1 ~
   261 .
   256 ..
...
431144 VirtualBox VMs
338654 workspace

但是,我仍然可以访问它们:

$ ls -ia ~/work
4106712 .      261 ..   4522455 content

看来该 inode 不再被引用:

$ find /home -inum 4106712
$

该命令不返回任何内容。

以下是一些其他命令输出:

$ sudo btrfs inspect-internal inode-resolve 4106712 /home
/home/pef/work

$ stat ~/work
File: '/home/pef/work'
Size: 84              Blocks: 0          IO Block: 4096   directory
Device: 29h/41d Inode: 4106712     Links: 1
Access: (0755/drwxr-xr-x)  Uid: ( 1001/     pef)   Gid: ( 1001/     pef)
Access: 2016-05-19 16:01:31.480990215 +0200
Modify: 2016-05-19 16:01:26.237274459 +0200
Change: 2016-05-19 16:01:26.237274459 +0200
Birth: -

此问题不仅发生在直接 $HOME 目录子节点上,还会发生在更深的节点上。有没有办法让 ls 命令来查看这些文件,因为我不记得所有的目录/文件并且无法通过名称访问它们?

谢谢

相关内容