温馨提示×

Linux里如何实现copydate功能

小樊
47
2025-10-19 08:40:38
栏目: 智能运维

在 Linux 中,你可以使用 cp 命令来复制文件和目录

以下是一个示例脚本,用于将源文件或目录的修改时间和访问时间复制到目标文件或目录:

#!/bin/bash

# 检查参数数量
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 <source> <destination>"
    exit 1
fi

# 获取源文件或目录的修改时间和访问时间
source_mtime=$(stat -c %Y "$1")
source_atime=$(stat -c %X "$1")

# 复制文件或目录
cp -p "$1" "$2"

# 设置目标文件或目录的修改时间和访问时间
touch -d "@$source_mtime" "$2"
touch -d "@$source_atime" "$2"

echo "Copied modification and access times from $1 to $2"

将此脚本保存为 copydate.sh,并使用 chmod +x copydate.sh 使其可执行。然后,你可以使用以下命令格式调用此脚本:

./copydate.sh <source> <destination>

其中 <source> 是源文件或目录,<destination> 是目标文件或目录。这将复制源文件或目录的修改时间和访问时间到目标文件或目录。

0