Çalışma dizini - Working directory

İçinde bilgi işlem, çalışma dizini bir süreç bir dizin hiyerarşik dosya sistemi, varsa,[nb 1] her işlemle dinamik olarak ilişkilendirilmiştir. Bazen denir mevcut çalışma dizini (CWD), Örneğin. BSD getcwd (3) işlev veya sadece mevcut dizin.[1] İşlem, basit bir dosya adı veya göreli kullanan bir dosyaya başvurduğunda yol (bir dosyadan tam bir yolla belirtilen dosyanın aksine kök dizini ), referans sürecin çalışma dizinine göre yorumlanır. Örneğin çalışma dizini olan bir süreç / tavşan-ayakkabı dosyayı oluşturmanızı isteyen foo.txt dosyayı oluşturacak /rabbit-shoes/foo.txt.

İşletim sistemlerinde

Çoğu bilgisayar dosya sisteminde, her dizinin bir girişi vardır (genellikle ".") dizinin kendisini gösterir.

Çoğunlukla DOS ve UNIX komut kabukları yanı sıra Microsoft Windows komut satırı yorumlayıcıları cmd.exe ve Windows PowerShell, çalışma dizini kullanılarak değiştirilebilir CD veya CHDIR komutlar. İçinde Unix kabukları, pwd command çalışma dizininin tam yol adını verir; DOS ve Windows'taki eşdeğer komut CD veya CHDIR olmadan argümanlar (oysa Unix'te, CD argümansız kullanıldığında kullanıcıyı geri götürür ana dizin ).

Çevre değişkeni PWD (Unix / Linux kabuklarında) veya sözde ortam değişkenleri CD (Windows'ta COMMAND.COM ve cmd.exe, ancak OS / 2 ve DOS'ta değil) veya _CWD, _CWDS, _CWP ve _CWPS (altında 4DOS, 4OS2, 4SA vb.)[2] komut dosyalarında kullanılabilir, böylece harici bir program başlatmaya gerek kalmaz. Microsoft Windows dosya kısayolları çalışma dizinini saklama yeteneğine sahiptir.

COMMAND.COM içinde DR-DOS 7.02 ve üstü sağlar ECHOS, bir çeşidi EKO sonlanan satır beslemesini atlayan komut.[3][2] Bu, çalışma dizinini aşağıdaki gibi bir ortam değişkeninde depolayan geçici bir toplu iş oluşturmak için kullanılabilir. CD daha sonra kullanmak için, örneğin:

ECHOS SET CD => SETCD.BATCHDIR >> SETCD.BATCALL SETCD.BATDEL SETCD.BAT

Alternatif olarak, altında Çok kullanıcılı DOS ve DR-DOS 7.02 ve üstü, çeşitli dahili ve harici komutlar bir parametreyi destekler / B ("Toplu" için).[4] Bu, komutların çıktısını doğrudan komut satırı girişi için (bir toplu iş dosyasına yeniden yönlendirirken) veya diğer komutlar için bir parametre olarak (başka bir komut için girdi olarak kullanarak) uygun hale getirecek şekilde değiştirir. Nerede CHDIR gibi bir dizin yolu verir C: DOSgibi bir komut CHDIR / B çıkarır CHDIR C: DOS bunun yerine CHDIR / B> RETDIR.BAT bu dizine daha sonra dönülmesine izin veren geçici bir toplu iş oluşturur.

Çalışma dizini ayrıca P[nb 2] simgesi KOMUT İSTEMİ komut [5] İstemi derin alt dizin yapılarının içinde bile kısa tutmak için, DR-DOS 7.07 COMMAND.COM bir W $[nb 2] simgesi yalnızca en derin alt dizin düzeyini görüntülemek için. Öyleyse, varsayılan nerede PROMPT $ P $ G e. sonuçlanır içinde C: DOS> veya C: DOS DRDOS>, bir PROMPT $ N: $ W $ G yerine verirdi C: DOS> ve C: DRDOS>, sırasıyla. Benzer bir tesis (kullanan W $ ve $ w) eklendi 4DOS yanı sıra.[2]

DOS altında, tüm birimlerin çalışma dizinlerinin mutlak yolları, dahili olarak, adı verilen dizi benzeri bir veri yapısında depolanır. Mevcut Dizin Yapısı (CDS ), tüm sürücüler için gerekli sayıda yuvayı tutmak üzere önyükleme sırasında dinamik olarak ayrılan (veya LASTDRIVE.[6][7] Bu yapı, her bir çalışma dizininin tam yoluna 66 karakterlik bir uzunluk sınırı koyar ve dolayısıyla dolaylı olarak alt dizinlerin maksimum olası derinliğini de sınırlar.[6] DOS Plus ve daha eski DR DOS sorunları (en fazla DR DOS 6.0 1991'de) böyle bir sınırlama yoktu[7][8][2] bir DOS öykünmesi kullanarak gerçekleştirilmeleri nedeniyle Eşzamanlı DOS - (ve böylece CP / M-86 -) alt dizinleri mutlak yollar yerine ana dizinlere göreceli bağlantılar olarak dahili olarak düzenleyen türetilmiş çekirdek.[7][8] Dan beri PalmDOS ve DR DOS 6.0 (1992'den beri) ve üstü, DOS programlarıyla maksimum uyumluluk için bir CDS kullanmaya geçiş yaptılar, diğer DOS'larda mevcut olan aynı sınırlamalarla karşılaştılar.[7][8]

Programlama dillerinde

Çoğu Programlama dilleri sağlamak arayüz için dosya sistemi Programın çalışma dizinini ayarlama (değiştirme) yeteneği de dahil olmak üzere işletim sisteminin işlevleri.

İçinde C dili, POSIX işlevi chdir () etkiler sistem çağrısı çalışma dizinini değiştirir.[9] Argümanı bir Metin dizesi yeni dizine giden bir yolla, mutlak veya eskisine göre. Mümkün olduğunda, çalışma dizinini ayarlamak için bir işlem tarafından çağrılabilir.

Diğer dillerde de aynı işlev vardır. İçinde Visual Basic genellikle hecelenir CHDIR ().

Aksine Windows API veya POSIX C işlev, ne de Java programlama dili ne de Java Sanal Makinesi destekler chdir () direkt olarak;[açıklama gerekli ] a değişiklik isteği Java'dan sorumlu ekip alternatifleri değerlendirirken on yıldan fazla bir süre açık kaldı, ancak 2008'de talep yalnızca sınırlı destek sunulmasının ardından reddedildi (ilk olarak java.lang.Runtime ve sonra, java.lang.ProcessBuilder).[10]

Ayrıca bakınız

Notlar

  1. ^ Var işletim sistemleri destekleyen hiyerarşik dosya sistemi ancak "çalışma dizini" kavramı yoktur; Örneğin Texas Instruments ' DX10, için kullanılır TI-990 dizi.
  2. ^ a b Aynı şekilde O $ alternatif olarak çalışır P altında DR-DOS COMMAND.COM, W $ takma adı var Y $ bunun dışında bastırılır disketler önlemek için kritik hata takılı olmayan bir disketin yolunu almaya çalışırken mesajlar veya gecikmeler.

Referanslar

  1. ^ "Microsoft Windows - SetCurrentDirectory işlevi". Microsoft. Arşivlendi 2018-05-27 tarihinde orjinalinden. Alındı 2017-05-27.
  2. ^ a b c d Kardeşler, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R .; Boya, Charles E .; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 çevrimiçi yardım.
  3. ^ DR-DOS 7.03 WHATSNEW.TXT - DR-DOS 7.02'den DR-DOS 7.03'e Değişiklikler. Caldera, Inc. 1998-12-24. Arşivlendi 2019-04-08 tarihinde orjinalinden. Alındı 2019-04-08.
  4. ^ CCI Multiuser DOS 7.22 GOLD Çevrimiçi Belgeler. Concurrent Controls, Inc. (CCI). 1997-02-10. HELP.HLP.
  5. ^ Caldera DR-DOS 7.02 Kullanım Kılavuzu. Caldera, Inc. 1998 [1993, 1997]. Arşivlenen orijinal 2016-11-04 tarihinde. Alındı 2013-08-10.
  6. ^ a b Schulman, Andrew; Kahverengi, Ralf D.; Maxey, David; Michels, Raymond J .; Kyle, Jim (1994) [Kasım 1993]. Belgelenmemiş DOS: MS-DOS işlevlerine ve veri yapılarına ayrılmış bir programcı kılavuzu - MS-DOS 6, Novell DOS ve Windows 3.1'i içerecek şekilde genişletildi (2 ed.). Massachusetts, Okuma: Addison Wesley. ISBN  0-201-63287-X. ISBN  978-0-201-63287-3. (xviii + 856 + vi sayfaları, 3,5 inç disket) Hatalar: [1][2]
  7. ^ a b c d Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs - İpuçları ve Püf Noktaları rund um Novell DOS 7, mit Blick auf undokumentierte Ayrıntılar, Hatalar ve Geçici Çözümler. MPDOSTIP. Sürüm 157 (Almanca) (3 ed.). Arşivlendi 2017-09-10 tarihinde orjinalinden. Alındı 2014-08-06. (NB. NWDOSTIP.TXT, birçok belgelenmemiş özelliğin ve dahili öğenin açıklaması da dahil olmak üzere Novell DOS 7 ve OpenDOS 7.01 üzerinde kapsamlı bir çalışmadır. Yazarın daha büyük MPDOSTIP.ZIP koleksiyon 2001 yılına kadar sürdürüldü ve o sırada birçok sitede dağıtıldı. Sağlanan bağlantı, web sitesinin HTML ile dönüştürülmüş eski bir sürümüne işaret ediyor. NWDOSTIP.TXT dosya.) [3]
  8. ^ a b c Paul, Matthias R. (1997-06-07) [Nisan 1994]. "Bölüm 1.3.xi: Überlange Pfade". NWDOS7UN.TXT - Zusammenfassung der dokumentierten undokumentierten Fähigkeiten von Novell DOS 7. MPDOSTIP. Sürüm 85 (Almanca). Arşivlendi 2016-11-07 tarihinde orjinalinden. Alındı 2016-11-07.
  9. ^ "Açık Grup Temel Özellikleri Sayı 6 ve IEEE Std 1003.1" (Sayı 6, 2004 ed.). IEEE ve Açık Grup. 2004 [2001]. Arşivlendi 2018-02-09 tarihinde orjinalinden. Alındı 2018-05-27.
  10. ^ "JDK-4045688: Chdir veya eşdeğer çalışma dizini değiştirme kavramını ekleyin". Hata Veritabanı. Oracle (Sun Microsystems ). 2008-08-18 [1997-04-17]. Arşivlendi 2017-10-19 tarihinde orjinalinden. Alındı 2011-02-20.

daha fazla okuma

Dış bağlantılar