int lstat(const char *path,struct stat*buf)

当文件是一个符号链接时,lstat返回的是该符号链接本身的信息,而stat返回的是该链接指向的文件的信息。

struct stat
{
dev_t st_dev; //设备号码
ino_t st_ino; //inode节点号
mode_t st_mode; //文件对应的模式,文件,目录,sock,管道等等
nlink_t st_nlink; //文件的连接数 软连接或硬链接
uid_t st_uid; //文件所有者
gid_t st_gid; //文件所有者对应的组
dev_t st_rdev; //特殊设备号码
off_t st_size; //普通文件,对应的文件字节数
timestruc_t st_atim; //文件最后被访问的时间
timestruc_t st_mtim; //文件内容最后被修改的时间
timestruc_t st_ctim; //文件状态改变时间
blksize_t st_blksize; //文件内容对应的块
blkcnt_t st_blocks; //文件内容对应的块数量
char st_fstype[_ST_FSTYPSZ];
};

stat结构体中的st_mode则定义了下列数种情况

S_IFMT

0170000

文件类型的位遮罩

S_IFSOCK

0140000

socket

S_IFLNK

0120000

符号链接

S_IFREG

0100000

一般文件

S_IFBLK

0060000

区块装置

S_IFDIR

0040000

目录

S_IFCHR

0020000

字符装置

S_IFIFO

0010000

先进先出

S_ISUID

04000

文件的(set user-id on execution)位

S_ISGID

02000

文件的(set group-id on execution)位

S_ISVTX

01000

文件的sticky位

S_IRUSR(S_IREAD)

00400

文件所有者具有可读权限

S_IWUSR(S_IWRITE)

00200

文件所有者具有可写权限

S_IXUSR(S_IEXEC)

00100

文件所有者具有可执行权限

S_IRGRP

00040

用户组具有可读权限

S_WGRP

00020

用户组具有可写权限

S_IXGRP

00010

用户组具有可执行权限

S_IROTH

00004

其他用户具有可读权限

S_IWOTH

00002

其他用户具有可写权限

S_IXOTH

00001

其他用户具有可执行权限

上述文件类型在POSIX中定义了检查这些类型的宏定义

S_ISLNK (st_mode)

判断是否为符号链接

S_ISREG (st_mode)

判断是否为一般文件

S_ISDIR(st_mode)

是否为目录

S_ISCHR(st_mode)

是否为字符装置文件

S_ISBLK(st_mode)

是否为先进先出

S_ISSOCK(st_mode)

是否为socker

若一般目录具有sticky位(S_ISVTX),则表示在此目录下的文件只能被该文件所有者、此目录所有者或root来输出或改名,在linux中,最典型的就是/tmp目录了。

最新文章

  1. Java——其他容器
  2. android: adapter getView(position==0) was invoked many times.
  3. JDBC中prepareStatement 和Statement 的区别
  4. ASP.NET之Ajax系列(三)
  5. Android 者开发如何选择测试机列表
  6. php面向对象的特性:OOP的继承
  7. nginx配置location [=|~|~*|^~] /uri/ { … }用法
  8. LoadRunner监控Windows和Linux常见问题
  9. 循环结构中break、continue、return和exit的区别
  10. js 中的 exec( )方法
  11. javascript 深入浅出 (未完成4-17)
  12. 牛掰啊,github+svn+FB进行项目开发
  13. Netty之二进制文件传输
  14. 在golang中使用leveldb
  15. Apache Flink Quickstart
  16. 自学华为IoT物联网_10 IoT联接管理平台配置及开发实验1
  17. 阿里巴巴Java开发规范---个人总结
  18. JUC集合之 CopyOnWriteArraySet
  19. A Tool to Clip Images
  20. 进程间通信IPC -- 管道, 队列

热门文章

  1. Centos7 在线安装开发环境 jdk1.8+mysql+tomcat
  2. PL/SQL不安装ORACLE客户端
  3. 私有属性和私有方法l
  4. H3C S3600V2 通过CONSOLE配置端口镜像
  5. RestFramework之序列化器源码解析
  6. [破解版]Unity3d引擎最新稳定版本4.5.5下载(官方最新稳定版本)
  7. 操作系统systemctl命令
  8. Spring事务传播机制与隔离机制
  9. django后台标题替换
  10. 22,Django常用命令