GNU/Linux >> Linux Esercitazione >  >> Linux

6 fantastici hack del comando cd di Linux – Suggerimento sulla produttività n. 3 per i geek

Questo articolo fa parte della serie di Productivity Tips for Geeks in corso. cd è uno dei comandi più utilizzati durante una sessione Unix. In questo articolo, ho fornito 6 hack del comando cd, che aumenteranno istantaneamente la tua produttività e renderanno più facile navigare nella struttura delle directory dalla riga di comando.

Hack n. 1:usa CDPATH per definire la directory di base per il comando cd

Se esegui spesso cd nelle sottodirectory di una specifica directory principale, puoi impostare CDPATH sulla directory principale ed eseguire cd nelle sottodirectory senza fornire il percorso della directory principale come spiegato di seguito.

[ramesh@dev-db ~]# pwd
/home/ramesh

[ramesh@dev-db ~]# cd mail
-bash: cd: mail: No such file or directory
[Note: This is looking for mail directory under current directory]

[ramesh@dev-db ~]# export CDPATH=/etc
[ramesh@dev-db ~]# cd mail
[Note: This is looking for mail under /etc and not under current directory]

[ramesh@dev-db /etc/mail]# pwd
/etc/mail

Per rendere permanente questa modifica, aggiungi export CDPATH=/etc al tuo ~/.bash_profile

Questo hack può essere molto utile nelle seguenti situazioni:

  • I DBA Oracle che lavorano spesso sotto $ORACLE_HOME, possono impostare la variabile CDPATH sulla home di Oracle
  • Gli amministratori di sistema Unix che lavorano spesso in /etc, possono impostare la variabile CDPATH su /etc
  • Gli sviluppatori che lavorano spesso nella directory di progetto /home/projects, possono impostare la variabile CDPATH su /home/projects
  • Gli utenti finali che accedono frequentemente alle sottodirectory nella loro home directory, possono impostare la variabile CDPATH su ~ (home directory)

Hack n. 2:usa l'alias cd per navigare in modo efficace nella directory

Quando stai navigando su una struttura di directory molto lunga, potresti usare cd ..\..\ con più ..\ a seconda di quante directory vuoi salire come mostrato di seguito.

# mkdir -p /tmp/very/long/directory/structure/that/is/too/deep

# cd /tmp/very/long/directory/structure/that/is/too/deep
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

# cd ../../../../
# pwd
/tmp/very/long/directory/structure

Invece di eseguire cd ../../../.. per salire di quattro livelli, usa uno dei seguenti metodi alias:

Naviga nella directory usando ..n : Nell'esempio seguente, ..4 viene utilizzato per salire di 4 livelli di directory, ..3 per salire di 3 livelli di directory, ..2 per salire di 2 livelli di directory. Aggiungi il seguente alias a .bash_profile ed esegui nuovamente il login.

alias ..="cd .."
alias ..2="cd ../.."
alias ..3="cd ../../.."
alias ..4="cd ../../../.."
alias ..5="cd ../../../../.."

# cd /tmp/very/long/directory/structure/that/is/too/deep
#..4
[Note: use ..4 to go up 4 directory level]
# pwd
/tmp/very/long/directory/structure/


Naviga nella directory usando solo punti: Nell'esempio seguente, ….. (cinque punti) viene utilizzato per salire di 4 livelli di directory. Digitare 5 punti per salire su 4 strutture di directory è davvero facile da ricordare, poiché quando digiti i primi due punti, stai pensando che "salire di una directory", dopodiché ogni punto aggiuntivo, è salire di un livello. Quindi, usa .... (quattro punti) per salire di 3 livelli di directory e .. (due punti) per salire di 1 livello di directory. Aggiungi il seguente alias a .bash_profile e accedi nuovamente affinché ….. (cinque punti) funzioni correttamente.

alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ......="cd ../../../../.."

# cd /tmp/very/long/directory/structure/that/is/too/deep
# .....
[Note: use ..... (five dots) to go up 4 directory level]
# pwd
/tmp/very/long/directory/structure/


Naviga nella directory utilizzando cd seguito da punti consecutivi: Nell'esempio seguente, cd….. (cd seguito da cinque punti) viene utilizzato per salire di 4 livelli di directory. Fare 5 punti per salire su una struttura di 4 directory è davvero facile da ricordare, poiché quando digiti i primi due punti, stai pensando che "salire di una directory", dopodiché ogni punto aggiuntivo, è salire di un livello. Allora usa cd... (cd seguito da quattro punti) per salire di 3 livelli di directory e cd… (cd seguito da tre punti) per salire di 2 livelli di directory. Aggiungi il seguente alias a .bash_profile e riesegui il login affinché il cd sopra….. (cinque punti) funzioni correttamente.

alias cd..="cd .."
alias cd...="cd ../.."
alias cd....="cd ../../.."
alias cd.....="cd ../../../.."
alias cd......="cd ../../../../.."

# cd /tmp/very/long/directory/structure/that/is/too/deep
# cd.....
[Note: use cd..... to go up 4 directory level]
# pwd
/tmp/very/long/directory/structure

Hack #3:esegui mkdir e cd usando un solo comando

A volte, quando crei una nuova directory, puoi eseguire immediatamente il cd nella nuova directory per eseguire alcune operazioni come mostrato di seguito.

# mkdir -p /tmp/subdir1/subdir2/subdir3
# cd /tmp/subdir1/subdir2/subdir3
# pwd
/tmp/subdir1/subdir2/subdir3

Non sarebbe bello combinare sia mkdir che cd in un unico comando? Aggiungi quanto segue a .bash_profile ed esegui nuovamente il login.

function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }

Ora, esegui sia mkdir che cd contemporaneamente usando un singolo comando come mostrato di seguito:

# mkdircd /tmp/subdir1/subdir2/subdir3
[Note: This creates the directory and cd to it automatically]
# pwd
/tmp/subdir1/subdir2/subdir3

Hack n. 4:usa "cd -" per passare da una directory all'altra

Puoi alternare tra le ultime due directory correnti usando cd, come mostrato di seguito.

# cd /tmp/very/long/directory/structure/that/is/too/deep
# cd /tmp/subdir1/subdir2/subdir3

# cd -
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

# cd -
# pwd
/tmp/subdir1/subdir2/subdir3

# cd -
# pwd
/tmp/very/long/directory/structure/that/is/too/deep

Nota :puoi anche sostituire un argomento di altri comandi nella cronologia al comando cd usando gli esempi n. 12 e n. 13 menzionati nell'articolo sugli esempi di cronologia della riga di comando.

Hack n. 5:usa dirs, pushd e popd per manipolare lo stack di directory

È possibile utilizzare lo stack di directory per inserire le directory in esso e successivamente estrarre la directory dallo stack. In questo esempio vengono utilizzati i seguenti tre comandi.

  • dirs:mostra lo stack di directory
  • pushd:inserisce la directory nello stack
  • popd:Pop la directory dallo stack e cd su di essa

Dirs stamperà sempre la directory corrente seguita dal contenuto dello stack. Anche quando lo stack di directory è vuoto, il comando dirs stamperà comunque solo la directory corrente come mostrato di seguito.

# popd
-bash: popd: directory stack empty

# dirs
~

# pwd
/home/ramesh

Come usare pushd e popd? Creiamo prima alcune directory temporanee e le inseriamo nello stack di directory come mostrato di seguito.

# mkdir /tmp/dir1
# mkdir /tmp/dir2
# mkdir /tmp/dir3
# mkdir /tmp/dir4

# cd /tmp/dir1
# pushd .

# cd /tmp/dir2
# pushd .

# cd /tmp/dir3
# pushd .

# cd /tmp/dir4
# pushd .

# dirs
/tmp/dir4 /tmp/dir4 /tmp/dir3 /tmp/dir2 /tmp/dir1
[Note: The first directory (/tmp/dir4) of the dir command output is always
          the current directory and not the content from the stack.]

In questa fase, lo stack di directory contiene le seguenti directory:

/tmp/dir4
/tmp/dir3
/tmp/dir2
/tmp/dir1

L'ultima directory che è stata inserita nello stack sarà in cima. Quando esegui popd, verrà eseguito il cd sulla voce di directory in alto nello stack e lo rimuoverà dallo stack. Come mostrato sopra, l'ultima directory che è stata inserita nello stack è /tmp/dir4. Quindi, quando eseguiamo un popd, verrà eseguito il cd nella /tmp/dir4 e lo rimuoverà dallo stack di directory come mostrato di seguito.

# popd
# pwd
/tmp/dir4

[Note: After the above popd, directory Stack Contains:
/tmp/dir3
/tmp/dir2
/tmp/dir1]

# popd
# pwd
/tmp/dir3

[Note: After the above popd, directory Stack Contains:

/tmp/dir2
/tmp/dir1]

# popd
# pwd
/tmp/dir2

[Note: After the above popd, directory Stack Contains: /tmp/dir1]

# popd
# pwd
/tmp/dir1

[Note: After the above popd, directory Stack is empty!]

# popd
-bash: popd: directory stack empty

Hack n. 6:usa "shopt -s cdspell" per correggere automaticamente i nomi di directory digitati in modo errato su cd

Usa shopt -s cdspell per correggere automaticamente gli errori di battitura nel comando cd come mostrato di seguito. Se non sei bravo a digitare e commetti molti errori, questo sarà molto utile.

# cd /etc/mall
-bash: cd: /etc/mall: No such file or directory

# shopt -s cdspell
# cd /etc/mall
# pwd
/etc/mail
[Note: By mistake, when I typed mall instead of mail,
          cd corrected it automatically]


Se questo articolo ti è piaciuto, aggiungilo ai segnalibri su del.icio.us , e inciampalo .


Linux
  1. 8 suggerimenti per la riga di comando di Linux

  2. 5 app di produttività per Linux

  3. 20 fantastici esempi di comandi Nmap in Linux

  4. Comando killall Linux per principianti (8 esempi)

  5. Suggerimenti per la riga di comando di Linux per aumentare la produttività

Esercitazione sui comandi OD Linux per principianti (6 esempi)

Linux w Command Tutorial per principianti (5 esempi)

Tutorial sui comandi Linux ss per principianti (8 esempi)

Comando di localizzazione Linux per principianti (8 esempi)

16 Esempi pratici di comando Linux LS per principianti

Scorciatoie, suggerimenti e hack di produttività per Linux VI Editor per principianti