别名rm和/ bin / rm之间的差异

时间:2014-07-04 12:18:30

标签: shell

使用/bin/rm abc.txt与有时必须使用alias rm的时间之间有什么区别,然后使用rm abc.txt执行

2 个答案:

答案 0 :(得分:4)

/bin/rm将始终引用系统上的二进制rm命令。如果你只是写rm abc.txt,其中一个可能会发生:

  • 您的shell直接将rm实现为内置函数,或者有一个名为rm的shell函数(不运行外部命令)。

  • rm先前已被别名(alias rm=<substituted-command>),表示不同的内容。通常,别名命令在功能上类似,但不一定是。

  • 如果以上都不适用,shell会在/bin中查找外部命令并运行它。

您可以使用alias查看所有已定义的别名。另请查看command -V shell builtin,它可以告诉您给定命令是外部命令,shell函数,内置函数还是特殊内置函数。

答案 1 :(得分:1)

rm创建别名的典型原因是添加-i-I选项。在“交互式”模式下,rm会在删除任何内容之前要求确认。

$ alias rm="/bin/rm -i"

$ rm myfile
rm: remove regular file ‘myfile’? _