如何让控制台回显(确认)一些命令?

如何让控制台回显(确认)一些命令?

我在多台机器上安装了 Ubuntu,我想在所有安装中复制我在其中一台机器上发现的控制台的行为(它们都是 12.04、64 位和 32 位)。

几个月前我安装了 Ubuntu Studio 12.04 ('lowlatency'),也许我当时做了什么,也许没有,但我收到了所有我认为很重要的命令的“回显”(例如rm,,,和)。我还被提示确认命令类型,我认为这很棒,尽管有时有点烦人……无论如何,当我不想被打扰时,我只需添加一个,rmdir一切就都好了。lncpmvrm-f

以下是一个示例cp

foo@bar: /tmp$ cp hello.txt world.txt
`hello.txt` -> `world.txt`

也一样mv。我很确定我没有亲自配置它,所以我认为这是一种默认行为。我想在其他机器上做同样的事情,为什么不手动控制整个过程并决定哪些命令会得到回显,如果可能的话。我怀疑这与文件有关~/.bashrc,但这大概就是我自己能做到的。

我如何才能让某些命令在控制台中回显某些反馈(如ln,, )并cpmv其他命令提示确认(如rm和)?rmdir

答案1

对于lncp和命令mvrmdir应使用-v--verbose选项。从man cpman mv

  -v, --verbose
          explain what is being done

man ln

   -v, --verbose
          print name of each linked file

man rmdir

  -v, --verbose
          output a diagnostic for every directory processed

请注意,使用 时您没有任何选项来提示确认rmdir,因为rmdir删除了空目录。您可以改用rm -dwith-i选项(见下文)。

对于rm命令,您应该使用-i选项。来自man rm

   -i    prompt before every removal

现在,如果您希望这些命令始终在终端中使用这些选项执行,则可以使用别名。因此,在~/.bashrc文件末尾或~/.bash_aliases文件中添加以下几行:

alias cp='cp -v'
alias mv='mv -v'
alias ln='ln -v'
alias rmdir='rmdir -v' #or, better for what you asked: alias rmdir='rm -id'
alias rm='rm -i'

相关内容