Cd (Befehl)

, manchmal auch verfügbar als (ändern Verzeichnis), ist ein Befehl-Linienbefehl, das aktuelle Arbeitsverzeichnis in Betriebssystemen wie Unix, DOS, OS/2, AmigaOS zu ändern (wo, wenn ein bloßer Pfad gegeben wird, cd einbezogen wird), Windows und Linux. Es ist auch für den Gebrauch in Schale-Schriften und Gruppe-Dateien verfügbar.

chdir (2) ist der Systemanruf, der das Arbeitsverzeichnis ändert, wie definiert, durch POSIX. ist auch eine Grundlegende Sehfunktion, die das Arbeitsverzeichnis ändert.

Gebrauch

Ein Verzeichnis ist eine logische Abteilung eines Dateisystems, das verwendet ist, um Dateien zu halten. Verzeichnisse können auch andere Verzeichnisse enthalten. Der Befehl kann verwendet werden, um sich in ein Unterverzeichnis zu ändern, ins Elternteilverzeichnis zurückzukehren, den ganzen Weg zum Wurzelverzeichnis zurückzugehen oder sich zu jedem gegebenen Verzeichnis zu bewegen.

Denken Sie den folgenden Paragraph von Unix filesystem, der ein Hausverzeichnis eines Benutzers (vertreten als"") mit einer Datei ("") und drei Unterverzeichnisse zeigt.

Wenn das aktuelle Arbeitsverzeichnis des Benutzers das Hausverzeichnis ist (""), dann könnte das Eingehen in den Befehl, der davon gefolgt ist, die folgende Abschrift erzeugen:

user@wikipedia:~ $ ls

Workreports-Spielenzyklopädie text.txt

user@wikipedia:~ $ cd Spiele

user@wikipedia: ~/games$\

</Quelle>

Der Benutzer ist jetzt im "Spiel"-Verzeichnis.

Eine ähnliche Sitzung in DOS (obwohl das Konzept eines "Hausverzeichnisses" abhängig von der spezifischen Version nicht gelten kann) würde wie das aussehen:

C:\> dir

workreports

Spiele

Enzyklopädie

Text txt 1903-Donnerstag Oct10th 12:43

C:\> cd Spiele

C:\games>

DOS erhält getrennte Arbeitsverzeichnisse für jeden gelehrten Laufwerk aufrecht, und hat auch das Konzept eines aktuellen Arbeitslaufwerkes. Der Befehl kann verwendet werden, um das Arbeitsverzeichnis des Arbeitslaufwerkes oder eines anderen gelehrten Laufwerkes zu ändern. Das Schreiben des Laufwerk-Briefs als ein Befehl auf seinen eigenen Änderungen der Arbeitslaufwerk, z.B; wechselweise, mit dem Schalter kann verwendet werden, um den Arbeitslaufwerk und dass das Arbeitsverzeichnis des Laufwerkes in einem Schritt zu ändern.

Moderne Versionen von Windows täuschen dieses Verhalten für umgekehrt die Vereinbarkeit unter cmd.exe vor.

Bemerken Sie, dass die Durchführung von der Befehl-Linie ohne Argumente verschiedene Effekten in verschiedenen Betriebssystemen hat. Zum Beispiel, wenn ohne Argumente in DOS, OS/2 oder Windows durchgeführt wird, wird das aktuelle Arbeitsverzeichnis gezeigt. Wenn ohne Argumente in Unix durchgeführt wird, wird der Benutzer ins Hausverzeichnis zurückgegeben.

Die Durchführung des Befehls innerhalb einer Schrift oder Gruppe-Datei hat auch verschiedene Effekten in verschiedenen Betriebssystemen. In DOS kann das aktuelle Verzeichnis des Anrufers durch den Gruppe-Dateigebrauch dieses Befehls direkt verändert werden. In Unix wird das aktuelle Verzeichnis des Anrufers durch die Beschwörung der Schrift des Befehls nicht verändert. Das ist, weil in Unix die Schrift gewöhnlich innerhalb einer Subschale durchgeführt wird.

Optionen (Version spezifisch)

  • Kehren Sie zum Hausverzeichnis (UNIX) zurück oder drucken Sie den vollen Pfad des aktuellen Verzeichnisses (DOS und Windows)
  • Drucken Sie den Endverzeichnisstapel gerade wie dirs.
  • (UNIX nur), oder (UNIX nur) in der Produktion wird ausführlich zum Haus oder dem pathname des Hausverzeichnisses für den Benutzernamen ausgebreitet.
  • Einträge werden gewickelt, bevor sie den Rand des Schirms erreichen.
  • Einträge werden ein pro Linie gedruckt, die durch ihre Stapel-Positionen vorangegangen ist.
  • (DOS und Windows nur) kehrt zur Wurzel dir zurück. Folglich bringt Befehl immer den Benutzer ins genannte Unterverzeichnis auf dem Wurzelverzeichnis, unabhängig davon, wo er gelegen wird, wenn der Befehl ausgegeben wird.

Anwendung einiger Optionen (unix)

cd allein oder cd ~ werden Sie immer in Ihrem Hausverzeichnis bringen.

cd ~username wird Sie im Hausverzeichnis des Benutzernamens bringen.

cd dir (ohne/) wird Sie in einem Unterverzeichnis bringen. zum Beispiel, wenn Sie in/usr sind, wird das Tippen cd Behälter Sie in/usr/bin bringen, während cd / Behälter Sie im / Behälter bringt.

cd. wird Sie ein Verzeichnis bewegen. Also, wenn Sie/usr/bin/tmp sind, bewegt cd. Sie zu/usr/bin, während cd../.. Bewegungen Sie zu/usr (d. h. zwei Niveaus). Sie können diesen Umweg verwenden, um auf Unterverzeichnisse auch zuzugreifen. Also, von/usr/bin/tmp können Sie cd../../lokaler verwenden, um zu/usr/local zu gehen.

cd - wird Sie zum vorherigen Verzeichnis schalten. Zum Beispiel, wenn Sie in/usr/bin/tmp sind, und zu / usw. gehen., Sie können cd tippen - um zu/usr/bin/tmp zurückzugehen. Sie können das am Knebelknopf hin und her zwischen zwei Verzeichnissen verwenden.

Wie es arbeitet

wird oft gebaut direkt in den Befehl-Liniendolmetscher eingeschlossen. Das ist in den meisten Schalen von Unix (Bach-Schale, tcsh, heftiger Schlag, usw.), und Windows PowerShell auf Windows und auf DOS der Fall.

Befehl-Linienschalen auf Windows verwenden gewöhnlich die Windows-API, um das aktuelle Arbeitsverzeichnis zu ändern, wohingegen auf Unix Systeme den POSIX C Funktion nennen. Das bedeutet, dass, wenn der Befehl durchgeführt wird, kein neuer Prozess geschaffen wird, um zum anderen Verzeichnis abzuwandern, wie mit anderen Befehlen wie ls der Fall ist. Statt dessen führt die Schale selbst diesen Befehl durch. Das ist, weil, wenn ein neuer Prozess geschaffen wird, Kinderprozess das Verzeichnis erbt, in dem der Elternteilprozess geschaffen wurde. Wenn der Befehl das Verzeichnis des Elternteilprozesses erbt, dann wird das Ziel des Befehls cd nie erreicht.

Verschieden von der Windows-API oder POSIX C Funktion weder die javanische Programmiersprache noch Java unterstützt Virtuelle Maschine direkt; eine Änderungsanforderung ist offen seit mehr als einem Jahrzehnt geblieben, während die für Java verantwortliche Mannschaft die Alternativen gedacht hat, obwohl vor 2008 die Bitte bestritten wurde, nachdem nur beschränkte Unterstützung eingeführt wurde (das Beeinflussen zuerst und später,

</Code>).

Windows PowerShell, die objektorientierte Befehl-Linienschale des Microsofts und scripting Sprache führt den Befehl (cmdlet) innerhalb des Prozesses der Schale durch. Jedoch, da PowerShell auf dem.NET Fachwerk basiert und eine verschiedene Architektur hat als vorherige Schalen, alle cmdlets von PowerShell wie ls, rm usw. geführt im Prozess der Schale. Natürlich ist das für Vermächtnis-Befehle nicht wahr, die noch in einem getrennten Prozess laufen.

Siehe auch

  • Verzeichnisstruktur
  • pushd und popd
  • chroot

Allgemeine Verweisungen:

Spezifische Verweisungen:


Mauna Loa / Hondo, Kumamoto
Impressum & Datenschutz