如何在终端中为命令创建快捷方式?

我想在终端中为一个命令创建一个快捷方式。比如对于一个命令 "ssh user@123.45.7.123",我只希望使用一个命令 "user" 来运行上述命令。这个能实现吗?如果可以,应该如何做?
谢谢!
4个回答

命令的快捷方式称为别名。 创建别名的语法是:
alias custom_command='original_command'  

示例:
要为更新和升级创建别名,我们应该在终端中输入以下内容:

alias update='sudo apt-get update'    

alias upgrade='sudo apt-get upgrade'  

要为您的命令创建一个别名,请打开终端并输入:
alias user='ssh user@123.45.7.123'

11如果你想在每个终端中都能使用这个命令,你需要将这行代码添加到 ~/.bash_aliases 文件中。然后它会自动加载。 - panmari
我没有任何 ~/.bash_aliases 文件,我应该创建它吗? - rohit
3这取决于你的 ~/.bashrc 文件。它是否引用了 ~/.bash_aliases?如果是的话,那就创建它。 - ahilsend
5@rohit,.bash_aliases 文件不是标准的 bash 功能(我认为这是 Ubuntu 的特性),标准的方法是将别名定义添加到你的 .bashrc 文件中。 - terdon
如果你将你的别名添加到~/.bash_aliases或者~/.bashrc中,请不要忘记通过source ~/.bash_aliases或者source ~/.bashrc来激活它。 - Mahdi mehrabi
上述建议的更改并没有立即生效,直到我重新启动了终端。 - carloswm85

如果您希望不每次加载别名,而是永久存储一个别名命令,请执行以下操作。

进入您的家目录并按下 Ctrl+H 键以查看隐藏文件,其中之一将是 .bashrc。打开它。

现在在主空间的任何位置编写以下命令:

alias custom_command='original_command' 

您的快捷命令将被永久保存。

1抱歉如果这是个愚蠢的问题,但是“主命名空间”是什么意思?对于一个初学者来说,插入这段文字最“安全”的位置在哪里,如果有的话? - Baku9
1最安全的“主空间”是那些没有缩进且不在任何范围内(方法、括号等)的部分。 - Kartik Raj
1在使用ctrl-x关闭.bashrc并保存更改后,您需要输入source .bashrc - mLstudent33

别名可以带参数。例如:
$ alias 777='sudo chmod -R 777 '
$ 777 MyFolder

将对MyFolder执行递归的chmod操作。

你知道我怎么样才能使用别名来裁剪视频吗?ffmpeg -ss 00:00:00 -i input.mp4 -to 00:00:15 -c copy output.mp4这样我就可以只输入那些会变化的值,比如时间和文件名。 - Harsha

一般来说,像M.Tarun提到的那样,答案是给你的命令取一个别名。对于你提到的ssh的例子,你可能想在你的.ssh/config文件中添加它。
Host someName
     HostName 123.45.7.123
     User user

然后使用名称调用ssh:
$ ssh someName

你的shell可能也支持ssh的Tab补全。所以你只需要输入ssh s然后按下Tab键。
这样做的好处是它还可以与其他命令一起使用,比如scp
$ scp some-file someName:a/path/

而别名方法在这种情况下不起作用。