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
。