Home » Questions » Computers [ Ask a new question ]

OS X (Unix) shell command: possible to get last opened date of file?

OS X (Unix) shell command: possible to get last opened date of file?

when you use the following command

Asked by: Guest | Views: 315
Total answers/comments: 1
Guest [Entry]

"The parameter atime defines the last access time. Seems you want that? But that is apparently not the same as the date you use in Finder.

See ls -lu for the date atime uses.

Mac OS X also uses the ""HFS meta data"" (or: ""Finder info"") to store dates. For example: Unix does not store file creation dates. The cdate in Unix is really the change date (including, for example, changes in access permissions, so cdate gets a new value in slightly different occasions than the modification date for mdate). Using this metadata, Mac OS X can still keep the details.

There are several options to show (some of) those dates, like:

stat file.txt
GetFileInfo file.txt
mdls file.txt

Using mdfind one can search for specific meta data. But it uses the Spotlight index, so I guess it might not find everything.

Like to find files that are excluded from Time Machine backups:

sudo mdfind ""com_apple_backup_excludeItem = 'com.apple.backupd'""

To search based on the creation date, use kMDItemFSCreationDate. For the last opened date: kMDItemLastUsedDate. But note that files which have been created through certain Terminal commands, may not have that meta data set:

echo ""Hello world"" > ~/Desktop/hello-world.txt
touch ~/Desktop/will-not-be-found.txt
mdfind -onlyin ~/Desktop 'kMDItemFSCreationDate >= $time.this_week'

After opening ""will-not-be-found.txt"" in Text Edit, you'll see the file after all.

See also the Spotlight Query Syntax."