display file or file system status


Show file properties such as size, permissions, creation and access dates among others

$ stat [file]

Same as above but in a more concise way

$ stat -t [file]

Show filesystem information

$ stat -f [file]

Show only octal file permissions

$ stat -c "%a %n" [file]

Show owner and group of the file

$ stat -c "%U %G" [file]

Show the size of the file in bytes

$ stat -c "%s %n" [file]


stat [OPTION]... FILE...


Display file or file system status.

Mandatory arguments to long options are mandatory for short options too.

-L, --dereference

follow links

-f, --file-system

display file system status instead of file status


specify how to use cached attributes; useful on remote file systems. See MODE below

-c --format=FORMAT

use the specified FORMAT instead of the default; output a newline after each use of FORMAT


like --format, but interpret backslash escapes, and do not output a mandatory trailing newline; if you want a newline, include \n in FORMAT

-t, --terse

print the information in terse form


display this help and exit


output version information and exit

The --cached MODE argument can be; always, never, or default. `always` will use cached attributes if available, while `never` will try to synchronize with the latest attributes, and `default` will leave it up to the underlying file system.

The valid format sequences for files (without --file-system):


permission bits in octal (note '#' and '0' printf flags)


permission bits and file type in human readable form


number of blocks allocated (see %B)


the size in bytes of each block reported by %b


SELinux security context string


device number in decimal


device number in hex


raw mode in hex


file type


group ID of owner


group name of owner


number of hard links


inode number


mount point


file name


quoted file name with dereference if symbolic link


optimal I/O transfer size hint


total size, in bytes


major device type in hex, for character/block device special files


minor device type in hex, for character/block device special files


user ID of owner


user name of owner


time of file birth, human-readable; - if unknown


time of file birth, seconds since Epoch; 0 if unknown


time of last access, human-readable


time of last access, seconds since Epoch


time of last data modification, human-readable


time of last data modification, seconds since Epoch


time of last status change, human-readable


time of last status change, seconds since Epoch

Valid format sequences for file systems:


free blocks available to non-superuser


total data blocks in file system


total file nodes in file system


free file nodes in file system


free blocks in file system


file system ID in hex


maximum length of filenames


file name


block size (for faster transfers)


fundamental block size (for block counts)


file system type in hex


file system type in human readable form

--terse is equivalent to the following FORMAT:

%n %s %b %f %u %g %D %i %h %t %T %X %Y %Z %W %o

--terse --file-system is equivalent to the following FORMAT:

%n %i %l %t %s %S %b %f %a %c %d

NOTE: your shell may have its own version of stat, which usually supersedes the version described here. Please refer to your shell's documentation for details about the options it supports.


GNU coreutils online help: <>
Report any translation bugs to <>


Copyright © 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.


stat(2), statfs(2), statx(2) Full documentation <> or available locally via: info '(coreutils) stat invocation'


Written by Michael Meskes.

Copied to clipboard
Earn up to $40 for learning about crypto currencies