androide

Comandi pushd e popd in linux

COMANDI CMD: FSUTIL - MD - MKLINK - ECHO - REN ~ Lezione 15 Batch

COMANDI CMD: FSUTIL - MD - MKLINK - ECHO - REN ~ Lezione 15 Batch

Sommario:

Anonim

pushd e popd sono comandi che consentono di lavorare con lo stack di directory e modificare l'attuale directory di lavoro in Linux e altri sistemi operativi simili a Unix. Sebbene pushd e popd siano comandi molto potenti e utili, sono sottovalutati e usati raramente.

In questo tutorial, ti mostreremo come usare i comandi pushd e popd per navigare nell'albero delle directory del tuo sistema.

Stack di directory

Lo stack di directory è un elenco di directory in cui è stata precedentemente esplorata. Il contenuto dello stack di directory può essere visualizzato utilizzando il comando dirs . Le directory vengono aggiunte allo stack quando si passa a una directory utilizzando il comando pushd e vengono rimosse con il comando popd .

La directory di lavoro corrente è sempre in cima allo stack di directory. La directory di lavoro corrente è la directory (cartella) in cui l'utente sta attualmente lavorando. Ogni volta che interagisci con la riga di comando, lavori all'interno di una directory.

Il comando pwd ti consente di scoprire in quale directory ti trovi attualmente.

Durante la navigazione nel file system, utilizzare il tasto Tab per completare automaticamente i nomi delle directory. L'aggiunta di una barra alla fine del nome della directory è facoltativa.

pushd , popd e popd sono builtin della shell e il suo comportamento può differire leggermente da shell a shell. Tratteremo la versione integrata di Bash dei comandi.

Comando pushd

La sintassi per il comando pushd è la seguente:

pushd

Ad esempio, per salvare la directory corrente nella parte superiore dello stack di directory e passare a /var/www , digitare:

~$ pushd /var/www

In caso di successo, il comando sopra stampa lo stack di directory. ~ è la directory in cui abbiamo eseguito il comando pushd . Il simbolo tilde ~ significa home directory.

/var/www ~

pushd prima salva la directory di lavoro corrente nella parte superiore dello stack e quindi passa alla directory specificata. Poiché la directory corrente deve essere sempre in cima allo stack, una volta modificata la nuova directory corrente passa in cima allo stack ma non viene salvata nello stack. Per salvarlo devi invocare pushd da esso. Se usi cd per passare a un'altra directory, l'elemento superiore dello stack andrà perso,

Aggiungiamo un'altra directory allo stack:

/var/www$ pushd /opt

/opt /var/www ~

Per eliminare la modifica predefinita alla directory, utilizzare l'opzione -n . Ad esempio, per aggiungere la /usr/local allo stack ma non cambiarvi, dovresti digitare:

/opt$ pushd -n /usr/local

Poiché la directory corrente (che è sempre nella parte superiore) non viene modificata, la /usr/local viene aggiunta seconda dalla parte superiore dello stack:

/opt /usr/local /var/www ~

Il pushd accetta due opzioni, +N e -N che consente di navigare Nth directory dello stack. L'opzione +N cambia Nth elemento dell'elenco di stack contando da sinistra a destra a partire da zero. Quando si utilizza -N la direzione del conteggio va da destra a sinistra.

Per illustrare meglio le opzioni, stampiamo lo stack di directory corrente:

/opt$ dirs -l -v

L'output mostrerà un elenco indicizzato dello stack di directory:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Quando si conta dall'alto verso il basso (o da sinistra a destra), l'indice della directory è 2 .

pushd +2

Quando si conta dal basso verso l'alto, l'indice della directory /var/www è 1 .

pushd -1.

Se utilizzato senza alcun argomento, pushd le prime due directory e rende la nuova directory corrente. È lo stesso di quando si usa il comando cd - .

comando popd

Il comando popd ha la forma:

popd

Se utilizzato senza alcun argomento, popd rimuove la directory principale dallo stack e passa alla nuova directory principale.

Diciamo che abbiamo il seguente stack di directory:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

L'output mostrerà il nuovo stack di directory:

/usr/local /var/www /etc/nginx ~

L'opzione -n elimina la modifica della directory predefinita e rimuove il secondo elemento dallo stack:

/opt$ popd -n

/usr/local /etc/nginx ~

Come pushd , popd accetta anche le opzioni +N e -N che possono essere utilizzate per rimuovere l' Nth directory dello stack.

/opt$ popd +1

/usr/local ~

Conclusione

Normalmente, cd comando cd per spostarti da una directory all'altra. Tuttavia, se trascorri molto tempo sulla riga di comando, i comandi pushd e popd aumenteranno la tua produttività ed efficienza.

bash terminal