CD (Befehl)

CD / Chdir
Plan 9 from Bell Labs (process management).png
Das cd Befehl in an rc Sitzung laufend Plan 9 von Bell Labs
Entwickler (en) AT & T Bell Laboratories, Metacomco, Microsoft, IBM, DR, Novell, HP, JP -Software, Reactos -Mitwirkende
Betriebssystem Unix, Unix-artig, V, DOS, MSX-dos, Flexos, OS/2, Tripos, Fenster, MPE/ix, Plan 9, Inferno, Reactos, Kolibrios, Symbos
Plattform Plattformübergreifend
Typ Befehl

Das cd Befehl, auch bekannt als als chdir (CHAnge DirEktory) ist a Befehlszeile Hülse Befehl zum Ändern des Stroms Arbeitsverzeichnis in verschiedenen Betriebssysteme. It can be used in Shell -Skripte und Stapeldateien.

Implementierungen

Der Befehl wurde in Betriebssystemen wie z. Unix, DOS, IBM OS/2,[1] Metacomco Tripos,[2] Amigaos[3] (Wo wenn ein kahl Weg ist gegeben, CD ist impliziert), Microsoft Windows, Reactos,[4] und Linux. An MS-DOSEs ist in den Versionen 2 und später erhältlich.[5] Dr. DOS 6.0 beinhaltet auch eine Implementierung der cd und chdir Befehle.[6] Der Befehl ist auch in der erhältlich Open Source MS-DOS Emulator Dosbox und in der EFI -Hülle.[7] Es heißt chdir in HP MPE/ix.[8] Der Befehl ist analog zu dem Stratus OpenVos change_current_dir Befehl.[9]

cd wird häufig direkt in einen Befehlszeilen-Interpreter eingebaut. Dies ist in den meisten Fällen der Fall Unix -Muscheln (Bourne Shell, TCSH, verprügeln, etc.), cmd.exe auf Microsoft Windows NT/2000+ und Windows PowerShell an Windows 7+ und Command.com auf DOS/ Microsoft Windows 3.x-9x/MICH.

Das Systemanruf das den Befehl in den meisten Betriebssystemen beeinflusst, ist chdir das ist definiert durch Posix.

Befehlszeilenschalen unter Windows verwenden normalerweise die Windows -API Um das aktuelle Arbeitsverzeichnis zu ändern, während auf UNIX -Systemen cd ruft die chdir() Posix C Funktion. Dies bedeutet, dass bei Ausführung des Befehls kein neuer Prozess erstellt wird, um in das andere Verzeichnis zu migrieren, wie dies bei anderen Befehlen wie der Fall ist, z. B. ls. Stattdessen führt die Shell selbst diesen Befehl aus. Dies liegt daran Prozess geschaffen, Kinderprozess erbt das Verzeichnis, in dem die Elternprozess wurde geschaffen. Wenn die cd Der Befehl erbt das übergeordnete Verzeichnis "Verzeichnis", dann wird das Ziel der Befehls -CD niemals erreicht.

Windows PowerShell, Microsoft objektorientierte Befehlszeilenschale und Skriptspracheführt die aus cd Befehl (cmdlet) innerhalb des Shell -Prozesses. Da PowerShell jedoch auf dem basiert .NET Framework und hat eine andere Architektur als frühere Muscheln, alle CMDlets von Powershell mögen ls, rm usw. im Prozess der Shell laufen. Dies gilt natürlich nicht für Legacy -Befehle, die immer noch in einem separaten Prozess ausgeführt werden.

Verwendungszweck

A Verzeichnis ist ein logischer Abschnitt von a Dateisystem Wird verwendet, um Dateien zu halten. Verzeichnisse können auch andere Verzeichnisse enthalten. Das cd Der Befehl kann verwendet werden, um in ein Unterverzeichnis zu wechseln, zurück in das übergeordnete Verzeichnis zu gehen, bis zum Übergang zurück zu dem Wurzelverzeichnis oder in ein bestimmtes Verzeichnis wechseln.

Betrachten Sie den folgenden Unterabschnitt eines UNIX -Dateisystems, in dem ein Benutzer angezeigt wird Heimverzeichnis (dargestellt als ~) mit einer Datei, text.txtund drei Unterverzeichnisse.

Die Ansicht eines Benutzers des Dateisystems in UNIX-ähnlichen Systemen beginnt mit dem Home-Verzeichnis (oft abgekürzt zu ~). Von dort aus kann sich der Baum in mehr Unterverzeichnissen und/oder Dateien ausbreiten.

Wenn das aktuelle Arbeitsverzeichnis des Benutzers das Heimverzeichnis ist (~) und dann den Befehl eingeben ls gefolgt von cd games könnte das folgende Transkript erzeugen:

Benutzer@wikipedia: ~ $ lsWorkreports Games Encyclopedia text.txt Benutzer@wikipedia: ~ $ CD Spieleuser@wikipedia: ~/games $ 

Der Benutzer befindet sich jetzt im Verzeichnis "Spiele".

Eine ähnliche Sitzung in DOS (obwohl das Konzept eines "Heimverzeichnisses" möglicherweise nicht zutreffend ist, abhängig von der spezifischen Version[vage]) würde so aussehen:

C: \> Dir Workreports <Dir> Mi 9. Oktober 9:01 Spiele <Dir> Di 8. Oktober 14:32 Encyclopedia <dir> Montag 1. Oktober 10:05 Text TXT 1903 Thu Okt 10. 12:43 C: \> CD Spiele C: \ Games>

DOS behält jeweils separate Arbeitsverzeichnisse bei Schriftigen Laufwerkund hat auch das Konzept eines aktuellen Arbeitsantriebs. Das cd Der Befehl kann verwendet werden, um das Arbeitsverzeichnis des Arbeitsantriebs oder eines anderen beschrifteten Laufwerks zu ändern. Das Schreiben des Laufwerks als Befehl für sich selbst ändert die Arbeitsantrieb, z. C:; Alternative, cd mit dem /d Switch kann verwendet werden, um das Arbeitsantrieb und das Arbeitsverzeichnis dieses Laufwerks in einem Schritt zu ändern. Moderne Versionen von Windows simulieren dieses Verhalten für die Rückwärtskompatibilität unter Cmd.exe.[10]

Beachten Sie diese Ausführung cd Aus der Befehlszeile ohne Argumente hat in verschiedenen Betriebssystemen unterschiedliche Auswirkungen. Zum Beispiel wenn cd wird ohne Argumente in DOS, OS/2 oder Windows im Strom ausgeführt Arbeitsverzeichnis wird angezeigt (gleichwertig zu Unix PWD). Wenn cd wird ohne Argumente in UNIX ausgeführt, der Benutzer wird in das Heimverzeichnis zurückgegeben.

Ausführung der cd Der Befehl innerhalb eines Skripts oder einer Stapeldatei hat auch unterschiedliche Effekte in verschiedenen Betriebssystemen. In DOS kann das aktuelle Verzeichnis des Anrufers direkt durch die geändert werden StapeldateiVerwenden Sie diesen Befehl. Im UnixDas aktuelle Verzeichnis des Anrufers wird nicht durch den Aufruf des Skripts von dem geändert cd Befehl. Dies liegt daran, dass das Skript in Unix normalerweise innerhalb von a ausgeführt wird Unterschale.

Optionen

Unix, Unix-ähnlich

  • cd für sich oder cd ~ wird den Benutzer immer in sein Heimverzeichnis bringen.
  • cd . Lassen Sie den Benutzer im selben Verzeichnis, in dem er sich derzeit befindet, (d. H. Das aktuelle Verzeichnis wird sich nicht ändern). Dies kann nützlich sein, wenn der interne Code des Benutzers der Shell nicht mit dem Verzeichnis, in dem sie nachgebildet werden, nicht umgehen können. laufend cd . wird ihre Hülle in das nachgebildete Verzeichnis legen.
  • CD ~ Benutzername wird den Benutzer in das Heimverzeichnis des Benutzernamens bringen.
  • cd dir (ohne ein /) wird der Benutzer in ein Unterverzeichnis setzen; Zum Beispiel, wenn sie in sind /usr, Typing cd bin wird sie hineingeben /usr/bin, während cd /bin stellt sie hinein /bin.
  • cd .. verschiebt den Benutzer ein Verzeichnis. Also, wenn sie sind /usr/bin/tmp, cd .. bewegt sie zu /usr/bin, während cd ../.. bewegt sie zu /usr (d. H. Auf zwei Ebenen). Der Benutzer kann diese Indirektion verwenden, um auch auf Subdirektionen zuzugreifen. Also von /usr/bin/tmp, sie können verwenden cd ../../local to go to /usr/local
  • cd - Wechselt den Benutzer in das vorherige Verzeichnis. Zum Beispiel, wenn sie in sind /usr/bin/tmp, und gehen zu /etc, sie können tippen cd - zurückgehen zu /usr/bin/tmp. Der Benutzer kann dies verwenden, um zwischen zwei Verzeichnissen hin und her zu wechseln.

DOS, OS/2, Windows, Reactos

  • Keine Attribute Drucken Sie das volle Weg des aktuellen Verzeichnisses.
  • -p Drucken Sie den endgültigen Verzeichnisstapel genau wie Dirs.
  • -n Die Einträge werden gewickelt, bevor sie den Rand des Bildschirms erreichen.
  • -v Die Einträge werden pro Zeile gedruckt, deren Stapelpositionen vorangegangen sind.
  • cd\ (Nur DOS und Windows) kehrt zum Root -Dir. Folglich Befehl cd\subdir Bringt den Benutzer immer zum benannten Unterverzeichnis auf der Wurzelverzeichnisunabhängig davon, wo sie sich befinden, wenn der Befehl ausgestellt wird.

Andere Dolmetscher als eine Betriebssystemschale

In dem DateitransferprotokollDer jeweilige Befehl ist geschrieben CWD im Steuerstrom, ist aber als verfügbar als cd in den meisten Klient Befehlszeilenprogramme. Einige Kunden haben auch die lcd zum Ändern des Arbeitsverzeichnisses local.

Das Numerisches Computer Umgebungen Matlab und Gnu octave einbeziehen a CD Funktion mit ähnlicher Funktionalität.[11][12] Der Befehl bezieht sich auch auf Befehlszeileninterpreten verschiedener anderer Anwendungssoftware.

Siehe auch

Verweise

  1. ^ "Jatomes helfen - OS/2 -Befehle". www.jatomes.com. Archiviert von das Original Am 2019-04-14. Abgerufen 2019-08-11.
  2. ^ "Einführung in Tripos" (PDF). Abgerufen 2020-05-01.
  3. ^ Rügheimer, Hannes; Spanik, Christian (1. Mai 1988). Amigados Schnellreferenz. Grand Rapids, MI: Abacus. ISBN 9781557550491 - über das Internetarchiv.
  4. ^ "Reactos/Reactos". GitHub. 3. Januar 2022.
  5. ^ Wolverton, Van (2003). RUNSE MS-DOS Version 6.22 (20-jährige Jubiläumsausgabe), 6. Überarbeitete Ausgabe. Microsoft Press. ISBN 0-7356-1812-7.
  6. ^ "Dr. DOS 6.0 Benutzerhandbuch Optimierung und Konfigurationstipps" (PDF). Archiviert von das Original (PDF) Am 2019-09-30. Abgerufen 2019-08-13.
  7. ^ "EFI -Muscheln und Skripten". Intel. Abgerufen 2013-09-25.
  8. ^ "MPE/IX -Befehlsreferenzhandbuch" (PDF).
  9. ^ "OpenVOS -Befehle Referenzhandbuch" (PDF). Stratadoc.stratus.com. Abgerufen 2020-09-12.
  10. ^ "11. Oktober 2010". Das alte neue Ding.
  11. ^ "Aktueller Ordner ändern - MATLAB CD". www.mathworks.com.
  12. ^ "Funktionsreferenz: CD". Octave.SourceForge.io.

Weitere Lektüre

  • Wolverton, Van (1990). MS-DOS-Befehle: Microsoft Quick Reference, 4. Überarbeitete Ausgabe. Microsoft Press. ISBN 978-1-55615-289-4.
  • John Paul Müller (2007). Windows -Administration in der Befehlszeile für Windows Vista, Windows 2003, Windows XP und Windows 2000. John Wiley & Sons. ISBN 978-0-470-16579-9.
  • Barrett, Daniel J. (2012). Macintosh Terminal Pocket Guide: Befehl Ihrem Mac übernehmen. O'Reilly. ISBN 978-1-4493-2898-6.

Externe Links