默认情况下如何使用cp -i别名cp


8

有没有好的办法别名命令cp file1 file2cp -i file1 file2


3
给诸如cp,mv和rm之类的破坏性命令起别名是一个好主意- 但不要依赖它 ...特别是不要以root身份使用!因为有一天您将在一台没有您期望的别名的计算机上工作,并且如果您后来习惯了使用别名捕获错误,那么您将无礼地醒来。
Baard Kopperud 2013年

Answers:


12

您应该在启动脚本中放置一个别名:

alias cp='cp -i'

您可以将其直接放入中~/.bashrc,但我可以放入~/.bashrc

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

并且~/.bash_aliases我有:

alias realias='source ~/.bash_aliases'
alias cp='cp -i'
alias rm='rm -i'

当我在该文件中添加/更改了内容后,我就会这样做realias(这不会从您取出的正在运行的shell中删除别名,以供使用unalias)。

如果这样做man bash并搜索别名,则不会找到示例,但:

For almost every purpose, aliases are superseded by shell functions
The (`bash`) shell function alternative for the above alias is:

cp () { command cp -i "$@" ; }

shell函数功能更强大,但对于别名就足够的简单事物而言。
我仍然倾向于使用它们。


2

如果您正在使用bash,则Anthon和michas的答案会很好用。但是,如果您使用的是csh或tcsh,则添加命令将为

alias cp "cp -i"

并将其添加到.cshrc文件中。


1
Unix新手可能会使用类似bash的shell,但是为了完整性起见+1 :)
CVn 2013年

谢谢迈克尔。但是,新手可以在给定的条件下工作。而这主要取决于系统管理员。有趣的是,在我们的校园中,学生将csh(甚至不是tcsh)作为其在Solaris上运行的默认Shell。而且由于原始帖子说Unix新手,所以我认为我至少应该加上我的两分钱。
unxnut

1
 alias cp="cp -i"

将此行放入外壳启动脚本中。(可能是〜/ .bashrc)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.