在终端中更改命令名称

在终端中更改命令名称

可能重复:
如何在终端中为命令添加别名?

我在 Ubuntu 中使用 sublime text 2 文本编辑器进行开发。当我想从命令行打开文件时,我需要输入sublime-text-2 <file-name>

我希望能够通过 tab 键来sub获得它,但是还有 sublime-text 和 subl 或者其他可以自动完成的东西。

有没有办法更改或创建名称 sublime-text-2 的别名并将其称为“sub”或“sublime”或甚至完全不同的名字,如“texta”?

答案1

只要这样做:

sudo ln -s /pathforsublimetext2install/sublime_text /usr/bin/sublime

另外,我建议您通过 PPA 安装 sublime text 2,因为它可以更好地与 Unity/Gnome 集成。

要安装此 PPA:

sudo add-apt-repository ppa:webupd8team/sublime-text-2 
sudo apt-get update
sudo apt-get install sublime-text

答案2

我会使用alias命令。我将这些东西放在我的~/.bash_alises文件中,该文件由我的调用~/.bashrc。您也可以将以下内容放入其中.bashrc,无论哪种方式都由您决定。

我有这样的几行:

alias del='gvfs-trash'                          #I habitually avoid rm
alias def='surfraw google define:'
alias st2='sublime-text-2'

改变后~/.bash_aliases 第一次,输入source ~/.bash_aliases。将来当您启动计算机时,这将完成。

嗨嗨。

答案3

默认情况下,您可以在桌面 Ubuntu 上的 bash 中获得别名的命令完成。

例如,这是我的scanh别名(将通过制表符完成),来自 .bash_aliases:

alias scanh='egrep -v "^ \*|^\/\*|^$" '

你也可以用同样的方式为自己创建一个别名。例如,

alias text2='/pathtofile/sublime-text-2'

如果愿意的话,您还可以将阻止命令移开。

例如,如果调用的命令sublet混淆了你的制表符补全,则该过程可能如下所示:

$ which sublet 
/usr/bin/sublet
$ ls -la sublet
/usr/bin/sublet
$ sudo mv /usr/bin/sublet /usr/bin/xsublet

将 sublime-text-2 命令链接到更短的命令的方法相同。只需确保您创建的链接在您的路径中:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
$ ln -s  sublime-text-2 /usr/local/bin/sub

上述任何目录,/usr/bin/、/usr/sbin 等都可以。如果您有独立脚本或二进制文件,也可以直接将其移动到路径中:

$ sudo mv sublime-text-2 /usr/bin/sub

相关内容