Linux 要显示某些文件的创建时间。
我正在编写perl,并在Windows系统中运行得非常好。 但是当我将perl脚本从windows系统传输到Linux时。 在Linux系统中运行时,我得到了错误的日期/时间。 我需要一些帮助。谢谢 Perl中的源代码Linux 要显示某些文件的创建时间。,linux,perl,ctime,Linux,Perl,Ctime,我正在编写perl,并在Windows系统中运行得非常好。 但是当我将perl脚本从windows系统传输到Linux时。 在Linux系统中运行时,我得到了错误的日期/时间。 我需要一些帮助。谢谢 Perl中的源代码 if (($file =~ m/(\d)(\S+)\.csv/) && ($flag == 0)) { open(para_file,$file);
if (($file =~ m/(\d)(\S+)\.csv/) && ($flag == 0))
{
open(para_file,$file);
$datetime_string = ctime( stat($file)->ctime );
while ($line=<para_file>)
{
if ($line =~ /0\,170\,16\,/)
{
$cal = $cal + 1;
}
}
push(@data,"$cal");
push(@data,"$datetime_string");
}
if($file=~m/(\d)(\S+\.csv/)&&($flag==0))
{
打开(para_文件,$file);
$datetime\u string=ctime(stat($file)->ctime);
而($line=)
{
如果($line=~/0\,170\,16\,/)
{
$cal=$cal+1;
}
}
推送(@data,“$cal”);
推送(@data,“$datetime_字符串”);
}
$file将是我的文件名。创建时的windows日期和时间是正确的,但不理解为什么在LINUX中它给了我错误的日期和时间
从windows生成的输出
9023-0 50000 5111 10.222014年7月21日星期一17:44:389023-2 100000 23251 23.252014年4月11日星期五10:12:19
2014年11月27日星期四15:28:55 从linux生成的输出 9023-0 50000 5111 10.222015年7月30日星期四16:45:25
9023-2 100000 23251 23.252015年7月30日星期四16:45:25
9024 AHG 5000 0.00周四2015年7月30日16:45:25这里的问题不是你在做什么,而是你误解了什么是
ctime
。Linux文件系统记录更改时间而不是创建时间
mtime
表示修改文件内容<代码>ctime表示属性的修改。因此,它们很可能是相同的数字
然而,您不能得到的是“创建时间”,因为EXT文件系统没有记录它。(其他文件系统格式可能—例如NTFS—但我不确定是否建议在Linux设备上使用NTFS!)这里的问题不是你在做什么,而是你误解了什么是
ctime
。Linux文件系统记录更改时间而不是创建时间
mtime
表示修改文件内容<代码>ctime表示属性的修改。因此,它们很可能是相同的数字
然而,您不能得到的是“创建时间”,因为EXT文件系统没有记录它。(其他文件系统格式可能会出现,例如NTFS,但我不确定是否建议在Linux设备上使用NTFS!)不同系统上如何访问文件系统?显然,您必须使用某种类型的文件服务器,或者这是一个可移动驱动器?如果您将文件从Windows传输到Linux,它们的创建时间将发生变化,并显示它们被移动的时间。@ChankeyPathak严格地说,这不是移动,而是复制。不能在系统之间移动文件。这就是为什么要创建一个新文件,这解释了新的创建时间。真正的移动实际上可以节省时间。@arkascha:啊,我明白了。我重复上面的问题:如果你在不同的系统上运行脚本,那么它们如何访问同一个文件?通过什么方式?如何在不同的系统上访问文件系统?显然,您必须使用某种类型的文件服务器,或者这是一个可移动驱动器?如果您将文件从Windows传输到Linux,它们的创建时间将发生变化,并显示它们被移动的时间。@ChankeyPathak严格地说,这不是移动,而是复制。不能在系统之间移动文件。这就是为什么要创建一个新文件,这解释了新的创建时间。真正的移动实际上可以节省时间。@arkascha:啊,我明白了。我重复上面的问题:如果你在不同的系统上运行脚本,那么它们如何访问同一个文件?通过什么方式?如何在Linux上使用NTFS?@cs87这是一个问题,您可能应该在SuperUser或Unix/Linux上发布。但说真的,不要,这很糟糕。只要接受创造时间没有那么有趣或有意义。为了获得创建时间而更改整个文件系统是一件痛苦的事,但好处却微乎其微。如何在Linux上使用NTFS?@cs87这是一个问题,您可能应该在SuperUser或Unix/Linux上发布。但说真的,不要,这很糟糕。只要接受创造时间没有那么有趣或有意义。仅仅为了获得创建时间而更改整个文件系统是一件痛苦的事情,但好处却微乎其微。