linux - 查看/修改文件的修改时间

1. 查看文件的时间

文件时间有三种:

最近访问时间(Access):cat、less等查看文件后,该时间改变

最近更改时间(Modify):vim修改文件内容后,三个时间都改变

最近改动时间(Change):chmod修改文件权限或属性后,该时间改变

  • stat 命令,查看文件的状态
stat 3.log  //查看某个文件的状态
stat *   //查看这个目录下所有文件及文件夹的状态(不递归)
  • ll --time命令 (不带–time,默认是mtime)
ll --time=atime  //查看访问时间
ll --time=ctime  //查看改动时间

2. 修改文件的时间

touch命令,后跟不同参数:

touch -a: 修改文件的访问时间

touch -m: 修改文件的修改时间

touch -c:(注意)同时修改访问时间和修改时间,不创建文件,不修改改变时间

touch -t: 同时修改文件的访问时间和修改时间,格式:touch -t 201801021458.02 4.log

touch -d: 同时修改文件的访问时间和修改时间,格式:touch -d “2021-01-02 09:32:21” 3.log

1. 同时修改文件的访问时间和修改时间

touch -t 201801021458.02 4.log
touch -d "2021-01-02 09:32:21" 3.log

2. 只修改文件的修改时间

touch -m -d "2010-09-08 12:23:02" 4.log

3. 只修改文件的访问时间

touch -a -d "2012-07-06 12:45:21" 4.log

4. 将一个文件的时间,修改为和另一个文件的时间相同

touch -amcr 4.log 3.log  //将3.log的三个时间,都修改为和4.log一样
touch -mr 4.log 3.log     //只将3.log的修改时间,修改为和4.log一样

在这里插入图片描述

另外,

1.touch + 文件名
    a. 若文件名存在,则将该文件的三个时间,都改为当前时间(若是文件夹,则只修改文件夹,不递归)
     b. 若文件名不存在,则新建一个文件,三个时间都是当前时间

2.touch *
    修改当前目录下的所有文件(不递归)

[hjma@192 c]$ touch 3.log 4.log
[hjma@192 c]$ ll
总用量 0
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 3.log
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 4.log
[hjma@192 c]$ stat 3.log
  文件:"3.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724825      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2022-02-24 05:10:54.091277447 +0800
最近更改:2022-02-24 05:10:54.091277447 +0800
最近改动:2022-02-24 05:10:54.091277447 +0800
创建时间:-
[hjma@192 c]$ stat *
  文件:"3.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724825      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2022-02-24 05:10:54.091277447 +0800
最近更改:2022-02-24 05:10:54.091277447 +0800
最近改动:2022-02-24 05:10:54.091277447 +0800
创建时间:-
  文件:"4.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724826      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2022-02-24 05:10:54.094277447 +0800
最近更改:2022-02-24 05:10:54.094277447 +0800
最近改动:2022-02-24 05:10:54.094277447 +0800
创建时间:-
[hjma@192 c]$ ll --time=atime
总用量 0
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 3.log
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 4.log
[hjma@192 c]$ ll --time=mtime
ls: "--time" 的参数"mtime" 无效
有效的参数为:
  - "atime", "access", "use"
  - "ctime", "status"
Try 'ls --help' for more information.
[hjma@192 c]$ ll --time=ctime
总用量 0
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 3.log
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 4.log
[hjma@192 c]$ touch -t 201801021458.02 4.log
[hjma@192 c]$ ll
总用量 0
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 3.log
-rw-rw-r--. 1 hjma hjma 0 1月   2 2018 4.log
[hjma@192 c]$ ll --time=atime
总用量 0
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 3.log
-rw-rw-r--. 1 hjma hjma 0 1月   2 2018 4.log
[hjma@192 c]$ ll --time=ctime
总用量 0
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:10 3.log
-rw-rw-r--. 1 hjma hjma 0 2月  24 05:16 4.log
[hjma@192 c]$ touch -d "2021-01-02 09:32:21" 3.log
[hjma@192 c]$ stat *
  文件:"3.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724825      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2021-01-02 09:32:21.000000000 +0800
最近更改:2021-01-02 09:32:21.000000000 +0800
最近改动:2022-02-24 05:19:05.591282471 +0800
创建时间:-
  文件:"4.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724826      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2018-01-02 14:58:02.000000000 +0800
最近更改:2018-01-02 14:58:02.000000000 +0800
最近改动:2022-02-24 05:16:10.357280680 +0800
创建时间:-
[hjma@192 c]$ touch -m -d "2010-09-08 12:23:02" 4.log
[hjma@192 c]$ stat 4.log 
  文件:"4.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724826      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2018-01-02 14:58:02.000000000 +0800
最近更改:2010-09-08 12:23:02.000000000 +0800
最近改动:2022-02-24 05:20:25.268283285 +0800
创建时间:-
[hjma@192 c]$ touch -a -d "2012-07-06 12:45:21" 4.log
[hjma@192 c]$ stat 4.log 
  文件:"4.log"
  大小:0         	块:0          IO 块:4096   普通空文件
设备:fd00h/64768d	Inode:724826      硬链接:1
权限:(0664/-rw-rw-r--)  Uid:( 1000/    hjma)   Gid:( 1000/    hjma)
环境:unconfined_u:object_r:user_home_t:s0
最近访问:2012-07-06 12:45:21.000000000 +0800
最近更改:2010-09-08 12:23:02.000000000 +0800
最近改动:2022-02-24 05:20:55.129283590 +0800
创建时间:-
[hjma@192 c]$ 

原文:https://www.cnblogs.com/xiaochongc/p/14676744.html

### 回答1: 要查看Linux上的文件修改记录,可以使用以下命令: ``` git log [文件路径] ``` 其中,[文件路径]是要查看修改记录的文件路径。如果不指定文件路径,将显示所有文件修改记录。 使用此命令后,将显示包含每个提交的作者、提交日期和提交注释的列表。列表中的每个提交都有一个唯一的哈希值,以便您可以使用其他git命令查看提交的详细信息。 例如,要查看文件“example.txt”的修改记录,您可以使用以下命令: ``` git log example.txt ``` 这将显示文件“example.txt”在历史上的所有修改记录。 ### 回答2: 在Linux系统上,可以通过多种方式来查看文件修改记录。以下是几种常见的方法: 1. 使用命令行工具 可以使用Linux系统自带的一些命令行工具来查看文件修改记录,比如grep、find等命令。其中,grep命令可以用来查找特定的字符串或者正则表达式,以此来判断文件是否被修改过;find命令则可以用来查找文件修改时间,进而判断文件是否有修改。 例如,可以使用如下的命令来查找某个文件是否被修改过: $ grep "some string or regular expression" file 或者可以使用如下的命令来查找文件修改时间: $ find /path/to/file -mtime 0 这个命令会查找指定路径下最近一天内被修改过的所有文件。 2. 使用版本控制系统 如果你正在使用版本控制系统(例如Git),那么你可以通过版本控制系统来查看文件修改记录。具体而言,你可以使用如下命令来查看文件的历史记录: $ git log /path/to/file 这个命令会列出指定文件的所有修改记录及作者、时间等详细信息。 3. 使用第三方工具 除了命令行工具和版本控制系统之外,还有一些第三方工具可以用来查看文件修改记录,例如Meld、KDiff3等。这些工具通常提供了图形化界面,可以更加直观地展示文件修改记录。 总之,无论是使用哪种方式,都可以很容易地查看文件修改记录。这可以帮助用户更好地了解文件的历史变更情况,进而更好地管理和维护文件。 ### 回答3: 为了查看Linux系统上的文件修改记录,我们可以使用一些系统命令和工具。以下是其中一些方法: 1. 使用“ls -l”命令:这个命令可以列出文件的详细信息,包括文件的权限、拥有者、修改日期和时间等等。例如,我们可以使用命令“ls -l file.txt”来查看“file.txt”文件修改日期和时间。 2. 使用“stat”命令:这个命令可以输出文件的完整信息,包括最近一次修改时间、最近一次使用时间等等。例如,我们可以使用“stat file.txt”来查看“file.txt”文件修改时间。 3. 使用“find”命令:这个命令可以搜索指定目录下的所有文件,并可以使用“-mtime”选项来查找指定日期以后修改文件。例如,我们可以使用“find /home -mtime -4”命令来查找在最近四天内修改过的文件。 4. 使用“diff”命令:这个命令可以比较两个文件之间的差异,包括修改过的内容。例如,我们可以使用“diff file1.txt file2.txt”命令来比较两个文件的差异并显示修改记录。 5. 使用“git”命令:如果你使用了Git来管理你的代码,那么Git可以跟踪文件修改历史,并可以使用“git log”命令来查看文件修改记录。例如,我们可以使用“git log file.txt”命令来查看“file.txt”文件修改历史。 总之,Linux系统提供了许多工具和命令来帮助我们查看文件修改记录。根据不同的需求,我们可以选择适合自己的方法来进行查看
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值