Arbeitsverzeichnis
Im Computer, das Arbeitsverzeichnis von a Prozess ist ein Verzeichnis einer hierarchischen Dateisystem, wenn überhaupt,[NB 1] Dynamisch mit jedem Prozess verbunden. Es wird manchmal das genannt aktuelles Arbeitsverzeichnis (CWD), z.B. das BSD GetCwd[1] Funktion oder gerecht Aktuelles Verzeichnis.[2] Wenn sich der Prozess auf eine Datei unter Verwendung eines einfachen Dateinamens oder Relativs bezieht Weg (im Gegensatz zu einer Datei, die durch einen vollständigen Weg von a bestimmt ist Wurzelverzeichnis), die Referenz wird relativ zum Arbeitsverzeichnis des Prozesses interpretiert. Zum Beispiel ein Prozess mit Arbeitsverzeichnis /Kaninchenschuh Das wird aufgefordert, die Datei zu erstellen foo.txt Erstellt die Datei am Ende /rabbitshoes/foo.txt.
In Betriebssystemen
In den meisten Computerdateisystemen hat jedes Verzeichnis einen Eintrag (normalerweise benannt "..") die auf das Verzeichnis selbst hinweist.
In den meisten DOS und Unix Befehlsschalensowie in der Microsoft Windows Befehlszeilen -Dolmetscher cmd.exe und Windows PowerShellDas Arbeitsverzeichnis kann durch die Verwendung der verwendet werden CD oder Chdir Befehle. Im Unix -Muscheln, das PWD Der Befehl gibt einen vollständigen Pfadnamen des Arbeitsverzeichnisses aus; Der äquivalente Befehl in DOS und Windows ist CD oder Chdir ohne Argumente (während in Unix, CD ohne Argumente verwendet, bringt den Benutzer zurück zu seinem/sie Heimverzeichnis).
Das Umgebungsvariable PWD (in Unix/Linux -Shells) oder der Pseudo-Umweltvariablen CD (in Windows Command.com und cmd.exe, aber nicht in os/2 und dos) oder _Cwd, _Cwds, _Cwp und _Cwps (unter 4dos, 4OS2, 4nt etc.)[3] Kann in Skripten verwendet werden, so dass man kein externes Programm starten muss. Microsoft Windows Dateiverknüpfungen die Möglichkeit haben, das Arbeitsverzeichnis zu speichern.
Command.com in DR-DOS 7.02 und höher liefert Echoseine Variante der ECHO Befehl, das Kündigungszeilenfeed wegzulassen.[4][3] Dies kann verwendet werden, um ein temporäres Batchjob zu erstellen, das das Arbeitsverzeichnis in einer Umgebungsvariablen speichert CD Zum Beispiel für die spätere Verwendung:
Echos set CD => setCD.bat chdir >> setCD.bat Call setCD.bat del setCD.bat
Alternativ unter Multiuser dos und DR-DOS 7.02 und höher, verschiedene interne und externe Befehle unterstützen einen Parameter /B (für "Batch").[5] Dadurch wird die Ausgabe von Befehlen so verändert, dass sie für die direkte Befehlszeileneingabe (beim Umleiten in eine Stapeldatei) oder die Verwendung als Parameter für andere Befehle (Verwendung als Eingabe für einen anderen Befehl) geeignet sind. Wo Chdir Würde einen Verzeichnisweg wie ausstellen wie C: \ dos
, ein Befehl wie Chdir /b würde ausstellen Zdir c: \ dos
Stattdessen so das Chdir /b> retdir.bat Würde einen temporären Batchjob erstellen, der später zu diesem Verzeichnis zurückkehren kann.
Das Arbeitsverzeichnis wird auch von der angezeigt $ P[NB 2] Token der PROMPT
Befehl [6] Um die sofortige Kurzform auch innerhalb von tiefen Unterverzeichnisstrukturen zu halten, unterstützt der DR-DOS 7.07 Command.com a $ W[NB 2] Token, um nur die tiefste Unterverzeichnisebene anzuzeigen. Also, wo ein Standardwert Prompt $ p $ g würde F.E. in C: \ dos>
oder C: \ dos \ drdos>
, a Eingabeaufforderung $ n: $ w $ g würde stattdessen ergeben C: dos>
und C: DRDOS>
, beziehungsweise. Eine ähnliche Einrichtung (Verwendung $ W und $ w) wurde hinzugefügt zu 4dos auch.[3]
Unter DOS werden die absoluten Wege der Arbeitsverzeichnisse aller logischen Volumina intern in einer Array-ähnlichen Datenstruktur gespeichert, die als die als die genannt wird Aktuelle Verzeichnisstruktur (CDS), das zum Zeitpunkt der Startzeit dynamisch zugewiesen wird, um die erforderliche Anzahl von Slots für alle logischen Laufwerke zu halten (oder wie durch definiert von LEUTDRIVE).[7][8][9] Diese Struktur legt eine Länge von 66 Zeichen auf dem vollständigen Pfad jedes Arbeitsverzeichnisses auf und begrenzt daher implizit auch die maximal mögliche Tiefe von Unterverzeichnissen.[7] Dos plus und ältere Probleme von Dr. DOS (bis zu Dr. DOS 6.0, mit Bdos 6.7 1991) hatte keine solche Einschränkung[8][10][3] Aufgrund ihrer Implementierung mit einer DOS -Emulation über a Gleichzeitige dos- (und somit CP/M-86-) abgeleiteter Kernel, der intern unter organisierte Unterverzeichnisse als relativ Links zu übergeordneten Verzeichnissen statt von AS absolut Wege.[8][10] Seit Palmdos (Mit BDOS 7.0) und Dr. DOS 6.0 (1992 Update mit BDOS 7.1) und höher umgeschaltet, um eine CDS für maximale Kompatibilität mit DOS -Programmen zu verwenden, konfrontierten sie die gleichen Einschränkungen wie in anderen Dosen.[8][10]
In Programmiersprachen
Die meisten Programmiersprachen angeben Schnittstelle zum Dateisystem Funktionen des Betriebssystems, einschließlich der Möglichkeit, das Arbeitsverzeichnis des Programms festzulegen (zu ändern).
In dem C Sprache, das Posix Funktion chdir ()
Auswirkungen der Systemanruf das ändert das Arbeitsverzeichnis.[11] Sein Argument ist a Textzeichenfolge Mit einem Weg zum neuen Verzeichnis, entweder absolut oder relativ zum alten. Wenn verfügbar, kann es von einem Prozess aufgerufen werden, um sein Arbeitsverzeichnis festzulegen.
In anderen Sprachen gibt es die gleiche Funktion. Im Visual Basic es ist normalerweise geschrieben Chdir ()
.
im Gegensatz zu den Windows -API oder Posix C Funktion, weder die der Java Programmiersprache oder die Java virtuelle Maschine Unterstützung chdir ()
direkt;[Klarstellung erforderlich] a Änderungsanforderung blieb über ein Jahrzehnt lang geöffnet, während das für Java verantwortliche Team die Alternativen in Betracht hatte, obwohl der Antrag nach 2008 abgelehnt wurde, nachdem nur begrenzte Unterstützung eingeführt wurde (betrifft zuerst zuerst Java.lang.Runtime
und später, java.lang.processbuilder
).[12]
Siehe auch
- Heimverzeichnis
- Wurzelverzeichnis
- Übergeordnetes Verzeichnis
- Chroot (Linux -Systeme)
- Lastantrieb (ein anderes, aber verwandtes Konzept)
- Langer Dateiname (LFN)
Anmerkungen
- ^ Es gibt Betriebssysteme diese Unterstützung a Hierarchischer Dateisystem aber kein Konzept des "Arbeitsverzeichnisses"; zum Beispiel Texas Instrumente' DX10, verwendet für die Ti-990 Serie.
- ^ a b So wie $ O funktioniert als Alternative zu $ P unter DR-DOS Command.com, $ W hat einen Alias $ Y außer dass es unterdrückt wird Floppies um zu vermeiden kritischer Fehler Nachrichten oder Verzögerungen beim Versuch, den Pfad eines nicht nicht gemerkten Floppy abzurufen.
Verweise
- ^
- ^ "Microsoft Windows - SetCurrentDirectory -Funktion". Microsoft. Archiviert vom Original am 2018-05-27. Abgerufen 2017-05-27.
- ^ a b c d Brüder Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 Online -Hilfe.
- ^ DR-DOS 7.03 WhatsNew.txt-Änderungen von DR-DOS 7.02 zu DR-DOS 7.03. Caldera, Inc. 1998-12-24. Archiviert vom Original am 2019-04-08. Abgerufen 2019-04-08.
- ^ CCI Multiuser DOS 7.22 Gold Online -Dokumentation. Concurrent Controls, Inc. (CCI). 1997-02-10. Hilfe.HLP.
- ^ Caldera DR-DOS 7.02 Benutzerhandbuch. Caldera, Inc. 1998 [1993, 1997]. Archiviert von das Original Am 2016-11-04. Abgerufen 2013-08-10.
- ^ a b Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undokumentierte DOS: Ein Programmierhandbuch zu reservierten MS-DOS-Funktionen und Datenstrukturen-erweitert um MS-DOS 6, Novell DOS und Windows 3.1 (2 ed.). Lesen, Massachusetts: Addison Wesley. ISBN 0-201-63287-x. ISBN978-0-201-63287-3. (xviii+856+vi Seiten, 3,5-Zoll-Diskette) Errata: [1][2]
- ^ a b c d Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPS-TIPS & Tricks Rund Um Novell Dos 7, MIT Blick Auf undokumentierte Details, Fehler und Problemumgehungen. Mpdostip. Release 157 (in Deutsch) (3 ed.). Archiviert vom Original am 2017-09-10. Abgerufen 2014-08-06. (Nb. Nwdostip.txt ist eine umfassende Arbeit zu Novell DOS 7 und Opendos 7.01, einschließlich der Beschreibung vieler undokumentierter Merkmale und Interna. Es ist Teil der noch größeren des Autors des Autors
Mpdostip.zip
Die Sammlung wurde bis 2001 gepflegt und zu dieser Zeit an vielen Standorten verteilt. Der bereitgestellte Link zeigt auf eine HTML-konvertierte ältere Version derNwdostip.txt
Datei.) [3] - ^ Brown, Ralf D.; et al., Hrsg. (2000-07-16). "Ralf Browns Interrupt -Liste" (61 ed.). Inter61.
- ^ a b c Paul, Matthias R. (1997-06-07) [April 1994]. "Kapitel 1.3.xi: überlange Pfade". Nwdos7un.txt - zusammenfassung der dokumentierten undokumentierten fähigketten von novell dos 7. Mpdostip. Release 85 (auf Deutsch). Archiviert vom Original am 2016-11-07. Abgerufen 2016-11-07.
- ^ "Die offenen Gruppenbasisspezifikationen Ausgabe 6 und IEEE STD 1003.1" (Ausgabe 6, 2004 ed.). Das IEEE und Die offene Gruppe. 2004 [2001]. Archiviert vom Original am 2018-02-09. Abgerufen 2018-05-27.
- ^ "JDK-4045688: Fügen Sie Chdir- oder gleichwertiger Begriff der Änderung des Arbeitsverzeichnisses hinzu". Fehlerdatenbank. Orakel (Sun Microsystems). 2008-08-18 [1997-04-17]. Archiviert vom Original am 2017-10-19. Abgerufen 2011-02-20.
Weitere Lektüre
- Chen, Raymond (2010-10-11). "Warum hat jedes Laufwerk ein eigenes aktuelles Verzeichnis?". Das neue alte Ding. Microsoft. Archiviert vom Original am 2016-04-12. Abgerufen 2017-05-27.
- Chen, Raymond (2010-05-06). "Was sind diese seltsamen = C: Umgebungsvariablen?". Das neue alte Ding. Microsoft. Archiviert vom Original am 2018-05-27. Abgerufen 2017-05-27.
Externe Links
- Arbeitsverzeichnis (WD) bei GitHub- Ein Softwarepaket, das häufig verwendete Verzeichnisse in a verfolgt verprügeln Sitzung