当我在终端中输入程序 A 时,最终得到的是程序 B。控制哪些命令触发程序打开的别名或其他文件在哪里?
答案1
命令的别名存储在~/.bashrc
和中/.bash_aliases
。但是,这些可能并不总是重定向的原因。如果别名不是,那么您可以通过键入 来找出终端正在遵循的路径type <command>
。该type
命令将告诉您终端正在执行的文件的位置以及它是否被散列到文件系统上其他位置的另一个可执行文件。为了找出在这种情况下链接到哪个文件,请cd
进入该目录并键入ls -l <file>
。
答案2
type -a command_name
可能是检查的更好方法,
which command_name
它确实会告诉您磁盘上存在的某些内容的路径。
例子:
$ 类型 -a ls ls 的别名为 ‘ls --color=auto’ ls 是一个函数 ls() 复制代码 { 命令 ls --show-control-chars --color -G $* } ls 是 /bin/ls
$ command ls
另一方面将绕过上述并执行/bin/ls
。
嗯...我需要删除该别名。
$ unalias ls $ 光盘 $ nano .bashrc ... # 别名 ls='ls --color=auto' ... [CTRL+X]