我在多台机器上安装了 Ubuntu,我想在所有安装中复制我在其中一台机器上发现的控制台的行为(它们都是 12.04、64 位和 32 位)。
几个月前我安装了 Ubuntu Studio 12.04 ('lowlatency'),也许我当时做了什么,也许没有,但我收到了所有我认为很重要的命令的“回显”(例如rm
,,,和)。我还被提示确认命令类型,我认为这很棒,尽管有时有点烦人……无论如何,当我不想被打扰时,我只需添加一个,rmdir
一切就都好了。ln
cp
mv
rm
-f
以下是一个示例cp
:
foo@bar: /tmp$ cp hello.txt world.txt
`hello.txt` -> `world.txt`
也一样mv
。我很确定我没有亲自配置它,所以我认为这是一种默认行为。我想在其他机器上做同样的事情,为什么不手动控制整个过程并决定哪些命令会得到回显,如果可能的话。我怀疑这与文件有关~/.bashrc
,但这大概就是我自己能做到的。
我如何才能让某些命令在控制台中回显某些反馈(如ln
,, )并cp
让mv
其他命令提示确认(如rm
和)?rmdir
答案1
对于ln
、cp
和命令mv
,rmdir
应使用-v
或--verbose
选项。从man cp
和man 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 -d
with-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'