Heim  >  Artikel  >  System-Tutorial  >  Tipps zur Verwendung von Befehlszeilentools in Linux-Systemen (2)

Tipps zur Verwendung von Befehlszeilentools in Linux-Systemen (2)

WBOY
WBOYnach vorne
2024-02-09 16:40:331130Durchsuche

Im ersten Teil dieser Artikelserie haben wir uns auf die Befehlszeilennavigation unter Linux konzentriert und einige verwandte Punkte/Konzepte besprochen, indem wir die Verwendung des Befehls cd – untersucht haben. Jetzt schauen wir uns genauer an, wie Sie die Befehle pushd und popd für eine schnellere Navigation in der Linux-Befehlszeile verwenden.

Tipps zur Verwendung von Befehlszeilentools in Linux-Systemen (2)

Bevor wir beginnen, ist es erwähnenswert, dass alle im Folgenden genannten Anweisungen und Befehle auf Ubuntu 14.04 und der Bash-Shell (4.3.11) getestet wurden.

Grundlagen der Pushd- und Popd-Befehle

Um die Rolle der Befehle pushd und popd besser zu verstehen, besprechen wir zunächst das Konzept des Stapels. Stellen Sie sich vor, Sie haben eine freie Stelle auf Ihrer Küchenarbeitsplatte und möchten ein Geschirrset darauf abstellen. Was machen Sie? Ganz einfach: Legen Sie sie nacheinander darauf.

Am Ende des gesamten Vorgangs ist also der erste Teller auf dem Schneidebrett der letzte Teller im Stapel und der letzte Teller in Ihrer Hand ist der erste Teller im Stapel. Wenn Sie nun einen Teller benötigen, wählen Sie den ganz oben auf dem Stapel aus und verwenden ihn. Bei Bedarf wählen Sie dann den nächsten aus.

Pushd- und Popd-Befehle sind ähnliche Konzepte. Auf Linux-Systemen gibt es einen Verzeichnisstapel, in dem Sie Verzeichnispfade für die zukünftige Verwendung stapeln können. Mit dem Befehl dirs können Sie jederzeit schnell den Inhalt des Stapels anzeigen.

Das folgende Beispiel zeigt die Ausgabe der Verwendung des dirs-Befehls auf meinem System unmittelbar nach dem Start des Befehlszeilenterminals:

$ dirs
 ~

Die Tilde (~) in der Ausgabe zeigt an, dass der Verzeichnisstapel derzeit nur das Home-Verzeichnis des Benutzers enthält.

Fahren Sie fort und verwenden Sie die Befehle pushd und popd, um den Verzeichnispfad zu speichern und zu löschen. Die Verwendung von pushd ist sehr einfach – übergeben Sie einfach den Pfad, der im Verzeichnisstapel gespeichert werden soll, als Argument an diesen Befehl. Hier ist ein Beispiel:

pushd /home/himanshu/Downloads/

Der obige Befehl ändert das aktuelle Arbeitsverzeichnis in das Verzeichnis, das Sie als Argument übergeben haben, und fügt außerdem den Pfad zum Verzeichnisstapel hinzu. Zur Vereinfachung für den Benutzer erzeugt der Befehl pushd in seiner Ausgabe den Inhalt des Verzeichnisstapels. Daher wird beim Ausführen des obigen Befehls die folgende Ausgabe erzeugt:
~/Downloads ~
Die Ausgabe zeigt, dass es jetzt zwei Verzeichnispfade im Stapel gibt: einer ist das Home-Verzeichnis des Benutzers und der andere das Download-Verzeichnis des Benutzers. Sie werden in der Reihenfolge gespeichert, dass sich das Hauptverzeichnis unten und das neu hinzugefügte Downloads-Verzeichnis darüber befindet.

Um zu überprüfen, ob die Ausgabe von pushd korrekt ist, können Sie auch den Befehl dirs verwenden:

$ dirs
~/Downloads ~

Sie sehen also, dass der Befehl dirs auch die gleiche Ausgabe erzeugt.

Lassen Sie uns erneut den Befehl pushd verwenden:

$ pushd /usr/lib/; pushd /home/himanshu/Desktop/

/usr/lib ~/Downloads ~

~/Desktop /usr/lib ~/Downloads ~

Der Verzeichnisstapel enthält nun also insgesamt vier Verzeichnispfade, wobei das Home-Verzeichnis (~) unten und das Desktop-Verzeichnis des Benutzers oben liegt.

Denken Sie unbedingt daran, dass der Kopf des Stapels Ihr aktuelles Verzeichnis ist. Das bedeutet, dass unser aktuelles Arbeitsverzeichnis jetzt ~/Desktop ist.

Angenommen, Sie möchten zum Verzeichnis /usr/lib zurückkehren, müssen also nur noch den Befehl popd ausführen:

$ popd
/usr/lib ~/Downloads ~
Der Befehl

popd ändert nicht nur das aktuelle Verzeichnis in /usr/lib, sondern entfernt auch ~/Desktop aus dem Verzeichnisstapel, wie Sie der Befehlsausgabe entnehmen können. Auf diese Weise können Sie mit dem Befehl popd diese Verzeichnisse in umgekehrter Reihenfolge durchsuchen.

Einige fortgeschrittene Verwendung

Nachdem wir nun die Grundlagen der Befehle pushd und popd besprochen haben, wollen wir mit der Besprechung einiger weiterer Details im Zusammenhang mit diesen Befehlen fortfahren. Erstens ermöglichen Ihnen diese Befehle auch die Manipulation von Verzeichnisstapeln. Nehmen wir zum Beispiel an, Ihr Verzeichnisstapel sieht so aus:

$ dirs
~/Desktop /usr/lib ~ ~/Downloads

Unsere Anforderung besteht nun darin, die Reihenfolge der Verzeichnispfade im Stapel zu ändern. Das oberste Element (~/Desktop) wird unten platziert und jedes der verbleibenden Elemente wird um eine Position nach oben verschoben. Dies kann mit dem folgenden Befehl erreicht werden:

pushd +1

Das Ergebnis des obigen Befehls im Verzeichnisstapel:

$ dirs
/usr/lib ~ ~/Downloads ~/Desktop

Wir sehen also, dass sich die Reihenfolge der Elemente im Verzeichnisstapel geändert hat und jetzt die gleiche ist, wie wir es wollten. Natürlich können Sie die Verzeichnisstapelelemente beliebig oft verschieben. Mit dem folgenden Befehl werden sie beispielsweise zweimal nach oben verschoben:

$ pushd +2
~/Downloads ~/Desktop /usr/lib ~

Sie können auch negative Indexwerte verwenden:

$ pushd -1
/usr/lib ~ ~/Downloads ~/Desktop

Ähnlich können Sie diese Technik mit dem Befehl popd verwenden, um jeden Eintrag aus dem Verzeichnisstapel zu entfernen, ohne das aktuelle Arbeitsverzeichnis zu verlassen. Wenn Sie beispielsweise popd verwenden möchten, um den dritten Eintrag von oben (derzeit ~/Downloads) zu entfernen, würden Sie den folgenden Befehl ausführen:

popd +2

Denken Sie daran, dass der Anfangswert des Stapelindex 0 ist, also verwenden wir 2, um auf den dritten Eintrag zuzugreifen.

Der Verzeichnisstapel enthält nun:

$ dirs

/usr/lib ~ ~/Desktop

Bestätigen Sie, dass der Eintrag entfernt wurde.

如果由于某些原因,你发现你很难记住元素在目录堆栈中的位置以及它们的索引,你则可以对在 dirs 命令中使用 -v 选项。这里有一个例子:

$ dirs -v
0 /usr/lib
1 ~
2 ~/Desktop

你可能已经猜到了,左边的数字是索引,接下来跟的是这个索引对应的目录路径。

注意: 在 dir 中使用 -c 选项清除目录堆栈。

现在让我们简要地讨论一下 popd 和 pushd 命令的实际用法。虽然它们第一眼看起来可能有点复杂,但是这些命令在编写 shell 脚本时会派上用场 – 你不需要记住你从哪里来;只要执行一下 popd,你就能回到你来的目录。

经验丰富的脚本编写者通常以以下方式使用这些命令:

popd >/dev/null 2>&1

上述命令确保 popd 保持静默(不产生任何输出)。同样,你也可以静默 pushd。

pushd 和 popd 命令也被 Linux 服务器管理员使用,他们通常在几个相同的目录之间移动。 在这里介绍了一些其他有用的使用场景。

总结

我同意 pushd 和 popd 的概念不是很直接。但是,它需要的只是一点练习 – 是的,你需要多实践。花一些时间在这些命令上,你就会开始喜欢它们,特别是当它们提供了方便时。

Das obige ist der detaillierte Inhalt vonTipps zur Verwendung von Befehlszeilentools in Linux-Systemen (2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen