你在尝试什么

你在尝试什么

ubuntu 18.04 on AWS

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

nano ~/.bashrc

alias myfolder='/home/xxx/pms'

当我尝试cd

cd myfolder

我得到:

没有这样的文件或目录

但如果我使用该路径,它就会起作用。

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

短暂性脑缺血发作

答案1

你在尝试什么

您可能会认为别名一词是定义和使用在 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 中,你要找的是符号链接。在 Ubuntu(以及所有其他 Unix 版本)上,使用该命令会创建符号链接ln。请参阅以下示例。

在下面的例子中,你可以看到一个文件夹已经存在在我的主文件夹中调用pms

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

ubuntu@server:~$ ls -l
total 4
drwxrwxr-x 2 ubuntu ubuntu 4096 Mar 25 11:05 pms

现在我切换到我想要链接的母目录,也就是你认为的别名,然后创建符号链接ln -s

ubuntu@server:~$ cd /tmp/
ubuntu@server:/tmp$ ln -s /home/ubuntu/pms myfolder

现在我可以将目录更改为这个别名正如你所理解的。

ubuntu@server:/tmp$ cd myfolder/
ubuntu@server:/tmp/myfolder$ pwd
/tmp/myfolder

需要明确的是,别名在 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

的内容/tmp/myfolder与 完全相同/home/ubuntu/pms

相关内容