删除终端命令

Geo*_*ton 1 gnome-terminal

是否可以删除终端命令?例如,如果有一个命令调用查找(不是别名),我将如何删除它?

Par*_*rto 7

更好的方法是将命令的输出重定向到 /dev/null. 这样,命令将“在那里”,但不会显示任何结果。

示例:ls命令。

  1. 取别名
    alias ls = "ls > /dev/null"
  2. ls现在运行不会显示任何结果。

编辑:感谢@scai
在上面的答案中,命令仍然会显示错误,因为我们已经重定向stdout但没有stderr加上更严重的问题,它仍然会运行命令

引用@scai

如果有问题的命令做了您不喜欢的事情,例如创建或删除文件、更改设置、将您的鼻子涂成蓝色,那么这个别名不会阻止它做这些事情。

对于解决方法,我们将命令别名为空字符串,然后将结果错误重定向到/dev/null.

alias ls = "" > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

现在好多了。


编辑 2:再次感谢@scai :-)
这是一个临时解决方案。
要恢复到命令的原始功能(在我们的例子中ls),只需运行unalias ls.