GNU/Linux >> Linux Esercitazione >  >> Linux

Suggerimenti per la navigazione della riga di comando di Linux:le basi dei comandi pushd e popd

Nella prima parte di questa serie, ci siamo concentrati sull'aspetto della navigazione da riga di comando in Linux, discutendo l'utilizzo del cd - comando. Sono stati discussi anche altri punti/concetti correlati. Portando ulteriormente la discussione, in questo articolo discuteremo di come puoi avere un'esperienza di navigazione più veloce sulla riga di comando di Linux usando i comandi pushd e popd.

Prima di andare avanti, vale la pena condividere che tutte le istruzioni e i comandi menzionati d'ora in poi sono stati testati su Ubuntu 14.04 e Bash shell (versione 4.3.11).

Le basi dei comandi pushd e popd

Per capire meglio cosa fanno esattamente i comandi pushd e popd, discutiamo prima il concetto di stack. Immagina un'area vuota sulla lastra della tua cucina e ora immagina un set di piatti che vuoi tenere lì. Cosa farai? Semplice, tienili uno sopra l'altro.

Quindi, alla fine dell'intero processo, il primo piatto che hai tenuto sulla lastra finisce per essere l'ultimo piatto della pila e l'ultimo piatto che avevi in ​​mano finisce per essere il primo piatto della pila. Ora, quando hai bisogno di un piatto, scegli quello che si trova in cima alla pila, lo usi e poi scegli quello successivo quando richiesto.

Simile è il concetto di comandi pushd e popd. C'è uno stack di directory sul tuo sistema Linux in cui puoi accumulare percorsi di directory per un uso futuro. Puoi visualizzare rapidamente il contenuto dello stack in qualsiasi momento utilizzando le dir comando.

Ecco un esempio che mostra l'output del comando dirs sul mio sistema subito dopo l'avvio del terminale della riga di comando:

$ dirs
~

La tilde (~) nell'output indica che lo stack di directory contiene attualmente solo la directory home dell'utente.

Andando avanti, l'operazione di memorizzazione di un percorso di directory e la sua rimozione vengono eseguite utilizzando i comandi pushd e popd. L'uso di pushd è molto semplice:passa semplicemente il percorso che desideri archiviare nello stack di directory come argomento per questo comando. Ecco un esempio:

pushd /home/himanshu/Downloads/

Quello che fa il comando sopra è, cambia la tua attuale directory di lavoro nella directory che hai passato come argomento e aggiunge anche il percorso allo stack di directory. Per rendere le cose convenienti per l'utente, il comando pushd produce il contenuto dello stack di directory nel suo output. Quindi, quando è stato eseguito il comando precedente, è stato prodotto il seguente output:

~/Downloads ~

L'output rivela che ora ci sono due percorsi di directory nello stack:uno è la directory home dell'utente e l'altro è la directory dei download dell'utente. L'ordine in cui sono mantenuti è:la directory home è in fondo e la directory dei download appena aggiunta è sopra di essa.

Per verificare che ciò che pushd sta dicendo nel suo output sia vero, puoi anche usare il comando dirs:

$ dirs
~/Downloads ~

Quindi puoi vedere che anche il comando dirs ha prodotto lo stesso output.

Emettiamo un altro paio di comandi pushd:

$ pushd /usr/lib/; pushd /home/himanshu/Desktop/
/usr/lib ~/Downloads ~
~/Desktop /usr/lib ~/Downloads ~

Quindi lo stack di directory ora contiene un totale di quattro percorsi di directory, dove la directory home (~) si trova in fondo e la directory Desktop dell'utente è in cima.

Tieni sempre presente che la testata dello stack è la directory in cui ti trovi attualmente. Ciò significa che ora la nostra directory di lavoro corrente è ~/Desktop.

Supponiamo ora di voler tornare alla directory /usr/lib, quindi tutto ciò che devi fare è eseguire il comando popd:

$ popd
/usr/lib ~/Downloads ~

Il comando popd non solo cambierà la directory corrente in /usr/lib, ma rimuoverà anche ~/Desktop dallo stack di directory, come evidente dall'output prodotto dal comando. In questo modo, il comando popd ti consentirà di navigare in queste directory nell'ordine inverso.

Alcuni punti avanzati

Ora che abbiamo discusso le basi dei comandi pushd e popd, passiamo ad altri dettagli relativi a questi comandi. Per cominciare, questi comandi ti consentono anche di manipolare lo stack di directory. Ad esempio, supponiamo che questo sia l'aspetto del tuo stack di directory:

$ dirs
~/Desktop /usr/lib ~ ~/Downloads

Ora, supponiamo che il requisito sia modificare l'ordine dei percorsi delle directory nello stack in modo che l'elemento più in alto (~/Desktop) arrivi in ​​fondo e si fermi tutti verso l'alto di un punto ciascuno. Questo può essere ottenuto usando il seguente comando:

pushd +1

Ed ecco cosa fa il comando precedente allo stack di directory:

$ dirs
/usr/lib ~ ~/Downloads ~/Desktop

Quindi vediamo che l'ordine degli elementi nello stack di directory è stato modificato e ora è lo stesso che volevamo. Naturalmente, puoi far spostare gli elementi dello stack della directory un numero qualsiasi di volte. Ad esempio, il seguente comando li sposterà due volte in alto:

$ pushd +2
~/Downloads ~/Desktop /usr/lib ~

Puoi utilizzare anche indici negativi:

$ pushd -1
/usr/lib ~ ~/Downloads ~/Desktop

Allo stesso modo, puoi usare questa tecnica con il comando popd per rimuovere qualsiasi voce dallo stack di directory senza lasciare la directory di lavoro corrente. Ad esempio, se vuoi rimuovere la terza voce dall'alto (che è ~/Download attualmente) usando popd, puoi eseguire il comando seguente:

popd +2

Tieni presente che l'indice dello stack inizia con 0, quindi abbiamo utilizzato 2 per accedere alla terza voce.

Quindi lo stack di directory ora contiene:

$ dirs
/usr/lib ~ ~/Desktop

Confermando che la voce è stata rimossa.

Se, per qualche ragione, trovi difficile ricordare l'ordine in cui gli elementi sono posizionati nello stack di directory e gli indici che portano, puoi usare l'opzione della riga di comando -v con il comando dirs. Ecco un esempio:

$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop

Come probabilmente avrai intuito, i numeri a sinistra sono indici e quello che li segue è il percorso della directory posizionato in quell'indice.

Nota :usa l'opzione della riga di comando -c con il comando dirs per cancellare lo stack di directory.

Ora discutiamo brevemente l'uso pratico dei comandi popd e pushd. Anche se a prima vista possono sembrare un po' complicati da usare, questi comandi sono utili durante la scrittura di script di shell:non è necessario ricordare da dove vieni; basta fare un popd e sei tornato alla directory da cui sei venuto.

Gli sceneggiatori esperti di solito usano questi comandi nel modo seguente:

popd >/dev/null 2>&1

Il comando di cui sopra fa in modo che popd rimanga silenzioso (non produca alcun output). Allo stesso modo, puoi anche disattivare il pushd.

I comandi pushd e popd sono utilizzati anche dagli amministratori di server Linux, che di solito si spostano continuamente tra una manciata di stesse directory. Alcuni altri casi d'uso davvero informativi sono spiegati qui.

Conclusione

D'accordo, il concetto di pushd e popd non è molto semplice. Ma tutto ciò che serve è un po' di pratica:sì, devi sporcarti le mani. Trascorri un po' di tempo con questi comandi e comincerai ad apprezzarli, soprattutto se c'è un caso d'uso in cui ti semplificano la vita.


Linux
  1. Controlla i comandi e le attività con il comando watch di Linux

  2. 8 suggerimenti per la riga di comando di Linux

  3. Usa "pushd" e "popd" per una navigazione efficiente del filesystem in Linux

  4. Suggerimenti/trucchi per la navigazione della riga di comando di Linux 3 - la variabile d'ambiente CDPATH

  5. Nozioni di base sulla riga di comando di Linux:esecuzione di comandi dalla riga di comando

Come utilizzare i comandi Pushd, Popd e Dirs per una navigazione CLI più veloce

Nozioni di base sulla riga di comando di Linux:sudo

5 comandi per visualizzare il contenuto di un file nella riga di comando di Linux

Trovare i file e le cartelle più grandi nella riga di comando di Linux

19 Suggerimenti e trucchi utili per la riga di comando di Linux

Nozioni di base sulla riga di comando di Linux:lavorare con file e directory