Ciągle gram „cd ../../../../”. Czy istnieje polecenie / alias, które mogą pozwolić mi przejść na „cmd 4” i zabiorę z powrotem 4 katalogi?
alias cmd5 = "cd ../../../../../"
Ciągle gram „cd ../../../../”. Czy istnieje polecenie / alias, które mogą pozwolić mi przejść na „cmd 4” i zabiorę z powrotem 4 katalogi?
alias cmd5 = "cd ../../../../../"
Odpowiedzi:
Umieść to w ~/.bashrc
:
cdup() {
levels=${1-1}
while ((levels--)); do
cd ..
done
}
(Nazwa cdup
pochodzi od odpowiedniego polecenia FTP, tylko FYI.)
Nauczono mnie używać „pushd” i „popd” w takich okolicznościach.
Na przykład wpisz „pushd”. a następnie „cd / home”. Teraz wpisz „popd”, a wrócisz do miejsca, w którym zacząłeś.
„pushd” / „popd” to stos, możesz wcisnąć tam tyle katalogów, ile chcesz, ale jest on ostatni, pierwszy, kiedy wyskakujesz.
Jasne, czemu nie:
up () { [$ # = 0] && cd .. && return [1 $ = 0] i zwrot cd .. && up $ ((1 - 1 $)) }
up 500
. :-)
Szybko i brudno:
cmd () { dir=.; for i in $(seq 1 $1); do dir=$dir/..; done; pushd $dir; }
Sformułowany, aby zmienić katalog tylko raz.
Używam autojump, który pozwala mi pisać:
j h
>> /home/cjulien
j et
>> /etc
potrafi uczyć się na twoich nawykach i jest bardzo lekka (i uzależniająca;))
Dwie myśli, które mogą ci się przydać:
cd -
wróć do ostatniego katalogu, w którym byłeś. Cały czas używam tego, aby przejść z mojego drzewa kodu z powrotem do jego katalogu głównego ... chociaż to działa tylko wtedy, gdy włączysz go do niego w jednym zmiana.
cdd stary nowy
to była funkcja skryptu, którą napisałem w przeszłości, której używałem do poruszania się między podobnymi drzewami. Zasadniczo wymagało to dwóch argumentów i regexp na twojej ścieżce, świetny do poruszania się między gałęziami i tym podobne. Na przykład, jeśli byłeś w ~ / bzr / web / trunk / path / to / feature i chciałeś dostać się do ~ / bzr / web / feature-branch / path / to / feature, to zrobiłbyś to cdd trunk feature-branch
. Implementacja, którą miałem, była w archaicznym języku powłoki w systemie AIX, ale była dość trywialna, więc powinna być łatwa do wdrożenia w wybranej powłoce, jeśli jej potrzebujesz. Dla nas było to bardzo przydatne, ponieważ struktura wyglądała następująco: ... / {product} / {version} / {release} / {src, bld, dbg, pkg, tst} / {component} / ... więc poruszanie się na tym drzewie szybko oszalało.
ls
? Na pewno masz na myślicd
?