The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Operating Systems
> UNIX Help
|
How to get the file creation date ?
Discuss How to get the file creation date ? in the UNIX Help forum on Dev Shed. How to get the file creation date ? UNIX Help forum discussing the Unix Operating System and all variants including Irix, Solarix, and AIX. Unix was designed as a true multi-user operating system.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

June 8th, 2007, 07:01 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 12
Time spent in forums: 2 h 45 m 6 sec
Reputation Power: 0
|
|
|
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.
|

June 8th, 2007, 07:30 AM
|
 |
Contributing User
|
|
Join Date: Jul 2006
Location: Dublin, Ireland
|
|
|
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).
|

June 8th, 2007, 07:51 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 12
Time spent in forums: 2 h 45 m 6 sec
Reputation Power: 0
|
|
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 ?? 
|

June 8th, 2007, 08:56 AM
|
|
|
|
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
|

June 8th, 2007, 09:44 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 12
Time spent in forums: 2 h 45 m 6 sec
Reputation Power: 0
|
|
|
any hints on how can i go about doing that ? im pretty much a noob.
|

June 9th, 2007, 10:08 AM
|
|
Registered User
|
|
Join Date: Jun 2007
Posts: 12
Time spent in forums: 2 h 45 m 6 sec
Reputation Power: 0
|
|
ok, i tried it with perl and i've managed to reach upto this point ,
Code:
perl -e 'use File::stat;
use Time::localtime;
$file='/mnt';
$date_string = ctime(stat($file)->mtime);
print "file $file created at $date_string\n";'
But when i try to run the script , i get error "search field incomplete".
Please help.
|

June 10th, 2007, 09:14 AM
|
|
|
you can try stat.
check your man page.
|

June 11th, 2007, 11:22 AM
|
|
|
|
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, 08:51 AM
|
|
Registered User
|
|
Join Date: Jul 2007
Posts: 1
Time spent in forums: 3 m 52 sec
Reputation Power: 0
|
|
|
time that file is update
do you search this ?
#! /usr/bin/perl
use File::stat;
use Time::localtime;
$file='path//to/filename';
$date_string =ctime(stat($file)->mtime);
print "file $file update at $date_string\n";
|

July 21st, 2007, 12:57 AM
|
 |
63 dorinte
|
|
Join Date: Jan 2005
Location: Alleghany Highlands
|
|
To add to the confusion, in FreeBSD (UFS) there is, in addition to the times of file access, file modification, and inode change,
Code:
$ stat -f %B $filename
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.
Curious  .
Ben N1NP
__________________
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|