我正在尝试使用
touch -d '20 seconds ago' file.txt
这在 Ubuntu 中有效,但在 Alpine 中无效。有人知道是否有其他软件包可以执行此操作,或者 Alpine 本身不支持它吗?
编辑:
# touch --help
BusyBox v1.28.4 (2018-12-06 15:13:21 UTC) multi-call binary.
答案1
答案2
这将与 busybox 一起工作touch
,而date
无需安装 GNU coreutils:
touch -d@$(( $(date +%s) - 20 )) file.txt
这将根据纪元时间计算日期,减去 20 秒,并将其作为所需touch
使用的时间。
我使用 BusyBox 1.30.1 进行了测试(通过busybox touch -d@$(( $(busybox date +%s) - 20 )) file.txt
)
还请注意,这将适用于这些命令的 GNU 版本以及几乎任何实现date
(GNU、BSD、OS X、BusyBox 等),POSIX date
没有指定%s
和POSIXtouch
没有指定-d@epoch
(并且 BSD/OSX 没有实现它)。