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

So navigieren Sie unter Linux schneller durch Verzeichnisse

Heute werden wir einige Produktivitäts-Hacks für die Befehlszeile lernen. Wie Sie bereits wissen, verwenden wir den Befehl "cd", um in Unix-ähnlichen Betriebssystemen zwischen einem Stapel von Verzeichnissen zu wechseln. In diesem Handbuch werde ich Ihnen beibringen, wie Sie unter Linux schneller durch Verzeichnisse navigieren können, ohne häufig den Befehl „cd“ verwenden zu müssen. Es könnte viele Möglichkeiten geben, aber ich kenne im Moment nur die folgenden fünf Methoden! Ich werde diesen Leitfaden ständig aktualisieren, wenn ich in den kommenden Tagen auf Methoden oder Dienstprogramme stoße, um diese Aufgabe zu erfüllen.

Fünf verschiedene Methoden zum schnelleren Navigieren in Verzeichnissen unter Linux

Methode 1:Verwenden der Befehle "Pushd", "Popd" und "Dirs"

Dies ist die häufigste Methode, die ich täglich verwende, um zwischen einem Stapel von Verzeichnissen zu navigieren. Die Befehle „Pushd“, „Popd“ und „Dirs“ sind in den meisten Linux-Distributionen vorinstalliert, also brauchen Sie sich nicht um die Installation zu kümmern. Diese Trio-Befehle sind sehr nützlich, wenn Sie in einer tiefen Verzeichnisstruktur und Skripten arbeiten. Weitere Einzelheiten finden Sie in unserem Leitfaden unter dem unten angegebenen Link.

  • So verwenden Sie Pushd-, Popd- und Dirs-Befehle für eine schnellere CLI-Navigation

Methode 2:Verwenden des Dienstprogramms "bd"

Das Dienstprogramm "bd" hilft Ihnen auch, schnell zu einem bestimmten übergeordneten Verzeichnis zurückzukehren, ohne wiederholt "cd ../.../" eingeben zu müssen. auf Ihrer Bash.

Bd ist auch im Debian-Extra verfügbar und Ubuntu-Universum Lagerstätten. Sie können es also mit dem Paketmanager "apt-get" in Debian, Ubuntu und anderen DEB-basierten Systemen wie unten gezeigt installieren:

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

Andere Distributionen können Sie wie unten gezeigt installieren.

$ 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
$ source ~/.bashrc

Um die automatische Vervollständigung zu aktivieren, führen Sie Folgendes aus:

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

Das Bd-Dienstprogramm ist jetzt installiert. Sehen wir uns einige Beispiele an, um zu verstehen, wie man mit diesem Tool schnell durch Stapel von Verzeichnissen navigiert.

Erstellen Sie einige Verzeichnisse.

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

Der obige Befehl erstellt eine Hierarchie von Verzeichnissen. Lassen Sie uns die Verzeichnisstruktur überprüfen mit Befehl:

$ tree dir1/
dir1/
└── dir2
 └── dir3
 └── dir4
 └── dir5
 └── dir6
 └── dir7
 └── dir8
 └── dir9
 └── dir10

9 directories, 0 files

Okay, wir haben jetzt 10 Verzeichnisse. Nehmen wir an, Sie befinden sich derzeit im 7. Verzeichnis, dh dir7.

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

Sie möchten nach dir3 wechseln. Normalerweise würden Sie Folgendes eingeben:

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

Recht? ja! Aber es ist nicht notwendig aber! Um zu dir3 zurückzukehren, geben Sie einfach ein:

$ bd dir3

Jetzt befinden Sie sich im Verzeichnis3.

Navigieren Sie unter Linux schneller durch Verzeichnisse mit dem Dienstprogramm "bd"

Einfach, nicht wahr? Es unterstützt die automatische Vervollständigung, sodass Sie einfach den teilweisen Namen eines Verzeichnisses eingeben und die Tabulatortaste drücken können, um den vollständigen Pfad automatisch zu vervollständigen.

Um den Inhalt eines bestimmten übergeordneten Verzeichnisses zu überprüfen, müssen Sie sich nicht in dieses bestimmte Verzeichnis begeben. Geben Sie stattdessen einfach Folgendes ein:

$ ls `bd dir1`

Der obige Befehl zeigt den Inhalt von dir1 aus Ihrem aktuellen Arbeitsverzeichnis an.

Weitere Einzelheiten finden Sie auf der folgenden GitHub-Seite.

  • bd GitHub-Repository

Methode 3:Verwenden des "Up"-Shell-Skripts

Das "Up" ist ein Shell-Skript, mit dem Sie schnell in Ihr übergeordnetes Verzeichnis wechseln können. Es funktioniert gut auf vielen beliebten Shells wie Bash, Fish und Zsh usw. Die Installation ist auch absolut einfach!

Um "Up" auf Bash zu installieren , führen Sie die folgenden Befehle nacheinander aus:

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

Das up-Skript registriert die "up"-Funktion und einige Vervollständigungsfunktionen über Ihre ".bashrc"-Datei.

Aktualisieren Sie die Änderungen mit dem Befehl:

$ source ~/.bashrc

Auf 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

Das up-Skript registriert die "up"-Funktion und einige Vervollständigungsfunktionen über Ihre ".zshrc"-Datei.

Aktualisieren Sie die Änderungen mit dem Befehl:

$ source ~/.zshrc

Auf Fisch :

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

Das up-Skript registriert die "up"-Funktion und einige Vervollständigungsfunktionen über "funcsave".

Jetzt ist es an der Zeit, einige Beispiele zu sehen.

Lassen Sie uns einige Verzeichnisse erstellen.

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

Nehmen wir an, Sie befinden sich im 7. Verzeichnis, dh dir7.

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

Sie möchten nach dir3 wechseln. Mit dem Befehl "cd" können wir dies tun, indem wir den folgenden Befehl eingeben:

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

Aber es ist wirklich einfach, mit dem "up"-Skript zu dir3 zurückzukehren:

$ up dir3

Das ist es. Jetzt befinden Sie sich in dir3. Um ein Verzeichnis nach oben zu gehen, geben Sie einfach ein:

$ up 1

Um zwei Verzeichnisse zurückzugehen, geben Sie Folgendes ein:

$ up 2

So einfach ist das. Habe ich den vollständigen Pfad eingegeben? Nö. Außerdem unterstützt es die Tab-Vervollständigung. Geben Sie also einfach den teilweisen Verzeichnisnamen ein und drücken Sie die Tabulatortaste, um den vollständigen Pfad zu vervollständigen.

Weitere Einzelheiten finden Sie auf der GitHub-Seite.

  • GitHub-Repository aktualisieren

Bitte beachten Sie, dass die Tools "bd" und "up" Ihnen nur helfen können, rückwärts zu gehen, d.h. zum übergeordneten Verzeichnis des aktuellen Arbeitsverzeichnisses. Du kannst nicht vorankommen. Wenn Sie von dir5 zu dir10 wechseln möchten, können Sie das nicht! Stattdessen müssen Sie den Befehl „cd“ verwenden, um zu dir10 zu wechseln. Diese beiden Dienstprogramme sind dazu gedacht, Sie schnell in das übergeordnete Verzeichnis zu verschieben!

Methode 4:Verwenden des „Shortcut“-Tools

Dies ist eine weitere praktische Methode, um schnell und einfach zwischen verschiedenen Verzeichnissen zu wechseln. Dies ist etwas ähnlich zu alias Befehl. Bei dieser Methode erstellen wir Verknüpfungen zu häufig verwendeten Verzeichnissen und verwenden den Verknüpfungsnamen, um zu diesem jeweiligen Verzeichnis zu wechseln, ohne den Pfad eingeben zu müssen. Wenn Sie in einer tiefen Verzeichnisstruktur und einem Stapel von Verzeichnissen arbeiten, spart diese Methode viel Zeit. Wie das funktioniert, erfahren Sie in der unten stehenden Anleitung.

  • Erstellen Sie Verknüpfungen zu den häufig verwendeten Verzeichnissen in Ihrer Shell

Methode 5:Verwenden der Umgebungsvariable "CDPATH"

Diese Methode erfordert keine Installation. CDPATH ist eine Umgebungsvariable. Es ist etwas ähnlich zu PATH Variable, die viele verschiedene Pfade enthält, die mit ':' verkettet sind (Doppelpunkt). Der Hauptunterschied zwischen PATH- und CDPATH-Variablen besteht darin, dass die PATH-Variable mit allen Befehlen verwendet werden kann, während CDPATH nur für cd funktioniert Befehl.

Ich habe die folgende Verzeichnisstruktur.

Verzeichnisstruktur

Wie Sie sehen, gibt es vier untergeordnete Verzeichnisse unter einem übergeordneten Verzeichnis namens "ostechnix".

Fügen Sie nun dieses übergeordnete Verzeichnis mit dem Befehl:

zu CDPATH hinzu
$ export CDPATH=~/ostechnix

Sie können jetzt sofort in die Unterverzeichnisse des übergeordneten Verzeichnisses wechseln (z. B. ~/ostechnix in unserem Fall) von überall im Dateisystem.

Zum Beispiel bin ich derzeit in /var/mail/ Ort.

pwd-Befehlsausgabe

Auf CD in ~/ostechnix/Linux/ Verzeichnis, müssen wir nicht den vollständigen Pfad des Verzeichnisses verwenden, wie unten gezeigt:

$ cd ~/ostechnix/Linux

Nennen Sie stattdessen einfach den Namen des Unterverzeichnisses, zu dem Sie wechseln möchten:

$ cd Linux

Es wird automatisch nach ~/ostechnix/Linux gecd Verzeichnis sofort.

cdpath-Umgebungsvariable

Wie Sie in der obigen Ausgabe sehen können, habe ich "cd " nicht verwendet. Stattdessen habe ich einfach den Befehl "cd " verwendet.

Bitte beachten Sie, dass Sie mit CDPATH schnell zu nur einem untergeordneten Verzeichnis des in der CDPATH-Variablen festgelegten übergeordneten Verzeichnisses navigieren können. Es hilft nicht viel beim Navigieren durch einen Stapel von Verzeichnissen (natürlich Verzeichnisse in Unterverzeichnissen).

Um die Werte der CDPATH-Variablen zu finden, führen Sie Folgendes aus:

$ echo $CDPATH

Beispielausgabe wäre:

/home/sk/ostechnix

Setzen Sie mehrere Werte auf CDPATH

Ähnlich wie bei der PATH-Variablen können wir auch mehrere Werte (mehr als ein Verzeichnis) auf CDPATH setzen, getrennt durch einen Doppelpunkt (:).

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

Machen Sie die Änderungen dauerhaft

Wie Sie bereits wissen, behält der obige Befehl (Export) nur die Werte von CDPATH bis zum nächsten Neustart. Um die Werte von CDPATH dauerhaft festzulegen, fügen Sie sie einfach zu Ihrer ~/.bashrc hinzu oder ~/.bash_profile Dateien.

$ vi ~/.bash_profile

Fügen Sie die Werte hinzu:

export CDPATH=.:~/ostechnix:/etc:/var:/opt

Drücken Sie ESC drücken und :wq eingeben zum Speichern und Beenden.

Übernehmen Sie die Änderungen mit dem Befehl:

$ source ~/.bash_profile

CDPATH löschen

Um die Werte von CDPATH zu löschen, verwenden Sie export CDPATH="" . Oder löschen Sie einfach die gesamte Zeile aus ~/.bashrc oder ~/.bash_profile Dateien.

In diesem Artikel haben Sie die verschiedenen Möglichkeiten zum schnelleren und einfacheren Navigieren im Verzeichnisstapel unter Linux kennengelernt. Wie Sie sehen können, ist es nicht so schwierig, einen Stapel von Verzeichnissen schneller zu durchsuchen. Hören Sie jetzt auf, endlos "cd ../../.." zu tippen, indem Sie diese Tools verwenden. Wenn Sie ein anderes Tool oder eine Methode kennen, die es wert ist, schneller durch Verzeichnisse zu navigieren, teilen Sie uns dies bitte im Kommentarbereich unten mit. Ich werde sie in diesem Leitfaden überprüfen und hinzufügen.


Linux
  1. So suchen und entfernen Sie Verzeichnisse rekursiv unter Linux

  2. So benennen Sie ein Verzeichnis unter Linux um

  3. Wie überschleife ich Verzeichnisse in Linux?

  4. Wie listet man rekursiv Verzeichnisse in C unter Linux auf?

  5. Gehen Sie unter Linux in mehrere Verzeichnisse

So benennen Sie Verzeichnisse in Linux um

So vergleichen Sie Verzeichnisse mit Meld unter Linux

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

So finden und löschen Sie leere Verzeichnisse in Linux

So können Sie große (100 GB+) Dateien unter Linux schneller komprimieren

So listen Sie nur Verzeichnisse in Linux auf