stattest.c:
// compile: gcc -o stattest stattest.c
#include <stdio.h>
#include <sys/stat.h>
int main(int argc, char *argv[]) {
struct stat stats;
stat(argv[1], &stats);
printf("%lli\n", (long long)stats.st_dev);
return 0;
}
用法:
stat -f "%r" /dev/disk0 => 234881024(我正在寻找的值。) ./teststat /dev/disk0 => 44921876 python -c '导入操作系统,系统;打印 os.stat(sys.argv[1]).st_dev' /dev/disk0 => 44921876
为什么我的代码没有给我stat
命令给我的值?
更新 1
提取 44921876 的主要号码给我 2 即/dev/tty
.
更新 2
在文件系统上指定文件有效。(我在这里只使用 python,因为它更快。)
python -c "import sys,os; print os.stat(sys.argv[1]).st_dev" /path/to/file => 234881024