Son cd komutunu nasıl geri alabilirim?


77

cdFarklı bir dizine yaptıktan sonra önceki çalışma dizinine geri dönmenin bir yolu var mı ?

Kullanım durumum, bir Java projesi için bir dizin yapısını geçiyorum ve mevcut dizinin yalnızca bir alt dizine sahip olmasını bekliyorum. Yani, yazın cdve vurmak Tabve Enteroldukça hızlı. Ancak, Tabaslında daha fazlası olduğunda, bir alt dizini yanlışlıkla beklediğim gibi başarısız oldu. Bu yüzden şimdi, sadece idam ettim cdve şimdi Java projesi yerine kendi dizinimdeyim. Bunu geri almanın cdve içinde bulunduğum dizine geri dönmenin bir yolu var mı ?

Yanıtlar:


130

cd -Nerede olursanız olun önceki konumunuza geri dönmek için kullanabilirsiniz .


10
Şey ... Ubuntu'da yıllar sonra bile bunu bilmiyordum. Thanks
andybleaden

19

cd - bir seviyeye geri dönmek için harikadır, ancak kendinizi birkaç seviyeye geri dönmek istediğinizi bulursanız, şu betiğe göz atın:

acd_func.sh

Bu harika. örneğin cd --geçmişinizi görmek ve cd -3örneğin 3 seviye geri gitmek için.


Vay ... bir jeoloji bağlantısı. Şimdi uzun zamandır görmediğim bir URL var. <Obi-wan JPG'yi yerleştirin>
Michael Butler

1
özü bu yorumun. <jpg Yoda insert>
Donbhupi

15

Ayrıca dizin yığınını kullanmak için pushdve popdkullanabilirsiniz :)

Burada bazı bilgiler


5

Buna ek olarak, cd ..götürebilir geri çalışma dizinin için ebeveyn sen olmak istediğiniz yere gelene kadar komut tekrar edilebilir gerekirse dizin ve sonra. Aslında, her çağrıldığında, yalnızca komutu tekrarlamaya devam ederseniz/ , sonuçta (kök dizin) bitecek olan dizin ağacına geri dönersiniz .

Buna karşılık , cd -aslında önceki çalışma dizinini şu anki çalışma dizini yapar (ki bu da bilinir .) ve dosya sistemindeki tam olarak hangi konumla bulunabilir pwd.

Yani hem cd ..ve cd - dizin ağacını gezinirken onlar rağmen, farklı durumlarda yararlı olabilir farklılık yukarıda belirtilen açılardan. Belki de bu iki komutu deneyerek eğlendikten sonra en faydalı komut cdsizi giriş klasörüne döndürür.


-1

Bunu geri dönmek için yapmanın en iyi yolu cd -, bir kerede çok fazla seviye atlamak istiyorsanız, cd ..bir seviye cd ../..için, iki kişilik, cd ../../..üç kişilik ve daha sonra ... daha hızlı kullanmak için iyi bir yol kullanmaktır. senaryo:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK

1
cdBir komut dosyasında çalıştırmak ana kabuğu etkilemez. Yararlı olması için bunu bir kabuk fonksiyonuna koymanız gerekir.
wjandrea

böyle:up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
wjandrea
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.