Fatmawati Achmad Zaenuri/Shutterstock
Einige Linux-Befehle sind uns so vertraut, dass wir nicht einmal bemerken, dass wir sie verwenden. Die cd
Befehl zum Wechseln von Verzeichnissen ist einer davon. Es gibt einige Tricks, die Ihnen helfen können, mit effizienter zu werden cd
– oder Sie können es ganz aufgeben.
Ein Befehl, an den Sie selten denken
Sie blinzeln den ganzen Tag, jeden Tag, aber meistens sind Sie sich dessen nicht bewusst. Wenn dir nichts ins Auge gerät, denkst du selten an diese kleine, regelmäßige Bewegung. Einige Linux-Befehle sind so. Sie schweben an der Peripherie deines Bewusstseins. Obwohl Sie sie täglich verwenden, fallen sie nicht auf, weil sie so klein und einfach sind.
Innerhalb der ersten Stunde nach der Verwendung eines Linux-Computers lernen Sie, wie Sie das cd
Befehl in Bash und anderen Shells enthalten. Vielleicht hatten Sie bereits Erfahrung mit der Verwendung auf einem anderen Betriebssystem und brauchten keine Erklärung. Es ändert das aktuelle Arbeitsverzeichnis, oder? Was gibt es sonst noch zu wissen?
Nun, mehr als Sie denken. Hier sind ein paar Hinweise und Tipps, die Ihre Effizienz verbessern können.
Die Standard-CD-Operationen
Der Vollständigkeit halber gehen wir kurz die Standardanwendungen von . durch cd
.
Wenn wir uns im Home-Verzeichnis befinden, aber zu einem unter wechseln möchten /usr/lib/firefox/browser
, und dann zum Home-Verzeichnis zurückkehren, können wir die folgenden Befehle verwenden:
cd /usr/lib/firefox/browser/
cd /home/dave
Sie müssen nicht den gesamten Verzeichnispfad eingeben; Sie können die automatische Vervollständigung verwenden. Drücken Sie für jeden Teil eines Pfads, nachdem Sie genügend Buchstaben eingegeben haben, um den Namen des Verzeichnisses von den anderen zu unterscheiden, die Tabulatortaste, um den Verzeichnisnamen automatisch zu vervollständigen.
Geben Sie beispielsweise Folgendes in die Befehlszeile ein:
cd /usr/lib/fire
Drücken Sie nun die Tabulatortaste und die Shell füllt den Rest des „firefox“ -Verzeichnisses für Sie aus. Wenn Sie dem Pfad „/b“ hinzufügen und erneut die Tabulatortaste drücken, wird das Verzeichnis „browser“ zum Befehl hinzugefügt.
Die Shell fügt einen nachgestellten Schrägstrich hinzu, damit Sie den Tab-Vervollständigungsprozess wiederholen können. Deshalb gibt es beim ersten Befehl auch einen nachgestellten Schrägstrich. Auf der zweiten gibt es keine, weil diese getippt wurde.
Sie können die Tilde (~
) als Kurzform, um von überall im Dateisystem schnell zum Home-Verzeichnis zurückzukehren; Geben Sie einfach Folgendes ein:
cd ~
Dies sind Beispiele für absolute Pfade, in denen Sie den gesamten Pfad vom Root des Dateisystems zum Zielverzeichnis angeben, um cd
.
Relative Pfade werden aus dem aktuellen Arbeitsverzeichnis referenziert. Im Home-Verzeichnis gibt es ein Verzeichnis namens work
. Du kannst den … benutzen tree
Befehl an siehe Verzeichnisbaum innerhalb der work
Verzeichnis – geben Sie einfach Folgendes ein:
tree
Die work
Verzeichnis enthält ein Verzeichnis namens dev
. Es gibt auch ein Verzeichnis namens dev
im Stammverzeichnis des Dateisystems. Sie können verwenden ls
mit -d
(Verzeichnis), um sich diese anzusehen. Die -hl
(für Menschen lesbare, lange Auflistung) Option sagt ls
leicht lesbare Einheiten für die Verzeichnisgrößen und die lange Formatauflistung zu verwenden.
Wenn du tippst dev
, geht die Shell davon aus, dass Sie das „dev“ im aktuellen Verzeichnis meinen. Um zu erzwingen, dass das «dev» im Root-Verzeichnis angezeigt wird, fügen Sie einfach einen führenden Schrägstrich hinzu, um das Root des Dateisystems darzustellen, wie unten gezeigt:
ls -d dev -hl
ls -d /dev -hl
Die cd
Befehl verhält sich wie ls
insofern. Wenn Sie auf das Verzeichnis verweisen als dev
, wie unten gezeigt, wird davon ausgegangen, dass Sie das Verzeichnis im work
Verzeichnis:
cd dev
Ohne führenden Schrägstrich wird davon ausgegangen, dass auch längere Pfade vom aktuellen Arbeitsverzeichnis aus beginnen, wie unten gezeigt:
cd dev/mobile/android
Ändern des Verzeichnisses mit Double Dot
Der Doppelpunkt-Identifikator repräsentiert das übergeordnete Verzeichnis des aktuellen Arbeitsverzeichnisses. Wenn Sie sich in einem tief verschachtelten Unterverzeichnis befinden, können Sie ..
mit cd
, um in das übergeordnete Verzeichnis des Verzeichnisses zu wechseln, in dem Sie sich befinden.
Dadurch werden Sie im Verzeichnisbaum zwei Verzeichnisse nach oben verschoben. Wenn Sie mehr hinzufügen ..
auf den Befehl können Sie eine beliebige Anzahl von Ebenen im Verzeichnisbaum nach oben verschieben.
Geben Sie Folgendes ein:
cd ..
cd ../..
Sie können auch eine Reihe von Aliasnamen erstellen, um diese Manöver für Sie auszuführen, indem Sie Folgendes eingeben:
alias .2="cd ../.."
alias .3="cd ../../.."
Sie können diese wie die Befehle selbst verwenden.
Um die Aliase bei Neustarts Ihres Computers konsistent zu machen, müssen Sie sie zu Ihrem .bashrc
oder .bash_aliases
Datei.
Einfach zwischen zwei Verzeichnissen wechseln
Der Bindestrich (-
) ist ein weiteres Symbol mit einer besonderen Funktion. Es ändert Ihr Verzeichnis wieder in dasjenige, aus dem Sie gerade gekommen sind.
Nehmen wir für dieses Beispiel an, Sie befinden sich im Verzeichnis „c“. Sie können verwenden cd
um in das „vierte“ Verzeichnis zu wechseln. Dann können Sie verwenden cd -
zwischen den beiden Verzeichnissen hin- und herspringen.
Dazu geben Sie Folgendes ein:
cd ../her
CD –
CD –
Der Name des Verzeichnisses, in das Sie verschieben, wird angezeigt, bevor Sie dorthin wechseln.
Eine andere Art von Verwandten
Die Shell verwendet das aktuelle Arbeitsverzeichnis als „Root“- oder Basisverzeichnis für relative Pfade. Du kannst den … benutzen CDPATH
Umgebungsvariable, um einen anderen Speicherort als Basisverzeichnis für relative Pfade festzulegen. Wenn Sie die meiste Zeit in einem bestimmten Abschnitt des Dateisystembaums verbringen, kann Ihnen dies jeden Tag viele Tastenanschläge (und Zeit) ersparen.
Geben wir Folgendes ein, um zu machen work/dev/projects
das Basisverzeichnis für relative Pfade:
export CDPATH=/home/dave/work/dev/projects
Jetzt, jedes Mal, wenn Sie die dc
Befehl, der Ort in der CDPATH
Die Umgebungsvariable wird zuerst auf übereinstimmende Verzeichnisnamen überprüft. Wenn einer von ihnen mit dem Ziel übereinstimmt, das Sie in der angegeben haben cd
Befehl werden Sie in dieses Verzeichnis übertragen.
Unabhängig davon, wo Sie sich im Dateisystem befinden, verwenden Sie jetzt die cd
Befehl überprüft die Shell, ob sich das Zielverzeichnis im Basisverzeichnis befindet. Wenn dies der Fall ist, werden Sie in dieses Zielverzeichnis verschoben.
Wenn Ihr Zielverzeichnis mit einem führenden Schrägstrich (/
), was es zu einem absoluten Pfad macht, es wird nicht von den CDPATH
Umgebungsvariable.
Um dies zu demonstrieren, geben wir Folgendes ein:
cd c
cd prolog
cd /usr
cd forth
Die CDPATH
Umgebungsvariable ist wirklich ein Pfad, genau wie die PATH
Umgebungsvariable. Wenn Sie einen Befehl eingeben, durchsucht die Shell die Speicherorte im PATH
für ein Spiel. Wenn Sie verwenden CDPATH
, durchsucht die Shell die Orte im CDPATH
Umgebungsvariable für eine Übereinstimmung. Auch das gleiche wie PATH
, CDPATH
kann mehrere Standorte enthalten.
Damit die Shell das aktuelle Verzeichnis durchsucht, bevor andere Speicherorte im CDPATH
Umgebungsvariable, fügen Sie einfach einen Punkt hinzu ( .
) am Anfang des Pfades wie folgt:
export CDPATH=.:/home/dave/work/dev/projects
Um Ihre Einstellungen dauerhaft zu machen, müssen Sie sie einer Konfigurationsdatei hinzufügen, wie z .bashrc
.
Beachten Sie Folgendes: Wenn Sie ein Basisverzeichnis festlegen, wirkt sich dies auch auf Verzeichnisänderungen innerhalb von Skripten aus. Um dies zu vermeiden, können Sie absolute Pfade in Ihren Skripten oder einen Test in Ihrem Skript verwenden .bashrc
Datei, wenn Sie Ihre angeben CDPATH
, Wie nachfolgend dargestellt:
if test "${PS1+set}"; then CDPATH=.:/home/dave/work/dev/projects; fi
Dies führt einen Test durch, um zu sehen, ob die Befehlszeilen-Eingabeaufforderungsvariable, $PS1
, war eingestellt. Die CDPATH
Umgebungsvariable wird nur gesetzt, wenn der Test erfolgreich ist.
Shopt mit CD verwenden
Mit dem shopt
Befehl, können Sie bestimmte Optionen für die Shell festlegen. Einige davon können Ihre Nutzung von verbessern cd
. Um sie einzustellen, verwenden Sie die -s
(aktivieren) Option mit shopt
um ihm einen Optionsnamen zu übergeben.
Die cdspell
Option überprüft Ihre Verzeichnisnamen und korrigiert einige häufige Tippfehler, einschließlich vertauschter oder fehlender Zeichen oder Namen mit zu vielen Zeichen. Wenn ein Verzeichnis gefunden wird, das einer der Korrekturen entspricht, wird der korrigierte Pfad gedruckt und die cd
Aktion stattfindet.
Als Beispiel geben wir Folgendes ein, um die cdspell
Option und schreiben Sie «Desktop» falsch, um zu sehen, ob die Shell es für uns korrigiert:
shopt -s cdspell
cd Desktpo
Die Shell hat den Fehler erkannt, korrigiert und in das Verzeichnis „Desktop“ gewechselt.
Andere shopt
Option, die Sie mit verwenden können cd
ist autocd
. Es macht das Tippen überflüssig cd
überhaupt. Alles, was Sie eingeben, bei dem es sich nicht um einen Befehl, kein Skript oder eine andere ausführbare Datei (z. B. ein Alias) handelt, wird als Zielverzeichnis verwendet. Wenn Sie in dieses Verzeichnis übertragen können, wird es im Terminalfenster gedruckt und Sie werden in dieses Verzeichnis geändert.
Als Beispiel geben wir Folgendes ein:
shopt -s autocd
/usr/local/games
/etc
~
Sehen! Sie können über das gesamte Dateisystem hüpfen, ohne es zu verwenden cd
!
Die Einstellungen, die Sie mit ändern shopt
wirken sich nur auf interaktive Shells aus, nicht auf Skripte.
Die CD-Sammlung
All dies werden Sie wahrscheinlich nicht übernehmen. Es ist jedoch wahrscheinlich, dass Sie hier etwas Interessantes oder Vorteilhaftes gefunden haben. Schließlich ist alles gut, was Ihre Befehlszeilennavigation beschleunigt oder vereinfacht!