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
",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 {} ;
原文地址:https://www.cnblogs.com/kramer/p/3912571.html