我正在stat()
使用这个符号链接(在 Kubuntu GNU/Linux 16.04 上),并且得到了八进制 0100600(十进制 33152)的奇怪值。如果我按位S_IFMT
(即 0170000 八进制),我得到 0600 八进制。这意味着什么?stat.h
列出以下值:
/* File types. */
#define __S_IFDIR 0040000 /* Directory. */
#define __S_IFCHR 0020000 /* Character device. */
#define __S_IFBLK 0060000 /* Block device. */
#define __S_IFREG 0100000 /* Regular file. */
#define __S_IFIFO 0010000 /* FIFO. */
#define __S_IFLNK 0120000 /* Symbolic link. */
#define __S_IFSOCK 0140000 /* Socket. */
我期待看到 0120000,而不是 0600(全八进制)。是什么赋予了?