1:1 格拉摩根的洛斯里克城、有一个狗头人、名叫唯一丢人、是Paradox的伯爵、任天堂的主宰、育碧的bug、波兰蠢驴的打桩机。

1:2 他有三个妻、一名Windows、一名Linux、一名MacOS。

1:3 这狗每年从本城上到示罗、敬拜祭祀万军之草履虫.在那里有产品的两个需求、抓文件时间信息、系统移植、当草履虫的神谕。

1:4 狗头人每逢发薪水的日子、将工资分给他的和P社、任天堂、育碧、波兰蠢驴所生的儿女。

1:5 给P社的却是双份、因为他爱P社.无奈不做完任务草履虫不给狗头人放假。

综上,我们需要帮助狗头人在不同系统上拿到文件的时间信息,看起来很简单,但是却有一个类似于“\n”和“\r\n”的小细节是需要注意一下的。

在mac、linux 和 windows下分别使用命令行或是界面操作方式复制文件时,看似是一样的,其区别在于新文件与源文件的创建、修改和访问时间是否一致。

一、Windows

首先,是在windows下,使用powershell命令行复制文件时是这样的:

cp .\test.txt .\test3.txt

其结果:

可以看到,新文件继承了源文件的修改时间,但是创建时间和访问时间都是其被复制创建时的时间;另一方面,源文件的创建时间和访问时间并没有发生变化。

使用Ctrl-C Ctrl-V手动复制文件时,结果和命令行是一致的。

二、Linux

在Linux下,使用命令

cp test01.txt test02.txt

复制文件,再使用命令

stat test01.txt

查看文件信息,屏幕上会直接打印出所查询文件的信息:

其中,Access是文件访问时间,Modify是文件内容最后修改时间,Change是文件属性最后修改时间,分别对应时间戳atime/mtime/ctime。Change时间比较特殊,当改变文件的名称,大小和权限的时候Change时间才会改变。

但是,请注意,这里面并没有包含文件的创建时间,即crtime。查看源码可知,这是因为inode结构体中并没有crtime:

那么,若是想查看文件的创建时间,需要怎么做呢?

以test01.txt文件为例,首先,使用命令

stat test01.txt

查看,或是用

stat -c %i test01.txt

直接输出文件的inode号。

然后,使用命令

df test01.txt | sed -n '2{s/ .*$//;p}'

输出文件所在分区,最后通过debugfs就可以查询到文件的完整信息了:

debugfs -R 'stat <1839472>' /dev/mapper/centos-root

通过该方法,再次查询新文件,可以发现,新文件的创建时间也就是被复制创建的时间:

三、MacOS

在终端上与9:12用touch HelloDoge 创建一个文件,在9:13用mac自带的文本编辑修改文件,在9:14用文本编辑打开该文件但是未作修改,在9:15用命令cp HelloDoge HelloDoge2复制该文件。

如下图所示,新文件继承了源文件的打开(访问)时间,但是创建时间和修改时间都是其被复制创建时的时间;另一方面,源文件的创建时间、修改和访问时间均并没有发生变化。

有趣的来了,在MacOS中,用命令行复制和在finder中右键复制结果是不同,让我们尝试一下(兴奋)。

结果发现,被复制文件完美继承了源文件的所有时间信息诶!

买一送一时刻

要注意,改变文件的修改时间时一定不要用vim,而要用其他方法(我在这里用了文本编辑器)。因为vim修改文件的原理是先创建一个.swp文件(其意即为swap交换),在w命令保存时,会用swp文件替换掉原文件,以此达到修改的目的。

总结

系统

复制方法

创建时间

修改时间

访问时间

Windows

命令行

变为复制时间

继承

变为复制时间

Ctrl + C

变为复制时间

继承

变为复制时间

Linux

命令行

变为复制时间

变为复制时间

继承

MacOS

命令行

变为复制时间

变为复制时间

继承

Ctrl + C

继承

继承

继承

P.S. Linux中还有个Change time,意为其属性修改时间,复制时也和文件修改时间一样会变为文件复制时间。

最终的最终

终于,我们帮助狗头人解决了这个小问题,世界回复了和平,狗头人又可以回洛斯里克城继续丢人了,赞美草履虫。

linux复制文件带系统时间,不同方法/系统下复制文件时新文件的日期区别,以及查看文件创建时间、修改时间、访问时间的方法...相关推荐

  1. Python-读取文件例子:一个获取指定目录下一定格式的文件名称和文件修改时间并保存为文件的python脚本 ....

    转载自:http://blog.csdn.net/forandever/article/details/5711319 功能: 获取指定目录下面符合一定规则的文件名称和文件修改时间,并保存到指定的文件 ...

  2. c盘java文件误删_java获取C盘下的隐藏目录文件名称

    题记 --  执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. 网易云课堂 在Java中, File类用来将文件或者文件夹封装成对象,方便对文件与文件夹的属性信息进行操作. Fil ...

  3. linux 误删除mysql表能恢复吗_Linux下Oracle误删除数据文件恢复操作

    检查数据文件的位置如下: SQLgt; select name from v$datafile; NAME----------------------------------------------- ...

  4. java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...

    windows环境下使用 public static void dowmloadFtpWindos(String fileUuid, HttpServletRequest request,HttpSe ...

  5. java下载文件到服务器_java代码实现上传文件到文档服务器、下载文档服务器文件...

    需要完成下载->修改->上传这三个步骤 平台有提供对应的api吗? /** 首先我们来理解下关于文档的api 文档相关api都在这2个package下面 package :com.just ...

  6. java 上传文件服务_java代码实现上传文件到文档服务器、下载文档服务器文件

    需要完成下载->修改->上传这三个步骤 平台有提供对应的api吗? /** 首先我们来理解下关于文档的api 文档相关api都在这2个package下面 package :com.just ...

  7. 编写Makefile:编译当前文件夹以及子文件夹下所有的ccpp文件并生成可执行文件

    makevar: (预定义一些变量,包括编译器,g++/gcc编译的参数,全局宏定义等,该文件会包含在Makefle中) KE := make CC := gcc CXX := g++ CXXFLAG ...

  8. 修改ftp服务器开放22端口,linux服务器修改ftp默认21端口方法

    1.登录服务器,打开vsftp.conf文件 # vim /etc/vsftpd/vsftpd.conf 2.在文件末尾增加listen_port=8021 #remote_charset=CP125 ...

  9. 计算机中文件访问时间是什么情况,【反计算机取证必看】Windows系统中文件时间属性的变化及影响因素.pdf...

    [反计算机取证必看]Windows系统中文件时间属性的变化及影响因素.pdf ·技术交流· Windows系统中文件时间属性的变化及影响因素 滕冲1,方靖然2,张国臣3(1.中国人民公安大学,北京 3 ...

最新文章

  1. 服务化的未来--ServiceMesh?
  2. 独家解密:阿里是如何应对超大规模集群资源管理挑战的?
  3. mysql 迭代更新_MySQL、MongoDB、Redis 数据库之间的区别与使用(本章迭代更新)
  4. CISCO OSPF-NSSA实验
  5. pillow python histogram_Python中的PIL库
  6. 安卓view.getMeasuredHeight()得到的高度单位以及dp和px的转换
  7. Endnote 基本使用教程
  8. 噪声数据集:Noise-92
  9. CUDA入门技术路线及基础知识
  10. 为什么阿里巴巴最爱招Java开发程序员?
  11. java filer,java – Filer的原始元素是否有用?
  12. 分布式存储Ceph中的逻辑结构Pool和PG
  13. Linux 块设备之bio结构体
  14. Bison 的构成与使用
  15. 最新迪恩电影/美剧DiscuzV3.2商业版模板源码
  16. 开源mysql数据库审计工具_Yearning基于Inception的开源SQL审核平台(数据库审计)
  17. 【油猴Tampermonkey】脚本安装教程+自用脚本推荐
  18. 手机看小说时如何设置上下或左右翻页模式
  19. 配置一个nextjs_react项目
  20. 简体转繁体镜像克隆站群-自动缓存-自动伪静态

热门文章

  1. plt 在屏幕的固定位置显示图像
  2. 啥是landscape,啥是portrait
  3. stream流操作,对List集合进行分组、求和去重
  4. 2021年全球物联网市场有望达9248亿美元
  5. 2017.10.6 P97-zhx
  6. 鸿蒙硬件开发:Hi3861开发环境搭建及Windows下编译下载程序
  7. 李开复给中国大学生的第二封信——从优秀到卓越
  8. QQ空间评价 留言搞笑长句大全
  9. w ndows10的字体在哪里,windows10系统下怎样加粗字体
  10. 明日之后怎么跳过实名认证_明日之后新手教程能不能跳过 明日之后新手剧情怎么跳过...