Come posso annullare l'ultimo comando cd?

77

C'è un modo per tornare alla precedente directory di lavoro dopo aver fatto un cd in una directory 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 solo una sottodirectory. Quindi, digito cd e premo Tab e Invio piuttosto rapidamente. Tuttavia, la Tab non è riuscita, poiché ho erroneamente previsto una sottodirectory, quando in realtà ce ne sono altre. Così ora ho appena eseguito cd e ora sono nella mia home directory, invece del progetto Java. C'è un modo per "annullare" questo cd e tornare alla directory in cui ero?

    
posta nickb 16.07.2012 - 20:18

5 risposte

125

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

    
risposta data ImaginaryRobots 16.07.2012 - 20:22
19

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

acd_func.sh

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

    
risposta data Dean 17.07.2012 - 03:04
15

Puoi anche utilizzare pushd e popd per utilizzare lo stack di directory:)

Alcune informazioni qui

    
risposta data Sinan Bolel 17.07.2012 - 00:19
5

Inoltre, cd .. può portarti indietro nella directory genitore della directory di lavoro e quindi, se necessario, il comando può essere ripetuto fino a quando non arrivi dove vuoi essere. Infatti, ogni volta che viene evocato, ti riporta indietro attraverso l'albero delle directory, che alla fine termina con / (la directory root) se hai continuato a ripetere il comando.

In contrasto , cd - rende effettivamente la directory di lavoro precedente la directory di lavoro corrente, (che è nota come . ) e quale posizione esatta nel filesystem può essere trovata con pwd .

Quindi sia cd .. che cd - possono essere utili in circostanze diverse quando si naviga nell'albero delle directory, anche se differiscono nei suddetti rispetti. Forse il comando più utile dopo aver divertito a sperimentare con questi due comandi è cd , che ti riporta alla cartella principale.

    
risposta data user76204 10.08.2012 - 22:50
-1

Il modo migliore per tornare indietro è cd - , tuttavia se vuoi saltare molti livelli contemporaneamente, usa meglio cd .. per un livello, cd ../.. , per due, cd ../../.. per tre e uno ... 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
    
risposta data user258456 02.06.2015 - 21:19

Leggi altre domande sui tag