如何从终端向上导航一个目录?

Vin*_*lia 24 command-line navigation

我可以cd在终端中使用目录向下导航。如果我走得太远,我该如何导航回去?

Ser*_*nyy 37

cd .. 将使您返回一个目录。

您可以将它们串在一起以向上多个目录,例如向上 3

cd ../../..
Run Code Online (Sandbox Code Playgroud)

cd ..您可以将下面的函数放入.bashrc顶部的某个位置,保存.bashrc并运行source .bashrc或关闭并重新打开终端,而不是多次输入。现在,您有一个函数,可以cd..准确执行您告诉它的次数。

function goUp {
  num=$1
  while [ $num -ne 0  ];do
    cd ..
    num=$((num-1))
  done
}
Run Code Online (Sandbox Code Playgroud)

演示:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 
Run Code Online (Sandbox Code Playgroud)

或者:

goup(){ 
    cd $(n=$1 awk 'BEGIN{
        for(i=1;i<=ENVIRON["n"];i++) 
            printf "../"}';) 
}
Run Code Online (Sandbox Code Playgroud)

请注意,这种方法会带您返回符号链接。这就是我的意思:

$ namei "$PWD" 
f: /home/user/VirtualBox VMs/CentOS
 d /
 d home
 d user
 l VirtualBox VMs -> /mnt/ubuntu/vboxvms
   d /
   d mnt
   d ubuntu
   d vboxvms
 d CentOS

$ goup 2
$ pwd
/home/user
Run Code Online (Sandbox Code Playgroud)

也可以看看