Sürekli 'cd ../../../../' a gidiyorum. 'Cmd 4' gitmeme izin verebilecek bir komut / takma ad var mı ve 4 dizin geri alınabilir mi?
alias cmd5 = "cd ../../../../../"
Sürekli 'cd ../../../../' a gidiyorum. 'Cmd 4' gitmeme izin verebilecek bir komut / takma ad var mı ve 4 dizin geri alınabilir mi?
alias cmd5 = "cd ../../../../../"
Yanıtlar:
Bunu şuna ekle ~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(Ad cdup
, karşılık gelen FTP komutundan gelir, sadece FYI.)
Bu tür durumlar için bana 'pushd' ve 'popd' kullanmam öğretildi.
Örneğin, 'pushd' yazın. ve sonra 'cd / home'. Şimdi 'popd' yazın ve başladığınız yere geri döneceksiniz.
'pushd' / 'popd' bir yığıntır, orada istediğiniz sayıda dizini itebilirsiniz, ancak ilk önce popd zaman kapalıdır.
Tabii neden olmasın:
yukarı () { [$ # = 0] && cd .. && dönüş [$ 1 = 0] && iade cd .. && up $ ((1 - 1 $)) }
up 500
. :-)
Hızlı ve kirli:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Dizini yalnızca bir kez değiştirmek üzere formüle edilmiştir.
Konum işaretleyicilerini kullanarak pushd
ve popd
ayarlamak ve değiştirdiğiniz dizinden kolayca geri dönmek isteyebilirsiniz.
Ayrıca, çok kullandığınız bir dizinin adıyla bir değişken ayarlayabilir, ardından oradaki CD'yi ayarlayabilirsiniz:
MYPROJ=~/projects/name/src
cd $MYPROJ
proj1='cd $MYPROJ'
Sizin için yararlı olabilecek iki düşünce:
Cd -
bulunduğunuz son dizine geri dönün. Kod ağacımın derinliklerinden köküne geri dönmek için bunu her zaman kullanıyorum ... ancak bu sadece bir tanesinde cd'derseniz çalışır değişiklik.
cdd old new
Bu, geçmişte yazdığım ve benzer ağaçların arasında dolaşmak için kullandığım bir komut dosyası işleviydi . Temelde iki argüman aldı ve yolunuzda, dallar ve benzerleri arasında dolaşmak için harika bir regexp yaptı. Örneğin, ~ / bzr / web / trunk / path / to / feature içindeyseniz ve ~ / bzr / web / feature-branch / path / to / feature için gerekli olsaydınız bunu yapardınız cdd trunk feature-branch
. Sahip olduğum uygulama AIX üzerinde arkaik bir kabuk dilindeydi, ancak oldukça önemsizdi, bu yüzden ihtiyacınız varsa seçim kabuğunda uygulamak kolay olmalı. Bizim için çok yararlıydı çünkü yapı şöyle görünüyordu: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {bileşen} / ... o ağaçta çok çabuk delirdi.
ls
? Kesinlikle demek istiyorsuncd
?