【问题标题】:Is it safe to alias cp -R to cp?将 cp -R 别名为 cp 是否安全?
【发布时间】:2015-11-15 00:35:36
【问题描述】:

当我复制一些东西时,我总是忘记-R,然后我一直回去在cp之后添加它。 我想将此添加到 bash 配置文件中。 alias cp="cp -R" 我没有看到任何不好的事情发生。这样做安全吗?

【问题讨论】:

  • 我会考虑使用-a。与cp -R -d --preserve=all 相同。但是,我无法评论这两种选择是否会产生令人惊讶的不良影响
  • 我会使用alias cpr="cp -R",这样您就不会更改cp 的行为来安装脚本、makefile 等。
  • @KlausPrinoth 别名仅在定义它们的 shell 会话中起作用。由于 makefile 和脚本在它们自己的会话中运行,因此不存在别名改变其行为的风险。

标签: bash zshrc oh-my-zsh


【解决方案1】:

我能想到的唯一会导致-R 标志出现意外行为的是它不适用于通配符。

我的意思是...例如,您要复制目录和每个子目录中的所有 mp3 文件:cp -R /path/*.mp3。尽管给出了-R,但它不会复制path 的子目录中的mp3 - 如果有的话。

【讨论】:

  • 哇,你是对的。我刚刚测试了它。感谢您指出。 :)
【解决方案2】:

我不会使用别名来改变普通命令的行为。当您在不同的外壳/另一台计算机中时,别名将丢失。当朋友想帮助你时,他不会知道你做了什么。
有一次我有一个alias rm="rm -i" 并且我执行了rm *,而我刚刚用su 更改了shell。 有时你想在没有 -R 选项的情况下使用 cp,你会记得在这些情况下使用/bin/cp(将当前目录中的所有文件复制到另一个位置,但不要 cp 子目录)?

【讨论】:

  • 谢谢。我会谨慎使用它。 :)
猜你喜欢
  • 2015-02-21
  • 2015-01-30
  • 1970-01-01
  • 1970-01-01
  • 2018-08-01
  • 2011-04-27
  • 1970-01-01
  • 2011-01-17
  • 2018-01-13
相关资源
最近更新 更多