Movatterモバイル変換


[0]ホーム

URL:


man7.org > Linux >man-pages

Linux/UNIX system programming training


stat(3type) — Linux manual page

NAME |LIBRARY |SYNOPSIS |DESCRIPTION |STANDARDS |HISTORY |NOTES |SEE ALSO |COLOPHON

stat(3type)stat(3type)

NAME        top

       stat - file status

LIBRARY        top

       Standard C library (libc)

SYNOPSIS        top

#include <sys/stat.h>struct stat {dev_t      st_dev;/* ID of device containing file */ino_t      st_ino;/* Inode number */mode_t     st_mode;/* File type and mode */nlink_t    st_nlink;/* Number of hard links */uid_t      st_uid;/* User ID of owner */gid_t      st_gid;/* Group ID of owner */dev_t      st_rdev;/* Device ID (if special file) */off_t      st_size;/* Total size, in bytes */blksize_t  st_blksize;/* Block size for filesystem I/O */blkcnt_t   st_blocks;/* Number of 512 B blocks allocated */           /* Since POSIX.1-2008, this structure supports nanosecond              precision for the following timestamp fields.              For the details before POSIX.1-2008, see VERSIONS. */struct timespec  st_atim;/* Time of last access */struct timespec  st_mtim;/* Time of last modification */struct timespec  st_ctim;/* Time of last status change */#define st_atime  st_atim.tv_sec/* Backward compatibility */#define st_mtime  st_mtim.tv_sec#define st_ctime  st_ctim.tv_sec};   Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):st_atim,st_mtim,st_ctim:           Since glibc 2.12:               _POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700           glibc 2.19 and earlier:               _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION        top

       Describes information about a file.       The fields are as follows:st_dev This field describes the device on which this file resides.              (Themajor(3) andminor(3) macros may be useful to              decompose the device ID in this field.)st_ino This field contains the file's inode number.st_mode              This field contains the file type and mode.  Seeinode(7)              for further information.st_nlink              This field contains the number of hard links to the file.st_uid This field contains the user ID of the owner of the file.st_gid This field contains the ID of the group owner of the file.st_rdev              This field describes the device that this file (inode)              represents.st_size              This field gives the size of the file (if it is a regular              file or a symbolic link) in bytes.  The size of a symbolic              link is the length of the pathname it contains, without a              terminating null byte.st_blksize              This field gives the "preferred" block size for efficient              filesystem I/O.st_blocks              This field indicates the number of blocks allocated to the              file, in 512-byte units.  (This may be smaller thanst_size/512 when the file has holes.)st_atime              This is the time of the last access of file data.st_mtime              This is the time of last modification of file data.st_ctime              This is the file's last status change timestamp (time of              last change to the inode).       For further information on the above fields, seeinode(7).

STANDARDS        top

       POSIX.1-2008.

HISTORY        top

       POSIX.1-2001.       Old kernels and old standards did not support nanosecond timestamp       fields.  Instead, there were three timestamp fields—st_atime,st_mtime, andst_ctime—typed astime_t that recorded timestamps       with one-second precision.       Since Linux 2.5.48, thestat structure supports nanosecond       resolution for the three file timestamp fields.  The nanosecond       components of each timestamp are available via names of the formst_atim.tv_nsec, if suitable test macros are defined.  Nanosecond       timestamps were standardized in POSIX.1-2008, and, starting with       glibc 2.12, glibc exposes the nanosecond component names if_POSIX_C_SOURCEis defined with the value 200809L or greater, or_XOPEN_SOURCEis defined with the value 700 or greater.  Up to and       including glibc 2.19, the definitions of the nanoseconds       components are also defined if_BSD_SOURCEor_SVID_SOURCEis       defined.  If none of the aforementioned macros are defined, then       the nanosecond values are exposed with names of the formst_atimensec.

NOTES        top

       The following header also provides this type:<ftw.h>.

SEE ALSO        top

stat(2),inode(7)

COLOPHON        top

       This page is part of theman-pages (Linux kernel and C library       user-space interface documentation) project.  Information about       the project can be found at        ⟨https://www.kernel.org/doc/man-pages/⟩.  If you have a bug report       for this manual page, see       ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.       This page was obtained from the tarball man-pages-6.15.tar.gz       fetched from       ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on       2025-08-11.  If you discover any rendering problems in this HTML       version of the page, or you believe there is a better or more up-       to-date source for the page, or you have corrections or       improvements to the information in this COLOPHON (which isnot       part of the original manual page), send a mail to       man-pages@man7.orgLinux man-pages 6.15            2025-05-17stat(3type)

Pages that refer to this page:stat(2)blkcnt_t(3type)blksize_t(3type)dev_t(3type)mode_t(3type)



HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface.

For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere.

Hosting byjambit GmbH.

Cover of TLPI


[8]ページ先頭

©2009-2025 Movatter.jp