Come posso annullare l'ultimo comando cd?


77

C'è un modo per tornare alla directory di lavoro precedente dopo aver eseguito una cddirectory diversa?

Il mio caso d'uso è che sto attraversando una struttura di directory per un progetto Java e mi aspetto che la directory corrente abbia una sola sottodirectory. Quindi, scrivo cde premo Tabe Enterpiuttosto rapidamente. Tuttavia, il Tabfallimento, come mi aspettavo erroneamente una sottodirectory, quando in realtà ce ne sono di più. Così ora, ho appena eseguito cd, e ora sono nella mia directory home, invece del progetto Java. C'è un modo per "annullare" questo cde tornare alla directory in cui mi trovavo?

Risposte:


130

È possibile utilizzare cd -per tornare alla posizione precedente, indipendentemente da dove si trovasse.


10
Bene ... anche dopo anni su Ubuntu non lo sapevo. Grazie
andybleaden,

19

cd - è ottimo per tornare indietro di un livello, ma se ti ritrovi a voler tornare indietro di alcuni livelli, dai un'occhiata a questo script:

acd_func.sh

È ottimo. cd --per visualizzare la cronologia e cd -3per tornare indietro di 3 livelli, ad esempio.


Wow ... un link geocities. Ora c'è un URL che non vedo da molto tempo. <insert JPG Obi-wan>
Michael Butler,

1
l' essenza di questo commento. <jpg Yoda insert>
Donbhupi,

15

È inoltre possibile utilizzare pushde popdutilizzare lo stack di directory :)

Alcune informazioni qui


5

Inoltre, cd ..può riportarti alla directory principale della directory di lavoro e quindi, se necessario, il comando può essere ripetuto fino a raggiungere il punto desiderato. In effetti, ogni volta che viene evocato ti riporta indietro attraverso l'albero delle directory, che alla fine finirebbe con /(la directory principale) se continuassi a ripetere il comando.

Al contrario , in cd -realtà rende la directory di lavoro precedente la directory di lavoro corrente, (che è nota come .), e con quale posizione esatta è possibile trovare nel filesystem pwd.

Così sia cd ..e cd - può essere utile in diverse circostanze durante la navigazione l'albero delle directory, anche se lo fanno differiscono nei riguardi di cui sopra. Forse il comando più utile dopo cdesserti divertito a sperimentare con questi due comandi è , che ti riporta alla cartella principale.


-1

Il modo migliore per farlo per tornare indietro è cd -, tuttavia, se si desidera saltare molti livelli contemporaneamente, è meglio utilizzarlo cd ..per un livello cd ../.., per due, cd ../../..per tre e via ... un bel modo per farlo velocemente è questo script:

#!/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
L'esecuzione cdin uno script non influisce sulla shell padre. Dovresti metterlo in una funzione shell perché sia ​​utile.
wjandrea,

in questo modo:up(){ local n="$1"; while ((n--)); do path+='../'; done; cd "$path"; }
wjandrea,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.