stattest.c:stat()如何工作?
// 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 (Value that I'm looking for.) ./teststat /dev/disk0 => 44921876 python -c 'import os,sys; print 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
請增加「ls -ld/dev/disk0」的輸出,如果你不在Mac OS X上,這會有幫助。 – unwind 2009-10-29 10:32:23
'brw-r ----- 1個根操作符14,0 19 Okt 16 :59/dev/disk0' – 2009-10-29 10:35:23