在 Linux 中保留文件时间有多种方法,常见的有以下几种:
1. 使用 `touch` 命令:
```
touch -a -m -t YYYYMMDDHHMM.SS 文件名
```
其中 `-a` 选项用于保留访问时间, `-m` 选项用于保留修改时间, `-t` 选项用于指定时间。YYYYMMDDHHMM.SS 表示年月日时分秒。
2. 使用 `cp` 命令:
```
cp --preserve=timestamps 源文件 目标文件
```
这样可以在拷贝文件时保留源文件的时间信息。
3. 使用 `rsync` 命令:
```
rsync -a 源文件 目标文件
```
其中 `-a` 选项表示保留文件的属性,包括时间信息。
4. 使用 `find` 命令和 `touch` 命令:
```
find 目录 -type f -exec touch -t YYYYMMDDHHMM.SS {} \;
```
这样可以批量修改目录下所有文件的时间信息。
5. 使用 `setfacl` 命令:
```
setfacl -m u:user:a:atime,m:user:a:mtime 文件
```
这样可以单独设置某个用户对文件的访问时间和修改时间。
以上方法各有优缺点,可根据实际需求进行选择。