Android

Pushd- und Popd-Befehle unter Linux

GitLab CE Tutorial #3 - SSH Key Setup & Pushing Our First Project

GitLab CE Tutorial #3 - SSH Key Setup & Pushing Our First Project

Inhaltsverzeichnis:

Anonim

pushd und popd sind Befehle, mit denen Sie mit dem Verzeichnis-Stack arbeiten und das aktuelle Arbeitsverzeichnis unter Linux und anderen Unix-ähnlichen Betriebssystemen ändern können. Obwohl pushd und popd sehr leistungsfähige und nützliche Befehle sind, werden sie unterschätzt und selten verwendet.

In diesem Tutorial zeigen wir Ihnen, wie Sie mit den Befehlen pushd und popd die Verzeichnisstruktur Ihres Systems navigieren.

Verzeichnisstapel

Der Verzeichnisstapel ist eine Liste von Verzeichnissen, zu denen Sie zuvor navigiert haben. Der Inhalt des Verzeichnisstapels kann mit dem Befehl dirs . Verzeichnisse werden dem Stapel hinzugefügt, wenn mit dem Befehl pushd in ein Verzeichnis pushd und mit dem Befehl pushd entfernt.

Das aktuelle Arbeitsverzeichnis befindet sich immer oben im Verzeichnisstapel. Das aktuelle Arbeitsverzeichnis ist das Verzeichnis (Ordner), in dem der Benutzer gerade arbeitet. Jedes Mal, wenn Sie mit der Befehlszeile interagieren, arbeiten Sie in einem Verzeichnis.

Mit dem Befehl pwd können Sie herausfinden, in welchem ​​Verzeichnis Sie sich gerade befinden.

Verwenden Sie beim Navigieren im Dateisystem die Tab um die Namen der Verzeichnisse automatisch zu vervollständigen. Das Hinzufügen eines Schrägstrichs am Ende des Verzeichnisnamens ist optional.

pushd , popd und dirs sind Shell-Builtins und ihr Verhalten kann sich von Shell zu Shell geringfügig unterscheiden. Wir werden die in Bash integrierte Version der Befehle behandeln.

pushd Befehl

Die Syntax für den Befehl pushd lautet wie folgt:

pushd

Um beispielsweise das aktuelle Verzeichnis oben im Verzeichnisstapel zu speichern und zu /var/www wechseln, geben Sie /var/www :

~$ pushd /var/www

Bei Erfolg wird mit dem obigen Befehl der Verzeichnisstapel gedruckt. ~ ist das Verzeichnis, in dem wir den Befehl pushd ausgeführt haben. Das Tildesymbol ~ bedeutet Heimatverzeichnis.

/var/www ~

pushd speichert zuerst das aktuelle Arbeitsverzeichnis am Anfang des Stapels und navigiert dann zu dem angegebenen Verzeichnis. Da sich das aktuelle Verzeichnis immer oben im Stapel befinden muss, wird das neue aktuelle Verzeichnis nach dem Ändern oben im Stapel abgelegt, aber nicht im Stapel gespeichert. Um es zu speichern, müssen Sie pushd aufrufen. Wenn Sie mit cd in ein anderes Verzeichnis wechseln, geht das oberste Element des Stapels verloren.

Fügen wir dem Stack ein weiteres Verzeichnis hinzu:

/var/www$ pushd /opt

/opt /var/www ~

Verwenden Sie die Option -n um die Standardänderung des Verzeichnisses zu unterdrücken. Wenn Sie beispielsweise das Verzeichnis /usr/local zum Stapel hinzufügen, aber nicht in dieses Verzeichnis ändern möchten, geben Sie Folgendes ein:

/opt$ pushd -n /usr/local

Da das aktuelle Verzeichnis (das sich immer oben befindet) nicht geändert wird, wird das Verzeichnis /usr/local als zweites vom Anfang des Stapels hinzugefügt:

/opt /usr/local /var/www ~

Der pushd akzeptiert zwei Optionen, +N und -N , mit denen Sie zum +N Nth Verzeichnis des Stapels navigieren können. Die Option +N ändert sich in das Nth Element der Stapelliste, wobei von links nach rechts beginnend mit Null gezählt wird. Wenn -N wird, verläuft die Zählrichtung von rechts nach links.

Um die Optionen besser zu veranschaulichen, drucken wir den aktuellen Verzeichnisstapel:

/opt$ dirs -l -v

Die Ausgabe zeigt eine indizierte Liste des Verzeichnisstacks:

0 /opt 1 /usr/local 2 /var/www 3 /home/linuxize

Beim Zählen von oben nach unten (oder von links nach rechts) ist der Index des Verzeichnisses 2 .

pushd +2

Bei der Zählung von unten nach oben ist der Index des Verzeichnisses /var/www 1 .

pushd -1.

Bei Verwendung ohne Argument pushd die beiden obersten Verzeichnisse um und macht das neue top zum aktuellen Verzeichnis. Dies ist das gleiche wie bei Verwendung des Befehls cd - .

popd Befehl

Der Befehl popd hat folgende Form:

popd

Bei Verwendung ohne Argument entfernt popd das oberste Verzeichnis vom Stapel und navigiert zum neuen obersten Verzeichnis.

Angenommen, wir haben den folgenden Verzeichnisstapel:

/opt /usr/local /var/www /etc/nginx ~

/opt$ popd

Die Ausgabe zeigt den neuen Verzeichnisstapel:

/usr/local /var/www /etc/nginx ~

Die Option -n unterdrückt die Standardverzeichnisänderung und entfernt das zweite Element vom Stapel:

/opt$ popd -n

/usr/local /etc/nginx ~

pushd popd akzeptiert popd auch die Optionen +N und -N , mit denen das +N Nth Verzeichnis des Stapels entfernt werden kann.

/opt$ popd +1

/usr/local ~

Fazit

Normalerweise verwenden Sie den Befehl cd , um von einem Verzeichnis in ein anderes zu wechseln. Wenn Sie jedoch viel Zeit in der Befehlszeile verbringen, popd Befehle pushd und popd Ihre Produktivität und Effizienz.

Bash-Terminal