如何自动复制已编辑文件的备份

如何自动复制已编辑文件的备份

我经常忘记备份我所摆弄的重要系统文件的原始副本。

有没有办法让系统自动复制我编辑的文件(例如,如果该文件位于 /etc 下)?只需将 filename 复制到同一目录中的 filename~ 即可?

答案1

这取决于您使用的编辑器:

  • 纳米有一个选项,可在您保存文件时自动备份文件,备份文件可以位于同一目录或备用目录中。
  • 编辑有一个选项[不]保存备份文件
  • vim显然也是如此

最好确定您想要使用哪个编辑器,然后研究该编辑器的文档以确定如何以及在何处备份您编辑的文件。

答案2

如果您的编辑器没有提供该选项,您可以编写如下函数:

kate~(){ cp "${!#}" "${!#}~" && kate $@ ;}

您可以为每个编辑器执行此操作,只需获取最后一个参数(${!#}),该参数始终应为文件名,复制它并kate使用整个参数行( )运行编辑器($@)。此示例函数使用 调用kate~ [OPTIONS] [FILE]。最好将此类函数存储在~/.bash_aliases文件中,这样它们对每个新打开的终端都有效。

要测试特定目录,/etc/您可以这样做

kate~(){ [[ "${!#}" =~ /etc/ ]] && cp "${!#}" "${!#}~" ; kate $@ ;}

这样,仅当要打开的文件位于 下时才会创建备份文件/etc/

相关内容