Wróć do poprzedniego katalogu w powłoce


306

Czy istnieje sposób na powrót do poprzedniego katalogu, w którym korzystaliśmy z bash, tcsh bez użycia pushd / popd? Chciałbym wpisać coś w stylu „wstecz” i wróciłem do poprzedniego katalogu, w którym byłem.

Edytować:

„cd -” działa, ale tylko dla bieżących i poprzednich katalogów. Czy w każdym razie mogę wrócić do poprzedniego poprzedniego poprzedniego katalogu, tak jak w przeglądarce internetowej?

pozdrowienia


1
Jak wspomniano poniżej, możesz to zrobić za pomocą „pushd” i „popd”.
niebieskawy

8
Tylko notka „cd -” przechodzi do domyślnego katalogu użytkownika (/ home / nazwa użytkownika)
sdaffa23fdsf

1
Najlepsza odpowiedź imho : unix.stackexchange.com/a/180640/158177 zapewnia cd -1 na cd -9, o co myślę, że o to poprosił OP
Titou

Odpowiedzi:


413

cd - (wraca do poprzedniego katalogu)

Jeśli chcesz móc przejść do innych poprzednich katalogów, nie jest to możliwe po wyjęciu z pudełka. Ale sprawdź ten skrypt i instrukcje:

Historia odwiedzanych katalogów w BASH

Polecenie cd działa jak zwykle. Nowa funkcja to historia ostatnich 10 katalogów, a polecenie cd zostało rozszerzone, aby wyświetlić i uzyskać do niej dostęp. cd - (lub po prostu naciskając ctrl + w) pokazuje historię. Przed każdą nazwą katalogu widnieje numer. cd -num z liczbą, która ma przejść do odpowiedniego katalogu z historii.


20
przydatne mogą być również pushd i popd
lorenzog,

6
@lorenzog: lydonchandra w swoim pytaniu powiedział „bez użycia pushd / popd”
Snark

@ ogc-nick za używanie tego cd --w sposób podobny do menu, powinieneś użyć wspomnianego skryptu
Ram

1
@ ogc-nick nie, nie ma. Po --prostu oddziela polecenie i jego opcje od parametrów (zobacz ten post ). Ponieważ po nim nie następują argumenty --, ostateczne polecenie jest tym, cdktóre przełącza do twojego katalogu domowego. To mógł być drugi poprzedni katalog, ale to tylko zbieg okoliczności.
Griddo

wow dużo cukru syntaktycznego
BugWhisperer

24

Możesz także użyć zmiennej cd $OLDPWD. Można to również wykorzystać w skryptach powłoki.


6
$ OLDPWD utrzymuje ostatni katalog, z którego przyszedłeś, który jest dobry dla skryptów. Często używam $ OLDPWD z komendą cp. Np. Cp -v $ OLDPWD / plik.
Neil Wightman,

1

W systemie Windows (w tym Node.js komenda konsoli poleceń) nie działa cd - Aby przenieść cię w górę, działa jeden katalog

cd ..

3
cd .. przenosi do katalogu nadrzędnego, który nie był przedmiotem pytania.
ViaSat

1
To jest bash tutaj Windows.
Timo,

0

Uważam, że najłatwiej to zrobić za pomocą edycji mocy .bashrc: https://github.com/wting/autojump . Możesz „zaznaczyć” foldery, do których nawigujesz, nadając im łatwą do zapamiętania krótką nazwę (moja rada; powyższego nie ma w dokumentach), np. Zdjęcia do zdjęć itp. „Skok” powoduje powrót do folderu, w którym „oznaczone” i „oznaczenia” zawierają listę folderów dodanych do „stosu” (jak w przypadku pushd i pop d), z dodatkową zaletą, że Twoje oceny pozostają takie same od jednej sesji do następnej, ad infinitum.

Muszę go jeszcze wypróbować na więcej niż jednym dysku twardym, ale wyniki powinny być podobne do tych, które używają jednego woluminu.

S Wright


-1

Jeśli zszedłeś z drzewa katalogów i chcesz wrócić, cd ..to mój osobisty faworyt. Możesz dość łatwo przeskakiwać w obrębie gałęzi drzewa, cd ..przechodząc o jeden katalog i cd ../..dwa i cd ../../..trzy itd. Możesz także przechodzić w górę i w dół innej gałęzi za pomocą tego samego polecenia, np. cd ../../exampleLub cd ../../../example/exampleitp. Dla prostego przełącznika, który idzie tam i z powrotem między katalogami cd -lub $OLDPWDsą najlepszymi zakładami, jak wspomniano w innych.


Czy jest jakiś szczególny powód, dla którego został on odrzucony? Zawiera poprawne odpowiedzi, choć może nie jedyne.
Adam Erickson,

-1

to zdecydowanie cd .. w Windows to cd .. zwróć uwagę na miejsce przed ...


Ta odpowiedź jest duplikatem tego istniejącego: superuser.com/a/1266168
karel

Spróbuj odpowiedzieć na pytanie. Również to pytanie ma już prawidłową odpowiedź.
jous

To nie daje odpowiedzi na pytanie. Gdy zdobędziesz wystarczającą reputację , będziesz mógł komentować dowolny post ; zamiast tego podaj odpowiedzi, które nie wymagają wyjaśnienia od pytającego . - Z recenzji
Dave M

-2

Myślę, że cd ..może pomóc. Jeśli zrobisz ls -aw dowolnym katalogu, zobaczysz, że istnieją dwa wpisy: jeden o nazwie „.” i inny o nazwie „..”; pojedyncza kropka odnosi się do katalogu, w którym już jesteś, a podwójna oznacza poprzedni katalog na ścieżce.


22
..to nie poprzedni katalog, to tylko katalog nadrzędny.
Der Hochstapler,

4
Ta odpowiedź zawiera przydatne informacje, nawet jeśli nie odpowiada poprawnie na pytanie. Dlatego gromadzenie negatywnych głosów nie ma sensu, głosowałem za wysiłek.
Titou

1
To nie jest Berkley, nie ma specjalnych nagród za udział
nathanchere
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.