Ale*_*lex 63 search inode files
我知道这个命令:
find /path/to/mountpoint -inum <inode number>
Run Code Online (Sandbox Code Playgroud)
但这是一个非常缓慢的搜索,我觉得必须有一种更快的方法来做到这一点。有人知道更快的方法吗?
enz*_*tib 46
对于 ext4 文件系统,您可以debugfs在以下示例中使用:
$ sudo debugfs -R 'ncheck 393094' /dev/sda2 2>/dev/null
Inode Pathname
393094 /home/enzotib/examples.desktop
Run Code Online (Sandbox Code Playgroud)
答案不是立竿见影的,但似乎比find.
的输出debugfs可以很容易地解析以获得文件名:
$ sudo debugfs -R 'ncheck 393094' /dev/sda2 | cut -f2 | tail -n2 > filenames
Run Code Online (Sandbox Code Playgroud)
Tom*_*ale 14
inode-resolve [-v] <ino> <path>
(needs root privileges)
resolve paths to all files with given inode number ino in a given
subvolume at path, ie. all hardlinks
Options
-v
verbose mode, print count of returned paths and ioctl()
return value
Run Code Online (Sandbox Code Playgroud)
例子:
sudo btrfs inspect-internal inode-resolve 15380 /home小智 2
您可以查看 fsdb 命令,该命令在大多数 Unices 上都可以找到,并且我确信 Linux 上也可以使用该命令。这是一个强大的命令,允许您访问文件的核心 inode 结构,所以要小心。语法也非常简洁。
虽然 fsdb 实际上不会让您发现 inode 的文件名,但它确实允许您在指定 inode 时直接访问 inode,本质上是将您“移植”到文件本身(或者至少是数据块指针),因此它是在这方面比发现更快;-)。
您的问题没有指定您要如何处理该文件。您可能正在解码 NFS 文件句柄吗?
SC。