如何解决Linux文件命令使用哪个系统调用?
您知道Linux file
命令使用哪个系统来确定文件类型吗?
在命令行上,如果使用file命令,它将以类似以下内容的方式答复:
dev-1:〜/ $文件download.png
download.png:PNG图像数据,724x 724,8位/彩色RGBA,非隔行扫描
这是一个完整的例程吗?还是有一个映射到该功能的系统调用?
解决方法
根据@stark的建议,我运行了Linux strace命令,如下所示:
$ strace file download.png
返回了很多信息(许多系统调用),但我仔细检查了一下,发现我想要的核心物品:
fstat(3,{st_mode=
我搜索了found a man page for fstat:
这些函数[lstat,fstatat]在指向的缓冲区中返回有关文件的信息 到statbuf。
还有一个pread64()的调用(或调用),它从文件描述符读取。
,嗨,我有一些有用的Linux文件命令,希望对您有所帮助
file bobs_file.txt
输出= bobs_file.txt:ASCII
file textfile.tar
output = textfile.tar:POSIX tar归档文件(GNU)
file Picture/
输出=图片/:目录
file iuk.png
output = iuk.png:PNG图像数据,213 x 213,8位/彩色RGB,非隔行扫描
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。