Jak mogę cofnąć ostatnie polecenie cd?

77

Czy jest jakiś sposób na powrót do poprzedniego katalogu roboczego po wykonaniu cdinnego katalogu?

Mój przypadek użycia polega na tym, że przeglądam strukturę katalogów dla projektu Java i oczekuję, że bieżący katalog ma tylko jeden podkatalog. Więc piszę cdi uderzam Tabi Enterraczej szybko. Jednak Tabzawiodło, jak błędnie oczekiwałem jednego podkatalogu, gdy w rzeczywistości jest ich więcej. Więc teraz właśnie wykonałem cdi jestem teraz w moim katalogu domowym, zamiast projektu Java. Czy istnieje sposób na „cofnięcie” tego cdi powrót do katalogu, w którym byłem?

nickb
źródło

Odpowiedzi:

130

Możesz użyć, cd -aby wrócić do poprzedniej lokalizacji, bez względu na to, gdzie to było.

ImaginaryRobots
źródło
10
Cóż ... nawet po latach na Ubuntu nie wiedziałem o tym. Dzięki
andybleaden
19

cd - jest świetny do cofania się o jeden poziom, ale jeśli chcesz cofnąć się o kilka poziomów, sprawdź ten skrypt:

acd_func.sh

Wspaniale. cd --na przykład, aby zobaczyć swoją historię i cd -3cofnąć się o 3 poziomy.

Dziekan
źródło
Wow ... link do geocities. Teraz jest adres URL, którego nie widziałem od dłuższego czasu. <wstaw JPK Obi-wan>
Michael Butler
1
Istotą tego komentarza. <jpg Wstaw Yoda>
Donbhupi
15

Możesz także użyć pushdi popdwykorzystać stos katalogów :)

Kilka informacji tutaj

Sinan Bolel
źródło
5

Ponadto cd ..może zabrać Cię z powrotem do katalogu nadrzędnego katalogu roboczego, a następnie w razie potrzeby komendę można powtarzać, aż dojdziesz do miejsca, w którym chcesz się znaleźć. W rzeczywistości, za każdym razem, gdy jest wywoływane, zabiera cię z powrotem przez drzewo katalogów, które ostatecznie kończyłyby się na /(katalogu głównym) , gdybyś ciągle powtarzał polecenie.

W przeciwieństwie do tego , cd -w rzeczywistości sprawia, że poprzedni katalog roboczy bieżącego katalogu roboczego, (który jest znany jako .) i które dokładnej lokalizacji w systemie plików można znaleźć w pwd.

Więc zarówno cd ..i cd - mogą być przydatne w różnych okolicznościach podczas nawigacji drzewo katalogów, choć nie różnią się w wyżej wymienionych aspektach. Być może najbardziej użytecznym poleceniem po dobrej zabawie z eksperymentowaniem z tymi dwoma poleceniami jest cdpowrót do katalogu domowego.


źródło
-1

Najlepszym sposobem na to, aby wrócić, jest cd -jednak to , że jeśli chcesz pominąć wiele poziomów na raz, lepiej użyć cd ..jednego poziomu, cd ../..dwóch, cd ../../..trzech i dalej ... fajnym sposobem na to szybko jest to scenariusz:

#!/bin/bash
printf "Number of folders to move back: "
read TIMES
BACKCHARS=../
BACK=$(for i in `seq $TIMES`; do printf $BACKCHARS; done)
cd $BACK
użytkownik258456
źródło
1
Uruchomienie cdw skrypcie nie wpływa na powłokę nadrzędną. Aby był przydatny, musisz umieścić to w funkcji powłoki.
wjandrea 28.04.17
jak to:up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
wjandrea 28.04.17