欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

mtime, atime, ctime 的区别

程序员文章站 2023-11-19 12:26:04
创建三个文件 a b c 执行 ls l, ls lu, ls li 操作, mtime, atime, ctime 都一样 执行 cat a, echo "b" b 操作 若使用 scp 把文件拷贝到其他机器,mtime, atime, ctime 默认情况下会随之改变,若不想改变,可以在 scp ......
mtime   ls -l   显示最近修改文件内容的时间
atime   ls -lu  显示最近访问文件的时间
ctime   ls -li  显示最近文件有所改变的状态,如文件修改,属性\属主改变,节点,链接变化等

创建三个文件 a b c

echo "1" > a
echo "2" > b
echo "3" > c

执行 ls -l, ls -lu, ls -li 操作, mtime, atime, ctime 都一样

-rw-r--r--. 1 root root 2 aug  7 09:50 a
-rw-r--r--. 1 root root 2 aug  7 09:50 b
-rw-r--r--. 1 root root 2 aug  7 09:50 c

执行 cat a, echo "b" > b 操作

cat a
echo "b" > b

# 因 b 的内容改变,mtime(最近修改文件内容的时间) 随之更改
ls -l
-rw-r--r--. 1 root root 2 aug  7 09:50 a
-rw-r--r--. 1 root root 2 aug  7 09:51 b
-rw-r--r--. 1 root root 2 aug  7 09:50 c

# 因 执行了 cat a 操作,atime(显示最近访问文件的时间) 更改
ls -lu
-rw-r--r--. 1 root root 2 aug  7 09:51 a
-rw-r--r--. 1 root root 2 aug  7 09:50 b
-rw-r--r--. 1 root root 2 aug  7 09:50 c

# 因 b 的内容改变,ctime(最近文件有所改变的状态) 随之更改
ls -li
4195057 -rw-r--r--. 1 root root 2 aug  7 09:50 a
4418917 -rw-r--r--. 1 root root 2 aug  7 09:51 b
4418918 -rw-r--r--. 1 root root 2 aug  7 09:50 c

若使用 scp 把文件拷贝到其他机器,mtime, atime, ctime 默认情况下会随之改变,若不想改变,可以在 scp 命令后加上 -p 参数

man scp
-p      preserves modification times, access times, and modes from the original file.