1*46659ea9SSascha Wildner.\" $NetBSD: stat.1,v 1.28 2010/04/05 21:25:01 joerg Exp $ 2*46659ea9SSascha Wildner.\" 39a63ce63SRobert Garrett.\" Copyright (c) 2002 The NetBSD Foundation, Inc. 49a63ce63SRobert Garrett.\" All rights reserved. 59a63ce63SRobert Garrett.\" 69a63ce63SRobert Garrett.\" This code is derived from software contributed to The NetBSD Foundation 79a63ce63SRobert Garrett.\" by Andrew Brown and Jan Schaumann. 89a63ce63SRobert Garrett.\" 99a63ce63SRobert Garrett.\" Redistribution and use in source and binary forms, with or without 109a63ce63SRobert Garrett.\" modification, are permitted provided that the following conditions 119a63ce63SRobert Garrett.\" are met: 129a63ce63SRobert Garrett.\" 1. Redistributions of source code must retain the above copyright 139a63ce63SRobert Garrett.\" notice, this list of conditions and the following disclaimer. 149a63ce63SRobert Garrett.\" 2. Redistributions in binary form must reproduce the above copyright 159a63ce63SRobert Garrett.\" notice, this list of conditions and the following disclaimer in the 169a63ce63SRobert Garrett.\" documentation and/or other materials provided with the distribution. 179a63ce63SRobert Garrett.\" 189a63ce63SRobert Garrett.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 199a63ce63SRobert Garrett.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 209a63ce63SRobert Garrett.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 219a63ce63SRobert Garrett.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 229a63ce63SRobert Garrett.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 239a63ce63SRobert Garrett.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 249a63ce63SRobert Garrett.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 259a63ce63SRobert Garrett.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 269a63ce63SRobert Garrett.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 279a63ce63SRobert Garrett.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 289a63ce63SRobert Garrett.\" POSSIBILITY OF SUCH DAMAGE. 299a63ce63SRobert Garrett.\" 30*46659ea9SSascha Wildner.\" $FreeBSD: head/usr.bin/stat/stat.1 267773 2014-06-23 08:23:05Z bapt $ 319a63ce63SRobert Garrett.\" 32*46659ea9SSascha Wildner.Dd February 28, 2016 339a63ce63SRobert Garrett.Dt STAT 1 349a63ce63SRobert Garrett.Os 359a63ce63SRobert Garrett.Sh NAME 369a63ce63SRobert Garrett.Nm stat , 379a63ce63SRobert Garrett.Nm readlink 389a63ce63SRobert Garrett.Nd display file status 399a63ce63SRobert Garrett.Sh SYNOPSIS 409a63ce63SRobert Garrett.Nm 41*46659ea9SSascha Wildner.Op Fl FHLnq 429a63ce63SRobert Garrett.Op Fl f Ar format | Fl l | r | s | x 439a63ce63SRobert Garrett.Op Fl t Ar timefmt 449a63ce63SRobert Garrett.Op Ar 459a63ce63SRobert Garrett.Nm readlink 46*46659ea9SSascha Wildner.Op Fl fn 479a63ce63SRobert Garrett.Op Ar 489a63ce63SRobert Garrett.Sh DESCRIPTION 499a63ce63SRobert GarrettThe 509a63ce63SRobert Garrett.Nm 519a63ce63SRobert Garrettutility displays information about the file pointed to by 529a63ce63SRobert Garrett.Ar file . 53*46659ea9SSascha WildnerRead, write, or execute permissions of the named file are not required, but 549a63ce63SRobert Garrettall directories listed in the pathname leading to the file must be 559a63ce63SRobert Garrettsearchable. 569a63ce63SRobert GarrettIf no argument is given, 579a63ce63SRobert Garrett.Nm 589a63ce63SRobert Garrettdisplays information about the file descriptor for standard input. 599a63ce63SRobert Garrett.Pp 609a63ce63SRobert GarrettWhen invoked as 619a63ce63SRobert Garrett.Nm readlink , 629a63ce63SRobert Garrettonly the target of the symbolic link is printed. 63*46659ea9SSascha WildnerIf the given argument is not a symbolic link and the 64*46659ea9SSascha Wildner.Fl f 65*46659ea9SSascha Wildneroption is not specified, 669a63ce63SRobert Garrett.Nm readlink 679a63ce63SRobert Garrettwill print nothing and exit with an error. 68*46659ea9SSascha WildnerIf the 69*46659ea9SSascha Wildner.Fl f 70*46659ea9SSascha Wildneroption is specified, the output is canonicalized by following every symlink 71*46659ea9SSascha Wildnerin every component of the given path recursively. 72*46659ea9SSascha Wildner.Nm readlink 73*46659ea9SSascha Wildnerwill resolve both absolute and relative paths, and return the absolute pathname 74*46659ea9SSascha Wildnercorresponding to 75*46659ea9SSascha Wildner.Ar file . 76*46659ea9SSascha WildnerIn this case, the argument does not need to be a symbolic link. 779a63ce63SRobert Garrett.Pp 789a63ce63SRobert GarrettThe information displayed is obtained by calling 799a63ce63SRobert Garrett.Xr lstat 2 809a63ce63SRobert Garrettwith the given argument and evaluating the returned structure. 81*46659ea9SSascha WildnerThe default format displays the 82*46659ea9SSascha Wildner.Fa st_dev , 83*46659ea9SSascha Wildner.Fa st_ino , 84*46659ea9SSascha Wildner.Fa st_mode , 85*46659ea9SSascha Wildner.Fa st_nlink , 86*46659ea9SSascha Wildner.Fa st_uid , 87*46659ea9SSascha Wildner.Fa st_gid , 88*46659ea9SSascha Wildner.Fa st_rdev , 89*46659ea9SSascha Wildner.Fa st_size , 90*46659ea9SSascha Wildner.Fa st_atime , 91*46659ea9SSascha Wildner.Fa st_mtime , 92*46659ea9SSascha Wildner.Fa st_ctime , 93*46659ea9SSascha Wildner.Fa st_blksize , 94*46659ea9SSascha Wildner.Fa st_blocks , 95*46659ea9SSascha Wildnerand 96*46659ea9SSascha Wildner.Fa st_flags 97*46659ea9SSascha Wildnerfields, in that order. 989a63ce63SRobert Garrett.Pp 999a63ce63SRobert GarrettThe options are as follows: 1009a63ce63SRobert Garrett.Bl -tag -width indent 1019a63ce63SRobert Garrett.It Fl F 1029a63ce63SRobert GarrettAs in 1039a63ce63SRobert Garrett.Xr ls 1 , 1049a63ce63SRobert Garrettdisplay a slash 1059a63ce63SRobert Garrett.Pq Ql / 1069a63ce63SRobert Garrettimmediately after each pathname that is a directory, 1079a63ce63SRobert Garrettan asterisk 1089a63ce63SRobert Garrett.Pq Ql * 1099a63ce63SRobert Garrettafter each that is executable, 1109a63ce63SRobert Garrettan at sign 1119a63ce63SRobert Garrett.Pq Ql @ 1129a63ce63SRobert Garrettafter each symbolic link, 1139a63ce63SRobert Garretta percent sign 1149a63ce63SRobert Garrett.Pq Ql % 1159a63ce63SRobert Garrettafter each whiteout, 1169a63ce63SRobert Garrettan equal sign 1179a63ce63SRobert Garrett.Pq Ql = 1189a63ce63SRobert Garrettafter each socket, 1199a63ce63SRobert Garrettand a vertical bar 1209a63ce63SRobert Garrett.Pq Ql | 1219a63ce63SRobert Garrettafter each that is a FIFO. 1229a63ce63SRobert GarrettThe use of 1239a63ce63SRobert Garrett.Fl F 1249a63ce63SRobert Garrettimplies 1259a63ce63SRobert Garrett.Fl l . 126*46659ea9SSascha Wildner.It Fl H 127*46659ea9SSascha WildnerTreat each argument as the hexadecimal representation of an NFS file handle, 128*46659ea9SSascha Wildnerand use 129*46659ea9SSascha Wildner.Xr fhstat 2 130*46659ea9SSascha Wildnerinstead of 131*46659ea9SSascha Wildner.Xr lstat 2 . 132*46659ea9SSascha WildnerThis requires root privileges. 1339a63ce63SRobert Garrett.It Fl L 1349a63ce63SRobert GarrettUse 1359a63ce63SRobert Garrett.Xr stat 2 1369a63ce63SRobert Garrettinstead of 1379a63ce63SRobert Garrett.Xr lstat 2 . 1389a63ce63SRobert GarrettThe information reported by 1399a63ce63SRobert Garrett.Nm 1409a63ce63SRobert Garrettwill refer to the target of 1419a63ce63SRobert Garrett.Ar file , 1429a63ce63SRobert Garrettif file is a symbolic link, and not to 1439a63ce63SRobert Garrett.Ar file 1449a63ce63SRobert Garrettitself. 145*46659ea9SSascha WildnerIf the link is broken or the target does not exist, 146*46659ea9SSascha Wildnerfall back on 147*46659ea9SSascha Wildner.Xr lstat 2 148*46659ea9SSascha Wildnerand report information about the link. 1499a63ce63SRobert Garrett.It Fl n 1509a63ce63SRobert GarrettDo not force a newline to appear at the end of each piece of output. 1519a63ce63SRobert Garrett.It Fl q 1529a63ce63SRobert GarrettSuppress failure messages if calls to 1539a63ce63SRobert Garrett.Xr stat 2 1549a63ce63SRobert Garrettor 1559a63ce63SRobert Garrett.Xr lstat 2 1569a63ce63SRobert Garrettfail. 1579a63ce63SRobert GarrettWhen run as 1589a63ce63SRobert Garrett.Nm readlink , 1599a63ce63SRobert Garretterror messages are automatically suppressed. 1609a63ce63SRobert Garrett.It Fl f Ar format 1619a63ce63SRobert GarrettDisplay information using the specified format. 1629a63ce63SRobert GarrettSee the 163d764aeecSSascha Wildner.Sx Formats 1649a63ce63SRobert Garrettsection for a description of valid formats. 1659a63ce63SRobert Garrett.It Fl l 1669a63ce63SRobert GarrettDisplay output in 1679a63ce63SRobert Garrett.Nm ls Fl lT 1689a63ce63SRobert Garrettformat. 1699a63ce63SRobert Garrett.It Fl r 1709a63ce63SRobert GarrettDisplay raw information. 1719a63ce63SRobert GarrettThat is, for all the fields in the 1729a63ce63SRobert Garrett.Vt stat 1739a63ce63SRobert Garrettstructure, 1749a63ce63SRobert Garrettdisplay the raw, numerical value (for example, times in seconds since the 1759a63ce63SRobert Garrettepoch, etc.). 1769a63ce63SRobert Garrett.It Fl s 1779a63ce63SRobert GarrettDisplay information in 178*46659ea9SSascha Wildner.Dq shell output 179*46659ea9SSascha Wildnerformat, 1809a63ce63SRobert Garrettsuitable for initializing variables. 1819a63ce63SRobert Garrett.It Fl x 1829a63ce63SRobert GarrettDisplay information in a more verbose way as known from some 1839a63ce63SRobert Garrett.Tn Linux 1849a63ce63SRobert Garrettdistributions. 1859a63ce63SRobert Garrett.It Fl t Ar timefmt 1869a63ce63SRobert GarrettDisplay timestamps using the specified format. 1879a63ce63SRobert GarrettThis format is 1889a63ce63SRobert Garrettpassed directly to 1899a63ce63SRobert Garrett.Xr strftime 3 . 1909a63ce63SRobert Garrett.El 1919a63ce63SRobert Garrett.Ss Formats 1929a63ce63SRobert GarrettFormat strings are similar to 1939a63ce63SRobert Garrett.Xr printf 3 1949a63ce63SRobert Garrettformats in that they start with 1959a63ce63SRobert Garrett.Cm % , 1969a63ce63SRobert Garrettare then followed by a sequence of formatting characters, and end in 1979a63ce63SRobert Garretta character that selects the field of the 1989a63ce63SRobert Garrett.Vt "struct stat" 1999a63ce63SRobert Garrettwhich is to be formatted. 2009a63ce63SRobert GarrettIf the 2019a63ce63SRobert Garrett.Cm % 2029a63ce63SRobert Garrettis immediately followed by one of 2039a63ce63SRobert Garrett.Cm n , t , % , 2049a63ce63SRobert Garrettor 2059a63ce63SRobert Garrett.Cm @ , 2069a63ce63SRobert Garrettthen a newline character, a tab character, a percent character, 2079a63ce63SRobert Garrettor the current file number is printed, otherwise the string is 2089a63ce63SRobert Garrettexamined for the following: 2099a63ce63SRobert Garrett.Pp 2109a63ce63SRobert GarrettAny of the following optional flags: 2119a63ce63SRobert Garrett.Bl -tag -width indent 2129a63ce63SRobert Garrett.It Cm # 2139a63ce63SRobert GarrettSelects an alternate output form for octal and hexadecimal output. 2149a63ce63SRobert GarrettNon-zero octal output will have a leading zero, and non-zero 2159a63ce63SRobert Garretthexadecimal output will have 2169a63ce63SRobert Garrett.Dq Li 0x 2179a63ce63SRobert Garrettprepended to it. 2189a63ce63SRobert Garrett.It Cm + 2199a63ce63SRobert GarrettAsserts that a sign indicating whether a number is positive or negative 2209a63ce63SRobert Garrettshould always be printed. 2219a63ce63SRobert GarrettNon-negative numbers are not usually printed 2229a63ce63SRobert Garrettwith a sign. 2239a63ce63SRobert Garrett.It Cm - 2249a63ce63SRobert GarrettAligns string output to the left of the field, instead of to the right. 2259a63ce63SRobert Garrett.It Cm 0 2269a63ce63SRobert GarrettSets the fill character for left padding to the 2279a63ce63SRobert Garrett.Ql 0 2289a63ce63SRobert Garrettcharacter, instead of a space. 2299a63ce63SRobert Garrett.It space 2309a63ce63SRobert GarrettReserves a space at the front of non-negative signed output fields. 2319a63ce63SRobert GarrettA 2329a63ce63SRobert Garrett.Sq Cm + 2339a63ce63SRobert Garrettoverrides a space if both are used. 2349a63ce63SRobert Garrett.El 2359a63ce63SRobert Garrett.Pp 2369a63ce63SRobert GarrettThen the following fields: 2379a63ce63SRobert Garrett.Bl -tag -width indent 2389a63ce63SRobert Garrett.It Ar size 2399a63ce63SRobert GarrettAn optional decimal digit string specifying the minimum field width. 2409a63ce63SRobert Garrett.It Ar prec 2419a63ce63SRobert GarrettAn optional precision composed of a decimal point 2429a63ce63SRobert Garrett.Sq Cm \&. 2439a63ce63SRobert Garrettand a decimal digit string that indicates the maximum string length, 2449a63ce63SRobert Garrettthe number of digits to appear after the decimal point in floating point 2459a63ce63SRobert Garrettoutput, or the minimum number of digits to appear in numeric output. 2469a63ce63SRobert Garrett.It Ar fmt 2479a63ce63SRobert GarrettAn optional output format specifier which is one of 2489a63ce63SRobert Garrett.Cm D , O , U , X , F , 2499a63ce63SRobert Garrettor 2509a63ce63SRobert Garrett.Cm S . 2519a63ce63SRobert GarrettThese represent signed decimal output, octal output, unsigned decimal 2529a63ce63SRobert Garrettoutput, hexadecimal output, floating point output, and string output, 2539a63ce63SRobert Garrettrespectively. 2549a63ce63SRobert GarrettSome output formats do not apply to all fields. 2559a63ce63SRobert GarrettFloating point output only applies to 2569a63ce63SRobert Garrett.Vt timespec 2579a63ce63SRobert Garrettfields (the 2589a63ce63SRobert Garrett.Cm a , m , 2599a63ce63SRobert Garrettand 2609a63ce63SRobert Garrett.Cm c 2619a63ce63SRobert Garrettfields). 2629a63ce63SRobert Garrett.Pp 2639a63ce63SRobert GarrettThe special output specifier 2649a63ce63SRobert Garrett.Cm S 2659a63ce63SRobert Garrettmay be used to indicate that the output, if 2669a63ce63SRobert Garrettapplicable, should be in string format. 2679a63ce63SRobert GarrettMay be used in combination with: 2689a63ce63SRobert Garrett.Bl -tag -width indent 2699a63ce63SRobert Garrett.It Cm amc 2709a63ce63SRobert GarrettDisplay date in 2719a63ce63SRobert Garrett.Xr strftime 3 2729a63ce63SRobert Garrettformat. 2739a63ce63SRobert Garrett.It Cm dr 2749a63ce63SRobert GarrettDisplay actual device name. 275*46659ea9SSascha Wildner.It Cm f 276*46659ea9SSascha WildnerDisplay the flags of 277*46659ea9SSascha Wildner.Ar file 278*46659ea9SSascha Wildneras in 279*46659ea9SSascha Wildner.Nm ls Fl lTdo . 2809a63ce63SRobert Garrett.It Cm gu 2819a63ce63SRobert GarrettDisplay group or user name. 2829a63ce63SRobert Garrett.It Cm p 2839a63ce63SRobert GarrettDisplay the mode of 2849a63ce63SRobert Garrett.Ar file 2859a63ce63SRobert Garrettas in 2869a63ce63SRobert Garrett.Nm ls Fl lTd . 2879a63ce63SRobert Garrett.It Cm N 2889a63ce63SRobert GarrettDisplays the name of 2899a63ce63SRobert Garrett.Ar file . 2909a63ce63SRobert Garrett.It Cm T 2919a63ce63SRobert GarrettDisplays the type of 2929a63ce63SRobert Garrett.Ar file . 2939a63ce63SRobert Garrett.It Cm Y 2949a63ce63SRobert GarrettInsert a 2959a63ce63SRobert Garrett.Dq Li " -\*[Gt] " 2969a63ce63SRobert Garrettinto the output. 2979a63ce63SRobert GarrettNote that the default output format 2989a63ce63SRobert Garrettfor 2999a63ce63SRobert Garrett.Cm Y 3009a63ce63SRobert Garrettis a string, but if specified explicitly, these four characters are 3019a63ce63SRobert Garrettprepended. 3029a63ce63SRobert Garrett.El 3039a63ce63SRobert Garrett.It Ar sub 3049a63ce63SRobert GarrettAn optional sub field specifier (high, middle, low). 3059a63ce63SRobert GarrettOnly applies to 3069a63ce63SRobert Garrettthe 3079a63ce63SRobert Garrett.Cm p , d , r , 3089a63ce63SRobert Garrettand 3099a63ce63SRobert Garrett.Cm T 3109a63ce63SRobert Garrettoutput formats. 3119a63ce63SRobert GarrettIt can be one of the following: 3129a63ce63SRobert Garrett.Bl -tag -width indent 3139a63ce63SRobert Garrett.It Cm H 3149a63ce63SRobert Garrett.Dq High 315*46659ea9SSascha Wildner\[em] 3169a63ce63SRobert Garrettspecifies the major number for devices from 3179a63ce63SRobert Garrett.Cm r 3189a63ce63SRobert Garrettor 3199a63ce63SRobert Garrett.Cm d , 3209a63ce63SRobert Garrettthe 3219a63ce63SRobert Garrett.Dq user 3229a63ce63SRobert Garrettbits for permissions from the string form of 3239a63ce63SRobert Garrett.Cm p , 3249a63ce63SRobert Garrettthe file 3259a63ce63SRobert Garrett.Dq type 3269a63ce63SRobert Garrettbits from the numeric forms of 3279a63ce63SRobert Garrett.Cm p , 3289a63ce63SRobert Garrettand the long output form of 3299a63ce63SRobert Garrett.Cm T . 3309a63ce63SRobert Garrett.It Cm L 3319a63ce63SRobert Garrett.Dq Low 332*46659ea9SSascha Wildner\[em] 3339a63ce63SRobert Garrettspecifies the minor number for devices from 3349a63ce63SRobert Garrett.Cm r 3359a63ce63SRobert Garrettor 3369a63ce63SRobert Garrett.Cm d , 3379a63ce63SRobert Garrettthe 3389a63ce63SRobert Garrett.Dq other 3399a63ce63SRobert Garrettbits for permissions from the string form of 3409a63ce63SRobert Garrett.Cm p , 3419a63ce63SRobert Garrettthe 3429a63ce63SRobert Garrett.Dq user , 3439a63ce63SRobert Garrett.Dq group , 3449a63ce63SRobert Garrettand 3459a63ce63SRobert Garrett.Dq other 3469a63ce63SRobert Garrettbits from the numeric forms of 3479a63ce63SRobert Garrett.Cm p , 3489a63ce63SRobert Garrettand the 3499a63ce63SRobert Garrett.Nm ls Fl F 3509a63ce63SRobert Garrettstyle output character for file type when used with 3519a63ce63SRobert Garrett.Cm T 3529a63ce63SRobert Garrett(the use of 3539a63ce63SRobert Garrett.Cm L 3549a63ce63SRobert Garrettfor this is optional). 3559a63ce63SRobert Garrett.It Cm M 3569a63ce63SRobert Garrett.Dq Middle 357*46659ea9SSascha Wildner\[em] 3589a63ce63SRobert Garrettspecifies the 3599a63ce63SRobert Garrett.Dq group 3609a63ce63SRobert Garrettbits for permissions from the 3619a63ce63SRobert Garrettstring output form of 3629a63ce63SRobert Garrett.Cm p , 3639a63ce63SRobert Garrettor the 3649a63ce63SRobert Garrett.Dq suid , 3659a63ce63SRobert Garrett.Dq sgid , 3669a63ce63SRobert Garrettand 3679a63ce63SRobert Garrett.Dq sticky 3689a63ce63SRobert Garrettbits for the numeric forms of 3699a63ce63SRobert Garrett.Cm p . 3709a63ce63SRobert Garrett.El 3719a63ce63SRobert Garrett.It Ar datum 3729a63ce63SRobert GarrettA required field specifier, being one of the following: 3739a63ce63SRobert Garrett.Bl -tag -width indent 3749a63ce63SRobert Garrett.It Cm d 3759a63ce63SRobert GarrettDevice upon which 3769a63ce63SRobert Garrett.Ar file 377*46659ea9SSascha Wildnerresides 378*46659ea9SSascha Wildner.Pq Fa st_dev . 3799a63ce63SRobert Garrett.It Cm i 3809a63ce63SRobert Garrett.Ar file Ns 's 381*46659ea9SSascha Wildnerinode number 382*46659ea9SSascha Wildner.Pq Fa st_ino . 3839a63ce63SRobert Garrett.It Cm p 384*46659ea9SSascha WildnerFile type and permissions 385*46659ea9SSascha Wildner.Pq Fa st_mode . 3869a63ce63SRobert Garrett.It Cm l 3879a63ce63SRobert GarrettNumber of hard links to 388*46659ea9SSascha Wildner.Ar file 389*46659ea9SSascha Wildner.Pq Fa st_nlink . 3909a63ce63SRobert Garrett.It Cm u , g 3919a63ce63SRobert GarrettUser ID and group ID of 3929a63ce63SRobert Garrett.Ar file Ns 's 393*46659ea9SSascha Wildnerowner 394*46659ea9SSascha Wildner.Pq Fa st_uid , st_gid . 3959a63ce63SRobert Garrett.It Cm r 396*46659ea9SSascha WildnerDevice number for character and block device special files 397*46659ea9SSascha Wildner.Pq Fa st_rdev . 39854af47c9SAntonio Huete Jimenez.It Cm a , m , c 3999a63ce63SRobert GarrettThe time 4009a63ce63SRobert Garrett.Ar file 401*46659ea9SSascha Wildnerwas last accessed or modified, or when the inode was last changed 402*46659ea9SSascha Wildner.Pq Fa st_atime , st_mtime , st_ctime . 4039a63ce63SRobert Garrett.It Cm z 4049a63ce63SRobert GarrettThe size of 4059a63ce63SRobert Garrett.Ar file 406*46659ea9SSascha Wildnerin bytes 407*46659ea9SSascha Wildner.Pq Fa st_size . 4089a63ce63SRobert Garrett.It Cm b 4099a63ce63SRobert GarrettNumber of blocks allocated for 410*46659ea9SSascha Wildner.Ar file 411*46659ea9SSascha Wildner.Pq Fa st_blocks . 4129a63ce63SRobert Garrett.It Cm k 413*46659ea9SSascha WildnerOptimal file system I/O operation block size 414*46659ea9SSascha Wildner.Pq Fa st_blksize . 4159a63ce63SRobert Garrett.It Cm f 4169a63ce63SRobert GarrettUser defined flags for 4179a63ce63SRobert Garrett.Ar file . 4189a63ce63SRobert Garrett.It Cm v 419*46659ea9SSascha WildnerInode generation number 420*46659ea9SSascha Wildner.Pq Fa st_gen . 4219a63ce63SRobert Garrett.El 4229a63ce63SRobert Garrett.Pp 423*46659ea9SSascha WildnerThe following five field specifiers are not drawn directly from the 4249a63ce63SRobert Garrettdata in 4259a63ce63SRobert Garrett.Vt "struct stat" , 4269a63ce63SRobert Garrettbut are: 4279a63ce63SRobert Garrett.Bl -tag -width indent 4289a63ce63SRobert Garrett.It Cm N 4299a63ce63SRobert GarrettThe name of the file. 430*46659ea9SSascha Wildner.It Cm R 431*46659ea9SSascha WildnerThe absolute pathname corresponding to the file. 4329a63ce63SRobert Garrett.It Cm T 4339a63ce63SRobert GarrettThe file type, either as in 4349a63ce63SRobert Garrett.Nm ls Fl F 4359a63ce63SRobert Garrettor in a more descriptive form if the 4369a63ce63SRobert Garrett.Ar sub 4379a63ce63SRobert Garrettfield specifier 4389a63ce63SRobert Garrett.Cm H 4399a63ce63SRobert Garrettis given. 4409a63ce63SRobert Garrett.It Cm Y 4419a63ce63SRobert GarrettThe target of a symbolic link. 4429a63ce63SRobert Garrett.It Cm Z 4439a63ce63SRobert GarrettExpands to 4449a63ce63SRobert Garrett.Dq major,minor 4459a63ce63SRobert Garrettfrom the 4469a63ce63SRobert Garrett.Va rdev 4479a63ce63SRobert Garrettfield for character or block 4489a63ce63SRobert Garrettspecial devices and gives size output for all others. 4499a63ce63SRobert Garrett.El 4509a63ce63SRobert Garrett.El 4519a63ce63SRobert Garrett.Pp 4529a63ce63SRobert GarrettOnly the 4539a63ce63SRobert Garrett.Cm % 4549a63ce63SRobert Garrettand the field specifier are required. 4559a63ce63SRobert GarrettMost field specifiers default to 4569a63ce63SRobert Garrett.Cm U 4579a63ce63SRobert Garrettas an output form, with the 4589a63ce63SRobert Garrettexception of 4599a63ce63SRobert Garrett.Cm p 4609a63ce63SRobert Garrettwhich defaults to 461*46659ea9SSascha Wildner.Cm O ; 4629a63ce63SRobert Garrett.Cm a , m , 4639a63ce63SRobert Garrettand 4649a63ce63SRobert Garrett.Cm c 4659a63ce63SRobert Garrettwhich default to 466*46659ea9SSascha Wildner.Cm D ; 4679a63ce63SRobert Garrettand 4689a63ce63SRobert Garrett.Cm Y , T , 4699a63ce63SRobert Garrettand 4709a63ce63SRobert Garrett.Cm N 4719a63ce63SRobert Garrettwhich default to 4729a63ce63SRobert Garrett.Cm S . 47319fe1c42SSascha Wildner.Sh EXIT STATUS 47419fe1c42SSascha Wildner.Ex -std stat readlink 4759a63ce63SRobert Garrett.Sh EXAMPLES 476*46659ea9SSascha WildnerIf no options are specified, the default format is 477*46659ea9SSascha Wildner"%d %i %Sp %l %Su %Sg %r %z \e"%Sa\e" \e"%Sm\e" \e"%Sc\e" %k %b %#Xf %N". 478*46659ea9SSascha Wildner.Bd -literal -offset indent 479*46659ea9SSascha Wildner\*[Gt] stat /tmp/bar 480*46659ea9SSascha Wildner0 78852 -rw-r--r-- 1 root wheel 0 0 "Jul 8 10:26:03 2004" "Jul 8 10:26:03 2004" "Jul 8 10:28:13 2004" 16384 0 0 /tmp/bar 481*46659ea9SSascha Wildner.Ed 482*46659ea9SSascha Wildner.Pp 4839a63ce63SRobert GarrettGiven a symbolic link 484*46659ea9SSascha Wildner.Dq foo 4859a63ce63SRobert Garrettthat points from 4869a63ce63SRobert Garrett.Pa /tmp/foo 4879a63ce63SRobert Garrettto 4889a63ce63SRobert Garrett.Pa / , 4899a63ce63SRobert Garrettyou would use 4909a63ce63SRobert Garrett.Nm 4919a63ce63SRobert Garrettas follows: 4929a63ce63SRobert Garrett.Bd -literal -offset indent 4939a63ce63SRobert Garrett\*[Gt] stat -F /tmp/foo 4949a63ce63SRobert Garrettlrwxrwxrwx 1 jschauma cs 1 Apr 24 16:37:28 2002 /tmp/foo@ -\*[Gt] / 4959a63ce63SRobert Garrett 4969a63ce63SRobert Garrett\*[Gt] stat -LF /tmp/foo 4979a63ce63SRobert Garrettdrwxr-xr-x 16 root wheel 512 Apr 19 10:57:54 2002 /tmp/foo/ 4989a63ce63SRobert Garrett.Ed 4999a63ce63SRobert Garrett.Pp 5009a63ce63SRobert GarrettTo initialize some shell variables, you could use the 5019a63ce63SRobert Garrett.Fl s 5029a63ce63SRobert Garrettflag as follows: 5039a63ce63SRobert Garrett.Bd -literal -offset indent 5049a63ce63SRobert Garrett\*[Gt] csh 5059a63ce63SRobert Garrett% eval set `stat -s .cshrc` 5069a63ce63SRobert Garrett% echo $st_size $st_mtimespec 5079a63ce63SRobert Garrett1148 1015432481 5089a63ce63SRobert Garrett 5099a63ce63SRobert Garrett\*[Gt] sh 5109a63ce63SRobert Garrett$ eval $(stat -s .profile) 5119a63ce63SRobert Garrett$ echo $st_size $st_mtimespec 5129a63ce63SRobert Garrett1148 1015432481 5139a63ce63SRobert Garrett.Ed 5149a63ce63SRobert Garrett.Pp 515*46659ea9SSascha WildnerIn order to get a list of file types including files pointed to if the 5169a63ce63SRobert Garrettfile is a symbolic link, you could use the following format: 5179a63ce63SRobert Garrett.Bd -literal -offset indent 5189a63ce63SRobert Garrett$ stat -f "%N: %HT%SY" /tmp/* 5199a63ce63SRobert Garrett/tmp/bar: Symbolic Link -\*[Gt] /tmp/foo 5209a63ce63SRobert Garrett/tmp/output25568: Regular File 5219a63ce63SRobert Garrett/tmp/blah: Directory 5229a63ce63SRobert Garrett/tmp/foo: Symbolic Link -\*[Gt] / 5239a63ce63SRobert Garrett.Ed 5249a63ce63SRobert Garrett.Pp 5259a63ce63SRobert GarrettIn order to get a list of the devices, their types and the major and minor 5269a63ce63SRobert Garrettdevice numbers, formatted with tabs and linebreaks, you could use the 5279a63ce63SRobert Garrettfollowing format: 5289a63ce63SRobert Garrett.Bd -literal -offset indent 5299a63ce63SRobert Garrettstat -f "Name: %N%n%tType: %HT%n%tMajor: %Hr%n%tMinor: %Lr%n%n" /dev/* 5309a63ce63SRobert Garrett[...] 531ad9f8794SSascha WildnerName: /dev/xpt0 532ad9f8794SSascha Wildner Type: Character Device 533ad9f8794SSascha Wildner Major: 28 534ad9f8794SSascha Wildner Minor: 0 5359a63ce63SRobert Garrett 5369a63ce63SRobert GarrettName: /dev/zero 5379a63ce63SRobert Garrett Type: Character Device 5389a63ce63SRobert Garrett Major: 2 5399a63ce63SRobert Garrett Minor: 12 5409a63ce63SRobert Garrett.Ed 5419a63ce63SRobert Garrett.Pp 5429a63ce63SRobert GarrettIn order to determine the permissions set on a file separately, you could use 5439a63ce63SRobert Garrettthe following format: 5449a63ce63SRobert Garrett.Bd -literal -offset indent 5459a63ce63SRobert Garrett\*[Gt] stat -f "%Sp -\*[Gt] owner=%SHp group=%SMp other=%SLp" . 5469a63ce63SRobert Garrettdrwxr-xr-x -\*[Gt] owner=rwx group=r-x other=r-x 5479a63ce63SRobert Garrett.Ed 5489a63ce63SRobert Garrett.Pp 5499a63ce63SRobert GarrettIn order to determine the three files that have been modified most recently, 5509a63ce63SRobert Garrettyou could use the following format: 5519a63ce63SRobert Garrett.Bd -literal -offset indent 5529a63ce63SRobert Garrett\*[Gt] stat -f "%m%t%Sm %N" /tmp/* | sort -rn | head -3 | cut -f2- 5539a63ce63SRobert GarrettApr 25 11:47:00 2002 /tmp/blah 5549a63ce63SRobert GarrettApr 25 10:36:34 2002 /tmp/bar 5559a63ce63SRobert GarrettApr 24 16:47:35 2002 /tmp/foo 5569a63ce63SRobert Garrett.Ed 557*46659ea9SSascha Wildner.Pp 558*46659ea9SSascha WildnerTo display a file's modification time: 559*46659ea9SSascha Wildner.Bd -literal -offset indent 560*46659ea9SSascha Wildner\*[Gt] stat -f %m /tmp/foo 561*46659ea9SSascha Wildner1177697733 562*46659ea9SSascha Wildner.Ed 563*46659ea9SSascha Wildner.Pp 564*46659ea9SSascha WildnerTo display the same modification time in a readable format: 565*46659ea9SSascha Wildner.Bd -literal -offset indent 566*46659ea9SSascha Wildner\*[Gt] stat -f %Sm /tmp/foo 567*46659ea9SSascha WildnerApr 27 11:15:33 2007 568*46659ea9SSascha Wildner.Ed 569*46659ea9SSascha Wildner.Pp 570*46659ea9SSascha WildnerTo display the same modification time in a readable and sortable format: 571*46659ea9SSascha Wildner.Bd -literal -offset indent 572*46659ea9SSascha Wildner\*[Gt] stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo 573*46659ea9SSascha Wildner20070427111533 574*46659ea9SSascha Wildner.Ed 575*46659ea9SSascha Wildner.Pp 576*46659ea9SSascha WildnerTo display the same in UTC: 577*46659ea9SSascha Wildner.Bd -literal -offset indent 578*46659ea9SSascha Wildner\*[Gt] sh 579*46659ea9SSascha Wildner$ TZ= stat -f %Sm -t %Y%m%d%H%M%S /tmp/foo 580*46659ea9SSascha Wildner20070427181533 581*46659ea9SSascha Wildner.Ed 5829a63ce63SRobert Garrett.Sh SEE ALSO 5839a63ce63SRobert Garrett.Xr file 1 , 5849a63ce63SRobert Garrett.Xr ls 1 , 5859a63ce63SRobert Garrett.Xr lstat 2 , 5869a63ce63SRobert Garrett.Xr readlink 2 , 5879a63ce63SRobert Garrett.Xr stat 2 , 5889a63ce63SRobert Garrett.Xr printf 3 , 5899a63ce63SRobert Garrett.Xr strftime 3 5909a63ce63SRobert Garrett.Sh HISTORY 5919a63ce63SRobert GarrettThe 5929a63ce63SRobert Garrett.Nm 5939a63ce63SRobert Garrettutility appeared in 594d542b1f4SSimon Schubert.Nx 1.6 595d542b1f4SSimon Schubertand 596d542b1f4SSimon Schubert.Fx 4.10 . 5979a63ce63SRobert Garrett.Sh AUTHORS 5989a63ce63SRobert Garrett.An -nosplit 5999a63ce63SRobert GarrettThe 6009a63ce63SRobert Garrett.Nm 6019a63ce63SRobert Garrettutility was written by 602b4f25088SFranco Fichtner.An Andrew Brown Aq Mt atatat@NetBSD.org . 6039a63ce63SRobert GarrettThis man page was written by 604b4f25088SFranco Fichtner.An Jan Schaumann Aq Mt jschauma@NetBSD.org . 605