Linux cd .. 命令

Linux cd .. 命令

如果我需要经常这样做:

cd ../../../../foo/sub1/bar/dest/
cd ../../../../foo2/sub1/bar/dest/
cd ../../../../foo3/sub1/bar/dest/
cd ../../../../foo/sub1/bar/dest/

有没有更快的方法可以避免总是输入../../../../这么多次?有什么有创意的想法吗?

答案1

实现此目的的经典方法是设置CDPATH变量。根据您的情况,可以将其设置为.:../../../../.:/path/to/the/parent/of/foo以实现所需的效果。然后您只需执行操作即可cd foo/sub1/bar/dest到达您想要的位置。

这样做的好处是,制表符补全也会cd查看$CDPATH并神奇地起作用。

答案2

您可以使用自动跳转它会自动从上一个 cd 命令中学习,下次您只需从完整路径中指定唯一的字符串。 例如 j foo,, j foo1j foo2

答案3

您可以通过在 bash 配置文件 (~/.bashrc 或 /etc/bash.bashrc) 中添加别名来为这些命令创建快捷方式

alias cdd="cd ../../../../"

然后当您输入时cdd它将执行该命令。

答案4

我最近遇到了https://github.com/rupa/z,它允许您通过正则表达式跳转到最近使用的目录。因此,您可以执行以下操作:

z foo3.*dest

代替:

cd ../../../../foo3/sub1/bar/dest/

(只要您以前访问过该目录,并且没有更新/最常用的与该正则表达式匹配)

相关内容