GNU/Linux >> LINUX-Kenntnisse >  >> Linux

6 fantastische Hacks für Linux-CD-Befehle – Produktivitätstipp Nr. 3 für Geeks

Dieser Artikel ist Teil der fortlaufenden Reihe Produktivitätstipps für Geeks. cd ist einer der am häufigsten verwendeten Befehle während einer Unix-Sitzung. In diesem Artikel habe ich 6 CD-Befehls-Hacks bereitgestellt, die Ihre Produktivität sofort steigern und die Navigation in der Verzeichnisstruktur von der Befehlszeile aus erleichtern.

Hack #1:Verwenden Sie CDPATH, um das Basisverzeichnis für den cd-Befehl zu definieren

Wenn Sie häufig cd in Unterverzeichnisse eines bestimmten übergeordneten Verzeichnisses ausführen, können Sie CDPATH auf das übergeordnete Verzeichnis setzen und cd in den Unterverzeichnissen ausführen, ohne den Pfad des übergeordneten Verzeichnisses anzugeben, wie unten beschrieben.

[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

Um diese Änderung dauerhaft zu machen, fügen Sie export CDPATH=/etc hinzu zu Ihrem ~/.bash_profile

Dieser Hack kann in den folgenden Situationen sehr hilfreich sein:

  • Oracle-DBAs, die häufig unter $ORACLE_HOME arbeiten, können die CDPATH-Variable auf das Oracle-Home setzen
  • Unix-Systemadministratoren, die häufig unter /etc arbeiten, können die CDPATH-Variable auf /etc setzen
  • Entwickler, die häufig im Projektverzeichnis /home/projects arbeiten, können die Variable CDPATH auf /home/projects setzen
  • Endbenutzer, die häufig auf die Unterverzeichnisse unter ihrem Home-Verzeichnis zugreifen, können die CDPATH-Variable auf ~ (Home-Verzeichnis) setzen

Hack Nr. 2:Verwenden Sie den cd-Alias, um effektiv im Verzeichnis nach oben zu navigieren

Wenn Sie in einer sehr langen Verzeichnisstruktur nach oben navigieren, verwenden Sie möglicherweise cd ..\..\ mit mehreren ..\’s, je nachdem, wie viele Verzeichnisse Sie nach oben gehen möchten, wie unten gezeigt.

# 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

Anstatt cd ../../../.. auszuführen, um vier Ebenen nach oben zu navigieren, verwenden Sie eine der folgenden Alias-Methoden:

Navigieren Sie im Verzeichnis nach oben mit ..n : Im Beispiel unten wird ..4 verwendet, um 4 Verzeichnisebenen nach oben zu gehen, ..3, um 3 Verzeichnisebenen nach oben zu gehen, ..2, um 2 Verzeichnisebenen nach oben zu gehen. Fügen Sie den folgenden Alias ​​zu .bash_profile hinzu und melden Sie sich erneut an.

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/


Navigieren Sie im Verzeichnis nach oben, indem Sie nur Punkte verwenden: Im Beispiel unten wird ….. (fünf Punkte) verwendet, um 4 Verzeichnisebenen nach oben zu gehen. Die Eingabe von 5 Punkten, um die 4-Verzeichnisstruktur nach oben zu gehen, ist wirklich leicht zu merken, denn wenn Sie die ersten beiden Punkte eingeben, denken Sie:„Ein Verzeichnis nach oben gehen“, danach bedeutet jeder weitere Punkt, eine Ebene nach oben zu gehen. Also nutze …. (vier Punkte), um 3 Verzeichnisebenen nach oben zu gehen und .. (zwei Punkte), um 1 Verzeichnisebene nach oben zu gehen. Fügen Sie den folgenden Alias ​​zu .bash_profile hinzu und melden Sie sich erneut an, damit ….. (fünf Punkte) ordnungsgemäß funktioniert.

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/


Navigieren Sie im Verzeichnis nach oben, indem Sie cd gefolgt von aufeinanderfolgenden Punkten verwenden: Im Beispiel unten wird cd….. (cd gefolgt von fünf Punkten) verwendet, um 4 Verzeichnisebenen nach oben zu gehen. Es ist wirklich einfach, sich 5 Punkte zu machen, um die 4-Verzeichnisstruktur nach oben zu gehen, denn wenn Sie die ersten beiden Punkte eingeben, denken Sie, dass Sie „ein Verzeichnis nach oben“ eingeben, danach bedeutet jeder weitere Punkt, eine Ebene nach oben zu gehen. Also CD verwenden…. (cd gefolgt von vier Punkten) um 3 Verzeichnisebenen nach oben zu gehen und cd… (cd gefolgt von drei Punkten) um 2 Verzeichnisebenen nach oben zu gehen. Fügen Sie den folgenden Alias ​​zu .bash_profile hinzu und melden Sie sich erneut an, damit die obige CD … (fünf Punkte) ordnungsgemäß funktioniert.

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:Führen Sie mkdir und cd mit einem einzigen Befehl aus

Wenn Sie ein neues Verzeichnis erstellen, können Sie manchmal sofort in das neue Verzeichnis wechseln, um einige Arbeiten auszuführen, wie unten gezeigt.

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

Wäre es nicht schön, sowohl mkdir als auch cd in einem einzigen Befehl zu kombinieren? Fügen Sie Folgendes zu .bash_profile hinzu und melden Sie sich erneut an.

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

Führen Sie nun mkdir und cd gleichzeitig mit einem einzigen Befehl aus, wie unten gezeigt:

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

Hack #4:Verwenden Sie „cd -“, um zwischen den letzten beiden Verzeichnissen umzuschalten

Sie können zwischen den letzten beiden aktuellen Verzeichnissen mit cd umschalten – wie unten gezeigt.

# 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

Hinweis :Sie können den Befehl cd auch durch ein Argument aus anderen Befehlen im Verlauf ersetzen, indem Sie die Beispiele Nr. 12 und Nr. 13 verwenden, die im Artikel mit den Beispielen für den Befehlszeilenverlauf erwähnt werden.

Hack #5:Verwenden Sie dirs, pushd und popd, um den Verzeichnisstapel zu manipulieren

Sie können den Verzeichnisstapel verwenden, um Verzeichnisse hineinzuschieben und später Verzeichnisse aus dem Stapel zu entfernen. In diesem Beispiel werden die folgenden drei Befehle verwendet.

  • dirs:Zeigt den Verzeichnisstapel an
  • pushd:Verzeichnis in den Stapel schieben
  • popd:Pop-Verzeichnis vom Stack und cd dorthin

Dirs gibt immer das aktuelle Verzeichnis aus, gefolgt vom Inhalt des Stacks. Selbst wenn der Verzeichnisstapel leer ist, druckt der dirs-Befehl immer noch nur das aktuelle Verzeichnis, wie unten gezeigt.

# popd
-bash: popd: directory stack empty

# dirs
~

# pwd
/home/ramesh

Wie verwende ich pushd und popd? Lassen Sie uns zunächst einige temporäre Verzeichnisse erstellen und sie wie unten gezeigt in den Verzeichnisstapel verschieben.

# 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.]

Zu diesem Zeitpunkt enthält der Verzeichnisstapel die folgenden Verzeichnisse:

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

Das letzte Verzeichnis, das auf den Stapel verschoben wurde, befindet sich ganz oben. Wenn Sie popd ausführen, wird es zum obersten Verzeichniseintrag im Stack cd und entfernt ihn aus dem Stack. Wie oben gezeigt, ist das letzte Verzeichnis, das in den Stapel verschoben wurde, /tmp/dir4. Also, wenn wir ein popd machen, wird es nach /tmp/dir4 cd und es aus dem Verzeichnisstapel entfernen, wie unten gezeigt.

# 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 #6:Verwenden Sie „shopt -s cdspell“, um falsch geschriebene Verzeichnisnamen auf CD automatisch zu korrigieren

Verwenden Sie shopt -s cdspell um die Tippfehler im cd-Befehl automatisch zu korrigieren, wie unten gezeigt. Wenn Sie nicht gut tippen können und viele Fehler machen, ist dies sehr hilfreich.

# 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]


Wenn Ihnen dieser Artikel gefallen hat, markieren Sie ihn bitte auf del.icio.us , und stolpere darüber .


Linux
  1. 8 Tipps für die Linux-Kommandozeile

  2. 5 Produktivitäts-Apps für Linux

  3. 20 fantastische Nmap-Befehlsbeispiele unter Linux

  4. Linux-Killall-Befehl für Anfänger (8 Beispiele)

  5. Linux-Befehlszeilentipps zur Steigerung der Produktivität

Linux OD Command Tutorial für Anfänger (6 Beispiele)

Linux w Command Tutorial für Anfänger (5 Beispiele)

Linux ss Command Tutorial für Anfänger (8 Beispiele)

Linux-Suchbefehl für Anfänger (8 Beispiele)

16 praktische Beispiele für Linux LS-Befehle für Anfänger

Linux VI Editor Shortcuts, Tipps und Produktivitäts-Hacks für Anfänger