Connect with us

Wie man

So verwenden Sie den cd-Befehl unter Linux

So vergleichen Sie zwei Textdateien im Linux-Terminal

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!

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia