GNU/Linux >> Linux Esercitazione >  >> Linux

Come navigare nelle directory più velocemente in Linux

Oggi impareremo alcuni hack per la produttività della riga di comando. Come già sai, utilizziamo il comando "cd" per spostarci tra una pila di directory in sistemi operativi simili a Unix. In questa guida ti insegnerò come navigare più velocemente nelle directory in Linux senza dover usare spesso il comando "cd". Potrebbero esserci molti modi, ma al momento conosco solo i seguenti cinque metodi! Continuerò ad aggiornare questa guida quando mi imbatterò in metodi o utilità per svolgere questo compito nei giorni a venire.

Cinque diversi metodi per navigare più velocemente nelle directory in Linux

Metodo 1:utilizzo dei comandi "Pushd", "Popd" e "Dirs"

Questo è il metodo più frequente che uso ogni giorno per navigare tra una pila di directory. I comandi "Pushd", "Popd" e "Dirs" sono preinstallati nella maggior parte delle distribuzioni Linux, quindi non preoccuparti dell'installazione. Questi tre comandi sono molto utili quando si lavora in una struttura di directory profonda e script. Per maggiori dettagli, consulta la nostra guida nel link riportato di seguito.

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

Metodo 2:utilizzo dell'utilità "bd"

L'utilità "bd" ti aiuta anche a tornare rapidamente a una directory padre specifica senza dover digitare ripetutamente "cd ../../." sulla tua Bash.

Bd è disponibile anche in Debian extra e Universo Ubuntu repository. Quindi, puoi installarlo usando il gestore di pacchetti "apt-get" in Debian, Ubuntu e altri sistemi basati su DEB come mostrato di seguito:

$ sudo apt-get update
$ sudo apt-get install bd

Per altre distribuzioni, puoi installare come mostrato di seguito.

$ sudo wget --no-check-certificate -O /usr/local/bin/bd https://raw.github.com/vigneshwaranr/bd/master/bd
$ sudo chmod +rx /usr/local/bin/bd
$ echo 'alias bd=". bd -si"'>> ~/.bashrc
$ sorgente ~/.bashrc

Per abilitare il completamento automatico, esegui:

$ sudo wget -O /etc/bash_completion.d/bd https://raw.github.com/vigneshwaranr/bd/master/bash_completion.d/bd
$ sorgente /etc/bash_completion.d/bd

L'utilità Bd è stata ora installata. Vediamo alcuni esempi per capire come spostarsi rapidamente attraverso la pila di directory utilizzando questo strumento.

Crea delle directory.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

Il comando precedente creerà una gerarchia di directory. Controlliamo la struttura delle directory usando il comando:

$ albero dir1/ dir1/└── dir2 └── dir3 └── dir4 └── dir5 └── dir6 └── dir7 └── dir8 └── dir9 └── dir09 files 

Bene, ora abbiamo 10 directory. Diciamo che sei attualmente nella 7a directory, ovvero dir7.

$ pwd /home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Vuoi passare a dir3. Normalmente dovresti digitare:

$ cd /home/sk/dir1/dir2/dir3

Giusto? sì! Ma non è necessario però! Per tornare alla dir3, digita:

$ bd dir3

Ora sarai in dir3.

Naviga più velocemente nelle directory in Linux usando l'utilità "bd"

Facile, non è vero? Supporta il completamento automatico, quindi puoi semplicemente digitare il nome parziale di una directory e premere il tasto Tab per completare automaticamente il percorso completo.

Per controllare il contenuto di una specifica directory principale, non è necessario che si trovi all'interno di quella particolare directory. Invece, digita semplicemente:

$ ls `bd dir1`

Il comando precedente visualizzerà il contenuto di dir1 dalla directory di lavoro corrente.

Per maggiori dettagli, controlla la seguente pagina GitHub.

  • repository bd GitHub

Metodo 3:utilizzo dello script Shell "Su"

"Up" è uno script di shell che ti consente di spostarti rapidamente nella directory principale. Funziona bene su molte shell popolari come Bash, Fish e Zsh ecc. Anche l'installazione è assolutamente semplice!

Per installare "Up" su Bash , esegui i seguenti comandi un arrivederci:

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh'>> ~/.bashrc

Lo script up registra la funzione "up" e alcune funzioni di completamento tramite il file ".bashrc".

Aggiorna le modifiche usando il comando:

$ sorgente ~/.bashrc

Su zsh :

$ curl --create-dirs -o ~/.config/up/up.sh https://raw.githubusercontent.com/shannonmoeller/up/master/up.sh
$ echo 'source ~/.config/up/up.sh'>> ~/.zshrc

Lo script up registra la funzione "up" e alcune funzioni di completamento tramite il file ".zshrc".

Aggiorna le modifiche usando il comando:

$ sorgente ~/.zshrc

Su pesce :

$ curl --create-dirs -o ~/.config/up/up.fish https://raw.githubusercontent.com/shannonmoeller/up/master/up.fish
$ sorgente ~/.config/up/up.fish

Lo script up registra la funzione "up" e alcune funzioni di completamento tramite "funcsave".

Ora è il momento di vedere alcuni esempi.

Creiamo alcune directory.

$ mkdir -p dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dir10

Diciamo che sei nella 7a directory, ovvero dir7.

$ pwd /home/sk/dir1/dir2/dir3/dir4/dir5/dir6/dir7

Vuoi passare a dir3. Usando il comando "cd", possiamo farlo digitando il seguente comando:

$ cd /home/sk/dir1/dir2/dir3

Ma è davvero facile tornare alla directory 3 usando lo script "up":

$ su dir3

Questo è tutto. Ora sarai in dir3. Per salire di una directory, digita:

$ su 1

Per tornare indietro di due tipi di directory:

$ su 2

È così semplice. Ho digitato il percorso completo? No. Inoltre supporta il completamento delle schede. Quindi digita il nome parziale della directory e premi la scheda per completare il percorso completo.

Per maggiori dettagli, controlla la pagina GitHub.

  • Su repository GitHub

Tieni presente che gli strumenti "bd" e "up" possono solo aiutarti a tornare indietro, ad esempio alla directory principale della directory di lavoro corrente. Non puoi andare avanti. Se vuoi passare a dir10 da dir5, non puoi! Invece, devi usare il comando "cd" per passare alla dir10. Queste due utilità sono pensate per spostarti rapidamente nella directory principale!

Metodo 4:utilizzo dello strumento "Scorciatoia"

Questo è un altro metodo utile per passare da una directory all'altra in modo rapido e semplice. Questo è in qualche modo simile a alias comando. In questo metodo, creiamo collegamenti alle directory utilizzate di frequente e utilizziamo il nome del collegamento per accedere a quella rispettiva directory senza dover digitare il percorso. Se stai lavorando in una struttura di directory profonda e in uno stack di directory, questo metodo farà risparmiare molto tempo. Puoi scoprire come funziona nella guida fornita di seguito.

  • Crea collegamenti alle directory utilizzate di frequente nella tua shell

Metodo 5:utilizzo della variabile d'ambiente "CDPATH"

Questo metodo non richiede alcuna installazione. PERCORSO CD è una variabile d'ambiente. È in qualche modo simile a PATH variabile che contiene molti percorsi diversi concatenati usando ':' (colon). La principale differenza tra le variabili PATH e CDPATH è che la variabile PATH è utilizzabile con tutti i comandi mentre CDPATH funziona solo per cd comando.

Ho la seguente struttura di directory.

Struttura della directory

Come puoi vedere, ci sono quattro directory figlio in una directory padre denominata "otechnix".

Ora aggiungi questa directory padre a CDPATH usando il comando:

$ export CDPATH=~/otechnix

Ora puoi istantaneamente cd nelle sottodirectory della directory principale (cioè ~/otechnix nel nostro caso) da qualsiasi punto del filesystem.

Ad esempio, attualmente sono in /var/mail/ posizione.

output del comando pwd

Per cd in ~/otechnix/Linux/ directory, non è necessario utilizzare il percorso completo della directory come mostrato di seguito:

$ cd ~/otechnix/Linux

Invece, menziona semplicemente il nome della sottodirectory in cui vuoi passare:

$ cd Linux

Verrà automaticamente eseguito il cd su ~/otechnix/Linux directory all'istante.

cdpath variabile d'ambiente

Come puoi vedere nell'output sopra, non ho usato "cd ". Invece, ho appena usato il comando "cd ".

Si noti che CDPATH ti consentirà di navigare rapidamente in una sola directory figlio della directory padre impostata nella variabile CDPATH. Non aiuta molto per navigare in una pila di directory (directory all'interno di sottodirectory, ovviamente).

Per trovare i valori della variabile CDPATH, eseguire:

$ echo $CDPATH

L'output di esempio sarebbe:

/home/sk/otechnix

Imposta più valori su CDPATH

Simile alla variabile PATH, possiamo anche impostare più valori (più di una directory) su CDPATH separati da due punti (:).

$ export CDPATH=.:~/otechnix:/etc:/var:/opt

Rendi persistenti le modifiche

Come già sai, il comando sopra (esporta) manterrà solo i valori di CDPATH fino al prossimo riavvio. Per impostare in modo permanente i valori di CDPATH, aggiungili al tuo ~/.bashrc o ~/.bash_profile file.

$ vi ~/.bash_profile

Aggiungi i valori:

esporta CDPATH=.:~/otechnix:/etc:/var:/opt

Premi ESC chiave e digita :wq per salvare ed uscire.

Applica le modifiche usando il comando:

$ sorgente ~/.bash_profile

Cancella CDPATH

Per cancellare i valori di CDPATH, usa export CDPATH=”” . Oppure, elimina semplicemente l'intera riga da ~/.bashrc o ~/.bash_profile file.

In questo articolo, hai imparato i diversi modi per navigare nello stack di directory più velocemente e più facilmente in Linux. Come puoi vedere, non è così difficile sfogliare più velocemente una pila di directory. Ora smetti di digitare "cd ../../.." all'infinito usando questi strumenti. Se conosci altri strumenti o metodi che vale la pena provare per navigare più velocemente nelle directory, non esitare a farcelo sapere nella sezione commenti qui sotto. Li esaminerò e li aggiungerò in questa guida.


Linux
  1. Come cercare e rimuovere le directory in modo ricorsivo su Linux

  2. Come rinominare una directory su Linux

  3. Come eseguire il looping delle directory in Linux?

  4. Come elencare in modo ricorsivo le directory in C su Linux?

  5. Vai su diverse directory in Linux

Come rinominare le directory in Linux

Come confrontare le directory con Meld su Linux

Come creare directory da un file di testo in Linux

Come trovare ed eliminare directory vuote in Linux

Come Gzip file di grandi dimensioni (100 GB+) più velocemente in Linux

Come elencare solo le directory in Linux