How to get the file creation date ?
well, im trying to list all files created today. The problem is , all i can find is the modification date. Even the options like -atime, ctime in find command refer to the modification date.
Is there any command i could use for finding out file creation date ? or may be any other method ??
Thanks for helping out.
This depends on what filesystem you're using. Generally though the creation time isn't stored. Ctime actually records the time of the last status change. Changing permissions or renaming the file will result in the ctime being updated. Certain filesystems do record files' creation times, at least ZFS does anyway (crtime).
Thanks. i went through the wiki on ZFS, and it is mentioned that it cannot be ported on Linux distros due to some licensing issue. So does that mean , theres no way of determining file creation date on a linux distro like Red Hat ??
You will find that even with file sytems that hold creaton date (and I think most do) there is no way, direct from the shall prompt to obatin it. You will need to engage another programming environment (perl springs to mind) to show it.
The moon on the one hand, the dawn on the other:
The moon is my sister, the dawn is my brother.
The moon on my left and the dawn on my right.
My brother, good morning: my sister, good night.
-- Hilaire Belloc
any hints on how can i go about doing that ? im pretty much a noob.
ok, i tried it with perl and i've managed to reach upto this point ,
But when i try to run the script , i get error "search field incomplete".
perl -e 'use File::stat;
$date_string = ctime(stat($file)->mtime);
print "file $file created at $date_string\n";'
June 10th, 2007, 10:14 AM
you can try stat.
check your man page.
June 11th, 2007, 12:22 PM
Shells and utilities like ls and date generally try to conform to a set of standards - POSIX.
The standard says that three filetimes are recorded - access time, modification time, and inode change time - atime, mtime, ctime. It also says these three are the only filetimes that will be shown for a file.
If you find a filesystem that supports a fourth filetime, creation time, it is actually an oddity, and most everything out there will not be able to support it.
In fact, date -r <filename> shows mtime, according to the man page. stat does the same - only shows file modification time. And these are GNU extensions, available on with GNU utilities, and by default, on linux boxes. "Regular" unix distributions do not have stat and the -r option for date.
The short answer is: there are no file creation times in UNIX. It is a windows thing.
July 20th, 2007, 09:51 AM
time that file is update
do you search this ?
print "file $file update at $date_string\n";
July 21st, 2007, 01:57 AM
To add to the confusion, in FreeBSD (UFS) there is, in addition to the times of file access, file modification, and inode change,
which the stat manpage claims to give "the birth time of the inode". So we can know the creation time of the inode, but not necessarily the creation time of the file.
$ stat -f %B $filename