Linux display the date when a file was accessed with stat command

by Vivek Gite on August 6, 2007 · 14 comments

A quick question from my mail bag:

How do I display or get the date when a file was last time accessed?

The best and simplest way is to use stat command. It displays file or file system status such as:

=> File size

=> File type

=> Inode number

=> UID/GID

=> File access , modify and creation time etc.

stat command example

$ stat /etc/passwd
Output

  File: `/etc/passwd'
  Size: 2453            Blocks: 8          IO Block: 4096   regular file
Device: 806h/2054d      Inode: 25298826    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2007-08-06 04:45:18.000000000 -0500
Modify: 2007-07-17 16:25:12.000000000 -0500
Change: 2007-07-17 16:25:12.000000000 -0500

Display file system status

You can display file system status instead of file status. For example, display status for / file system:
$ stat -f /
Output:

  File: "/"
    ID: 0        Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 32161831   Free: 30458361   Available: 28798245
Inodes: Total: 33226752   Free: 33135357

stat command and shell scripts

You can use stat in a shell script. It supports -c option. By default it shows all information about file. Use -c option to specify FORMAT instead of the default. For example store access time in a shell variable:

ATIME=$(stat -c "%x" /etc/passwd)
echo $ATIME

See the stat command man page for full details for the valid format sequences for files:
man stat

Featured Articles:

Share this with other sys admins!
Facebook it - Tweet it - Print it -

We're here to help you make the most of sysadmin work. So, subscribe!

{ 14 comments… read them below or add one }

1 frank August 13, 2007

stat command example

$ ls /etc/passwd

this could be “$ stat /etc/passwd” ?

Reply

2 vivek August 13, 2007

Thanks for the heads up! The post has been updated.

Reply

3 pradeep August 13, 2007

Dear Sir,
I want know the time of command when command run my any user or root on linux system

Thanks
pradeep

Reply

4 Gonçalo August 13, 2007


=> File size

=> File type

=> Inode number

=> UID/GID

=> File access , modify (change) and creation time etc.

I though that stat command never show creation time. Only access, modify and change. Am I wrong?

Reply

5 vivek August 13, 2007

No, you are not. UNIX and Linux never stores creation time. It was a typo.

Appreciate your post!

Reply

6 RajaniKanth September 6, 2007

Hi,

I just want to find the list of users who are currently accessing/accessed a purticular file from linux server?

Thanks
RK

Reply

7 Nidhin Tomson August 30, 2011

fuser -muv will give you the details who / what process is holding a file. though it will not show file accessed details.

Reply

8 ur2g2b4got October 24, 2007

is there a way to modify the property of the last time a file was accessed?

Reply

9 vivek October 24, 2007

ur2g2b4got,

use touch command to update date/time stamp.

Reply

10 Mohit June 19, 2009

Is there any command on Linux that tells when the file or folder was created ?

Reply

11 Vivek Gite June 19, 2009

No UNIX / Linux file system do not store creation date.

Reply

12 rajbhatia January 22, 2010

No UNIX / Linux file system do not store creation date while windows do.
why?
if anybody knws plzz reply me on my email.

Reply

13 Alex September 8, 2010

Thanks for the tip! Very useful

Reply

14 sonal January 21, 2011

how can i get the names of all the recently modified files in any directory?

Reply

Leave a Comment

You can use these HTML tags and attributes for your code and commands: <strong> <em> <ol> <li> <u> <ul> <blockquote> <pre> <a href="" title="">
What is 13 + 10 ?
Please leave these two fields as-is:
Are you a human being? Solve the simple math so we know that you are a human and not a bot.




Previous post:

Next post: