文件和目录详解(九)---三种文件时间以及utime函数详解

文件有三种时间,分别是:

  • 文件数据的最后访问时间------read函数会修改
  • 文件数据的最后修改时间------write函数会修改
  • i 节点状态的最后更改时间----unlink函数会修改

要区分文件数据的修改时间和 i 节点状态更改时间,因为文件数据和 i 节点信息是分开存储的,有些系统调用只会影响 i 节点中的信息,而不会影响文件的数据部分,比如 unlink 函数。

  使用 utime 函数可以修改一个文件的三种时间。

=====================================================

函数原型:

函数参数:

  • filename:要修改的文件路径名
  • times:指向包含文件时间的结构体

返回值:

  • 调用成功时返回 0
  • 调用失败时返回 -1

======================================================

结构体struct utimbuf的内容如下:

  可以发现结构中并没有关于 i节点状态最后更改时间,这是因为在调用 utime 函数来修改文件时间的时候会自动去更新 i 节点状态最后更改时间 为当前程序运行的时间。

时间: 2024-10-03 19:09:43

文件和目录详解(九)---三种文件时间以及utime函数详解的相关文章

Git设置文件或目录忽略跟踪的三种方式

1. 共享的忽略设置方式 本地仓库根目录,创建.gitignore文件,并编辑正则匹配需要忽略的文件或目录. .gitignore文件需要上传到仓库,同时会影响到他人,共享忽略设置 注意: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的. 添加忽略之后,已经提交到版本库中的文件是无法忽略的.只能clone到本地,删除后,再进行忽略. 2. 非共享的忽略设置 ① 编辑 .git/info/exclude 文件,设置

Objective-C:三种文件导入的方式以及atomic和nonatomic的区别

一.三种文件导入的方式比较: 类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义的,后面会告你,现在你就可以直接使用它,节约程序编译时间: 2.采用import方式,能避免重复导入同一类,它导入的不但这个类的所有的内容,而且使用它之前,编译器必须先对类的所有内容走一遍,就是先做预编译处理,这样比较耗费程序编译的时间. 3.采用include方式,不能避免重复导入的问题,但是它用在C

Objective-C:三种文件导入的方式比较

三种文件导入的方式比较: 类的前项声明@class.import.include: 1.采用@class 类名的方式,它会告诉编译器有这么一个类,目前不需要知道它内部的实例变量和方法是如何定义的,后面会告诉你,现在你就可以直接使用它,节约程序编译时间: 2.采用import方式,能避免重复导入同一类,它导入的不但这个类的所有的内容,而且使用它之前,编译器必须先对类的所有内容走一遍,就是先做预编译处理,这样比较耗费程序编译的时间. 3.采用include方式,不能避免重复导入的问题,但是它用在C/

[转载]python文件和目录操作方法大全(含更改文件夹下所有文件名称的实例)

http://blog.csdn.net/u010159842/article/details/53084067 一.Python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目录名:os.listdir()3.函数用来删除一个文件:os.remove()4.删除多个目录:os.removedirs(r"c:\python")5.检验给出的路径是否是一

Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)

PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式.PHP运行目前为止主要有三种方式: a.以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache服务器,以同一个进程运行. b.以CGI的方式运行,CGI英文叫做公共网关接口,就是Apache在遇到PHP脚本的时候会将PHP程序提交给CGI应用程序(php-cgi.exe)解释,解释之后的结果返回给Apache,然后再返回给相应的请求用户. c.以FastCGI的方式运行.这种形式是CGI的加

Git中三种文件状态及其转换

Git作为一种版本控制解决方案,由于其具有的分布式特性,正被越来越多的用户熟知,一些有名的开源项目,如:Linux kernel,CakePHP,Ruby on Rails等,都在使用Git进行版本管理. 在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. 为了说明的方便,现在初始化一个项目,也就是将项目所在目录纳入Git的管理之下.假设项目目录为hello_world,初始化之后,在目录下新建README.txt文

文件与目录管理命令(三)

目录管理类命令包括:cd,pwd,ls,mkdir,rmdir,tree,cp,mv,rm,touch,stat 1.1.ls 功能:列出文件或目录 命令帮助: man ls info ls ls --help help cd  #只有内部命令才能用ls /usr/share/man 文档位置 常用选项: -a:列出所有的文件(包含隐藏文件) -l:以长格式的形式列出信息 -i:显示文件inode号 -h:单位换算 -m:以逗号分割文件名列出 -t:按照修改时间来排序 -r:按照修改时间来反向排

文件删除的windows下面的三种路径(轻量级)

文件常规删除的三种方法都比较熟悉. #define FILE_DELETE_ON_CLOSE 0x00001000 @1 Nt/ZwCreateFile Nt/ZwOpenFile 填充OpenPacket结构,标记FILE_DELETE_ON_CLOSE (WRK) @2 Nt/ZwDeleteFile 填充OpenPacket结构,标记FILE_DELETE_ON_CLOSE (WRK) @3 Nt/ZwSetInformationFile 使用FileDispositionInformat

RDP/SSH/VNC三种文件传输协议有什么区别?

客户端和终端主机之间的文件交互我们称之为文件传输.在主机运维过程中,我们常常需要进行文件传输,以确保网站能够正常运行.不同系统的服务器使用的文件传输协议不同,文件传输的方式也不尽相同.那么文件传输协议都有哪些?目前市面上主流的文件传输工具有哪些?RDP文件传输协议:RDP远程协议是一个多通道协议,让用户通过本地电脑连接远程服务器.大部分的Windows.Linux服务器都有相应的客户端. 行云管家基于B/S架构(Browser/Server,浏览器/服务器模式)设计,直接使用浏览器远程连接服务器