web-dev-qa-db-ja.com

ターミナルから1つのディレクトリに移動するにはどうすればよいですか?

スーパー質問:ターミナルからcdを使用してディレクトリ内を下に移動できます。行き過ぎた場合、どうやって戻ることができますか?

16
Vince Scalia

cd ..は、ディレクトリを1つだけ戻します。

それらをつなぎ合わせて、複数のディレクトリに移動できます。 3つまで

cd ../../..

cd ..を複数回入力する代わりに、以下の関数を.bashrcの最上部のどこかに配置し、.bashrcを保存して、source .bashrcを実行するか、単に閉じるそして、ターミナルを再び開きます。これで、cd..を指定した回数だけ実行する関数ができました。

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

デモ:

$ cd /usr/share/backgrounds/                                                  

backgrounds:$ goUp 2

usr:$ 

代わりに:

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

このような方法では、シンボリックリンクに沿って戻ることに注意してください。ここに私が意味するものがあります:

$ 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

こちらもご覧ください

30