首页 > 代码库 > Unix stat

Unix stat

Linux 下有stat命令,可以非常方便的得到一个文件的inode等信息。但是今天在Solaris下使用stat居然没有这个命令。不过没关系,我们可以自己写这个命令,比如:

#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>int main(int argc, char *argv[]){    struct stat filestats;    stat(argv[1],&filestats);    printf("last modify time %d\n",filestats.st_mtim.tv_sec);}

上面的代码已经得到了一个包含文件信息的struct。 想要什么信息只要print出来就可以了。

 

 

 

不过我只是想知道一个文件的inode。 更快捷的是 ls -li filename。选项 i 可以把inode号显示在结果的第一个位置。

bash-2.05# ls -li bacj^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?^?      5792 -rw-r--r--   1 pn2usr   pn2grp     49598 Jun 18 09:08 bacj

如上所示,这样就得到了一个无法显示文件的inode信息,想删除这个文件可以通过inode来做

bash-2.05# find . -inum 5792 -exec rm -f {} \;