如何通过只知道文件的inode来检索bash中的文件内容?如何在bash中通过inode获取文件内容?
1
A
回答
1
如果你有find (GNU findutils)
和访问find
不的POSIX find
,你可以用它-inum
选择它,
-inum n
File has inode number n. It is normally easier to use the
-samefile test instead
只是用它与-exec
选项一起打开使用cat
的文件,
find . -inum 1346087 -exec cat {} \;
假设inode
我的文件的值为sample.txt
是
ls -id sample.txt
1346087 sample.txt
2
您无法通过索引节点访问文件,因为这会破坏通过权限访问控制。例如,如果您没有遍历目录的权限,则无论文件权限如何,都无法访问该目录中的任何文件。如果您可以通过inode访问文件,则会绕过目录权限。
有一些方法可以通过inode编号获取文件的路径或名称,例如使用find
。一旦你获得了一个文件路径,你可以使用任何常规工具。
find
有一个inum
参数用于通过inode查找文件。这里有一个例子:
find -inum 1704744 -exec cat {} \;
这将打印索引节点1704744
文件的内容,假设它位于当前目录或它的一个子。
注意:ls
也有一个-i
选项以获取与文件关联的inode。
2
获取的inode与EXT2/EXT3/EXT4文件系统:
inode=262552
device=/dev/sda1
sudo debugfs -R "ncheck $inode" $device 2>/dev/null
输出(例如):
Inode Pathname 262552 /var/log/syslog
要显示文件的内容:
sudo debugfs -R "ncheck $inode" $device 2>/dev/null | awk '/[1-9]/ {print $2}' | xargs cat
1
便携,但是进展缓慢方法是使用find -inum ...
获取给定inode的文件名,并在下一步中使用找到文件名。
如果您只需要该文件的content
(通过inode编号),就存在一些文件系统/操作系统特定的解决方案。
对于MacOS的是简单的:
inode=48747714
eval "$(stat -s "/Volumes/volume_name")"
cat /.vol/$st_dev/$inode
例如在OS X的HFS文件系统存在伪目录/.vol
,您可以使用由它们的索引节点号访问文件的内容为:在/Volumes
/.vol/device_id/inode_number
的device_id
是从stat
对于给定的volume_name
获得,(检查ls /Volumes
)。
相关问题
- 1. 在XV6中通过名称获取目录/文件的dinode/inode
- 2. 如何通过AJAX自动获取文件的文件内容?
- 3. 通过PHP获取文件内容cURL
- 4. 通过FileReader()获取文件内容JavaScript
- 5. 通过inode打开文件
- 6. 如何通过java获取ASPX文件的内容?
- 7. 如何通过GitLab REST API获取文件的原始内容?
- 8. 如何通过提交的SHA获取文件和内容
- 9. 如何通过https获取隐藏文件的内容?
- 10. UNIX内核如何从文件名获取inode?
- 11. 如何通过c中的inode值获取目录名?
- 12. 通过URI获取内容
- 13. 如何通过电子邮件获取MySQL中的内容?
- 14. 如何在Laravel 4中获取通过POST发送的文件的内容?
- 15. 可能通过bash从在线.txt文件中获取文本?
- 16. 如何在Ajax中通过简码获取内容
- 17. 在TinyMCE 4.0中,如何通过id获取textarea的内容?
- 18. 目录Inode vs普通文件Inode
- 19. 如何通过文本内容获取HTML DOM路径?
- 20. 如何从uploadfilefield获取文件内容?
- 21. 如何获取文件内容
- 22. 如何获取文件内容的ParcelFileDescriptor?
- 23. bash脚本过滤文件的内容
- 24. 如何通过在内核中创建struct文件来获取文件名?
- 25. 在内容中获取文件的URL
- 26. 在php中获取文件内容
- 27. 如何通过的jQuery + Ajax获得所选文件的内容
- 28. 如何通过xml签名文件提取“原始”内容
- 29. 通过VBA获取laccdb文件的内容
- 30. 通过UDP传输文件内容后获取垃圾字符
您是否尝试为此找到答案?你能提供一个你正在寻找和输入和输出的例子吗? – Inian