如何在 ubuntu EC2 实例上创建文件夹路径别名?

Sid*_*Sid 3 command-line bash alias amazon-ec2

ubuntu 18.04 on AWS

我按照stackoverflow上的答案创建了一个路径别名:

nano ~/.bashrc

alias myfolder='/home/xxx/pms'
Run Code Online (Sandbox Code Playgroud)

当我尝试 cd

cd myfolder
Run Code Online (Sandbox Code Playgroud)

我得到:

无此文件或目录

但是如果我使用它的工作路径。

我不确定这里的问题是什么。

TIA

lan*_*rix 5

你在尝试什么

您可能会想到Mac OS 中定义和使用的术语别名。

对于 ubuntu,命令别名做了完全不同的事情。您使用的命令用于创建新命令,因此您不必记住更长的命令,或者您键入的更长的命令会更快地键入别名。例如,如果我不想继续输入此命令来启动程序:

java -jar /usr/local/bin/bfg-1.13.0.jar

您可以像这样bfg在我的 Unix 配置文件(或~/.bashrc您拥有的)中创建一个别名:

alias bfg='java -jar /usr/local/bin/bfg-1.13.0.jar'

以后我bfg每次想运行java程序都可以用。

你真正需要的

在 Ubuntu 中,您要寻找的是符号链接ln在 Ubuntu(和所有其他 Unix 变体)上使用该命令创建符号链接。请参阅以下示例。

在下面的例子中,你可以看到该文件夹已经存在所谓的pms在我的主文件夹。

因此它的绝对路径是/home/ubuntu/pms

ubuntu@server:~$ ls -l
total 4
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 25 11:05 pms
Run Code Online (Sandbox Code Playgroud)

现在我更改为母亲的目录,我想的链接,你作为一个别名思维,并创建符号链接ln -s

ubuntu@server:~$ cd /tmp/
ubuntu@server:/tmp$ ln -s /home/ubuntu/pms myfolder
Run Code Online (Sandbox Code Playgroud)

现在我可以按照您的理解将目录更改为此别名

ubuntu@server:/tmp$ cd myfolder/
ubuntu@server:/tmp/myfolder$ pwd
/tmp/myfolder
Run Code Online (Sandbox Code Playgroud)

需要明确的是,在 Unix 和 Linux 领域,别名是完全不同的东西。可以通过列出/tmp我创建它的目录来查看我创建的符号链接。

ubuntu@server:/tmp/myfolder$ cd /tmp
ubuntu@server:/tmp$ ls -l
total 16
lrwxrwxrwx 1 ubuntu ubuntu   16 Mar 25 11:06 myfolder -> /home/ubuntu/pms
Run Code Online (Sandbox Code Playgroud)

的内容为/tmp/myfolder一,与 相同/home/ubuntu/pms