Linux中可引起文件时间戳改变的相关命令

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令

文件时间戳的改变对于文件的管理和审计具有重要作用。在操作系统中,文件时间戳通常包括以下几个方面:

  1. 创建时间(ctime):文件或目录被创建的时间。
  2. 最后访问时间(atime):文件或目录最后一次被访问的时间。
  3. 最后修改时间(mtime):文件内容最后一次被修改的时间。

文件时间戳的改变可以有多种原因,其中最常见的有:

  • 文件内容的修改:当文件内容发生变化时,修改时间(mtime)会更新。
  • 文件属性的更改:如文件权限或所有者发生变化时,更改时间(ctime)会更新。
  • 文件被访问:文件被读取时,访问时间(atime)会更新。

文件时间戳的改变对于文件的历史追踪非常重要,因为它们可以帮助系统管理员和用户了解文件的更改历史,进行数据备份,以及维护系统的稳定性。例如,当执行备份操作时,时间戳是确定哪些文件自上次备份以来已更改的关键指标

此外,文件时间戳的准确性和一致性对于系统安全和数据完整性至关重要。它们不仅帮助系统管理员追踪和恢复数据,也为文件的版本控制和备份提供了必要的信息

在处理跨时区的文件时,文件时间戳的管理变得更加复杂。系统时区的更改可能会影响文件时间戳的显示方式,因此在进行时区更改时,重要的是要通知所有相关方,并确保他们理解这一更改对文件时间戳可能产生的影响

总的来说,文件时间戳的改变对于确保文件系统的准确性和可靠性至关重要,它们帮助用户和管理员有效地管理和保护他们的数据资源

在Linux系统中,您可以使用touch命令来修改文件的时间戳。以下是一些常用的touch命令选项:

  • -a:修改文件的访问时间。
  • -m:修改文件的修改时间。
  • -c:如果文件不存在,不创建空文件。
  • -r:使用指定文件的时间戳,为当前文件的时间戳。

我统计了几点关于在Linux中可引起文件时间戳改变的相关命令一览表:

SN

时间戳

命令示例

备注

1

A

vi sss(退出不保存)

cat sss

more sss

tail sss

head sss

less sss

cp test AAA/123

左边的命令在该文件时间戳M或者C发生更新的前提下使用一次有效,并且使用其中任意一个命令引起该文件访问时间发生更新后,再使用其他命令则不会引起访问时间的更新。

2

M

按照时间戳M的字面意思来理解,只要文件内容发生变化该时间戳就会更新,但M更新的同时会引起C的更新。

3

C

mv sss aaa

mv sss /AAA

chmod 744 sss

chown sss test

chgrp root test

chattr +i sss

ln test file/H_link(硬链接可以

与文件属性相关的操作会单独引起该时间戳的更新。

4

A+M

touch -amd "2 hours ago" test

touch:

-a只更文件改访问时间.

-m只更文件改修改时间.

-d 以字符串格式接收时间

-t 接收时间格式为:MMDDhhmm。

若不加d或t,则默认更新为当前系统时间作。

会引起C的更新,相当于A+C+M。

5

A+C

touch -ad "2 hours ago" test

6

M+C

ls -l /root > sss

cat CCC > sss

more CCC > sss

less CCC > sss

head CCC > sss

tail CCC > sss

nl CCC > sss

echo 'HELLO' > sss

touch -md “2 hours ago” sss

7

A+C+M

vim sss(退出并保存)

touch test(test文件已存在)

touch -am test(test文件已存在)

使用touch时,将A、C、M更新为当前系统时间。

目录
相关文章
|
4天前
|
Shell Linux 程序员
【Linux】Shell 命令以及运行原理
【Linux】Shell 命令以及运行原理
|
20小时前
|
存储 Linux 网络安全
在 Linux 中通过 SSH 执行远程命令时,无法自动加载环境变量(已解决)
SSH远程执行命令时遇到“命令未找到”问题,原因是Linux登录方式不同导致环境变量加载差异。解决方案:将环境变量写入`/etc/profile.d/`下的文件,或手动在命令前加载环境变量,如`source /etc/profile`。
|
2天前
|
关系型数据库 MySQL Java
1.Linux常用命令
1.Linux常用命令
10 1
|
3天前
|
存储 数据挖掘 Linux
在 Linux 中查找目录中最大文件用什么,你知道吗
【5月更文挑战第23天】在 Linux 中查找目录中最大文件,可以使用 `du` 命令结合 `sort`,`find` 命令搭配 `xargs` 和 `sort`,或编写 Python 脚本。例如:`du -a /path | sort -nr | head -n 1` 或 `find /path -type f -print0 | xargs -0 du -h | sort -nr | head -n 1`。这些方法适用于服务器管理、数据分析和文件清理等场景,注意文件权限、目录深度和文件系统类型可能影响结果。
11 1
|
5天前
|
Linux
linux 如何删除文件中的空格和换行符号并保存到新文件中
linux 如何删除文件中的空格和换行符号并保存到新文件中
10 0
|
5天前
|
Linux C语言 Windows
linux基本指令总结--文件和目录(一)
linux基本指令总结--文件和目录(一)
|
5天前
|
Linux
【超全】Linux命令思维导图总结 值得收藏
【超全】Linux命令思维导图总结 值得收藏
11 0
|
Linux
LINUX获得毫秒时间戳的代码
LINUX获得毫秒时间戳的代码
65 0
|
Linux
LINUX获得毫秒时间戳的代码
LINUX获得毫秒时间戳的代码
183 0
|
5天前
|
Linux 文件存储 Windows
Linux常用的基础命令
Linux常用的基础命令
12 1