Wer häufig in der Shell arbeitet kennt das Problem: man muss häufig zwischen verschiedenen Verzeichnissen hin und her wechseln.Hierzu gibt es einige einfach Tricks, die einem das Leben an der ein oder anderen Stelle erleichtern können.
Um in das eigene Home-Verzeichnis zu kommen reicht immer ein einfaches
cd ~
Um in das Verzeichnis zu wechseln, in dem man sich vorher noch aufgehalten hat nutzt man
cd -
Das sieht dann so aus:
jan@mediastation1:~$ cd /etc jan@mediastation1:/etc$ cd - /home/jan jan@mediastation1:~$ cd - /etc jan@mediastation1:/etc$ cd - /home/jan jan@mediastation1:~$
Möchte man nun mehrer Verzeichnisse vor und wieder zurückgehen, benötigt man „pushd“ and „popd“.
Diese beiden Befehle erlauben es Verzeichniswechsel zu stacken.
Beispiel:
jan@mediastation1:/media$ pushd /etc/apache2 /etc/apache2 /media jan@mediastation1:/etc/apache2$ pushd /etc/mysql /etc/mysql /etc/apache2 /media jan@mediastation1:/etc/mysql$ pushd /home /home /etc/mysql /etc/apache2 /media jan@mediastation1:/home$ popd /etc/mysql /etc/apache2 /media jan@mediastation1:/etc/mysql$ popd /etc/apache2 /media jan@mediastation1:/etc/apache2$ popd /media jan@mediastation1:/media$ popd -bash: popd: directory stack empty jan@mediastation1:/media$
Wenn man also „pushd“ statt „cd“ verwendet, kann man via „popd“ wieder bis zum Ausgangsverzeichnis zurückwandern.
2 comments on “Linux: Schneller Verzeichniswechsel”
Hallo Jan,
eine Frage zu pushd / popd:
gibt es eine Möglichkeit, den mit pushd angelegten Stack zu behalten? Wenn man popd benutzt und die im Stack hinterlegten Pfade 1x durchlaufen hat, ist der Stack leer.
Folgendes Szenario: man möchte ständig zwischen 3 verschiedenen Pfaden wechseln, legt diese einmalig mit pushd im Stack ab und will sie nun mehrfach mit popd benutzen.
Danke für eine Rückinfo
Andi
Hallo Andi
Nein, das geht so leider nicht.
Du könntest dir aber einfach die drei Verzeichnisse in ein array speichern und dann durchlaufen:
========
========
Liebe Grüße,
Jan