0
私はstat()
です(Kubuntu GNU/Linux 16.04上)。この奇妙な値は0100600の8進数(10進数33152)です。私がビット単位で - S_IFMT
(これは0170000の8進数)であれば、私は0600の8進数を得る。どういう意味ですか? stat.h
リストは以下の値:symlinkのst_modeが奇妙な値を持っています
/* 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. */
私は012万、ない0600(すべてのオクタル)を参照してくださいことを期待しています。何がありますか?
symlinkの 'stat'は、シンボリックリンク自体ではなく、シンボリックリンクのターゲットのステータスを返します。あなたのシンボリックリンクは、明らかに、権限がrw -------の正規ファイルを指しています。あなたが使っているシステムコールのマニュアルページを読むことを検討するかもしれません。 –