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 {} \;