Miks kasutab Windows oma radadel kaldkriipsu (\) ja Unix pärikriipsu (/)?

Viimane uuendus: 21/04/2025
Autor: Isaac
  • Windows võttis kaldkriipsu päranduseks MS-DOS-ilt, kuna kaldkriipsu kasutati modifikaatorina käsud.
  • Unix See kasutas juba algusest peale hierarhiliste teede jaoks tavalist kaldkriipsu, mis tegi sellest Unixi-laadsete süsteemide seas standardi.
  • Mõlemad süsteemid on arenenud nii, et teatud kontekstides aktsepteerivad mõlemad tähistused, säilitades samal ajal ühilduvuse tagamiseks oma algsed stiilid.
  • Failihalduse ajaloolised ja tehnilised erinevused selgitavad, miks tänapäeval esineb koos kaks marsruutide esitamise viisi.

Unix vs Windows

Üks ilmsemaid erinevusi Windowsi ja Unixi süsteemide (ja selle derivaatide, näiteks Linux või macOS) See on viis, kuidas nad esindavad oma failisüsteemi failide teid. Kuigi Windows tugineb kaldkriips (\), Unix ja tuletised kasutavad tavaline kaldkriips (/). Esmapilgul võib see tunduda tühise probleemina, kuid selle otsuse taga peitub ühilduvuse ajalugu, tehniline pärand ja disainierinevused, mida tasub mõista.

Kas olete kunagi mõelnud, miks peate Windowsis tee tippimisel sisestama midagi sellist nagu C:\\Users\\Documents\\file.txt, samas kui Linuxi süsteemis oleks see /home/user/documents/file.txt? Vastus ei vii meid mitte ainult personaalarvutite algusaegadesse, vaid ka otsusteni, mille tegid kaks suurt andmetöötluse tegijat: ühelt poolt Microsoft ja IBM ning teiselt poolt AT&T koos oma Bell Labsiga.

Konflikti juur: DOS versus UNIX

Kõik sai alguse 80. aastate alguses, kui Microsoft töötas IBMi jaoks välja operatsioonisüsteemi MS-DOS. Siis DOS 1.0 ei toetanud hierarhilisi katalooge.; kõik oli ketta juurtes. Seetõttu ei olnud vaja keerukat teetähistust. Kuid välimusega DOS 2.0, tekkis vajadus lisada täiustatud kataloogistruktuur, mis on kooskõlas uue IBM PC/XT ja selle 10 MB kõvaketta võimalustega.

Paljud Microsofti arendajad kasutasid sel ajal xenix, UNIX-i versioon, mille Microsoft ise oli litsentsinud. Seetõttu olid nad väga harjunud tavaline kaldkriips (/) kataloogi eraldajana, nagu seda tehti UNIX-is juba ammu. Algne eesmärk oli korrata sama loogikat MS-DOS 2.0-s.

Kuid sellel oli üks oluline puudus: IBM kasutas juba kaldkriipsu (/) käskude parameetri muutjana. Näiteks kataloogi sisu üksikasjalikuks vaatamiseks, isegi täna CMD seda kasutatakse dir /w. Seda riba kasutamist "lülitina" võtsid kasutusele ka teised tolleaegsed süsteemid, näiteks Digital Equipment Corporation (DEC), ja see oli juba DOS-i põhikäskude hulgas.

Kaldkriipsu sunnitud valik

Leides, et kaldkriips oli käskude muutmiseks juba "võetud", pidid Microsofti arendajad otsima alternatiivi. Kasutamine punkt (.), mida kasutatakse sellistes süsteemides nagu DEC kataloogide eraldamiseks. Kuid DOS kasutas seda perioodi juba failinimede eraldamiseks nende laienditest (nt document.txt), seega polnud ka see võimalik.

  Kõik PowerPointi vormingud selgitatud: kasutusalad, eelised ja kuidas valida õige

See oli siis see Nad valisid kaldkriipsu (\). Kuigi see oli harva kasutatav märk, aitas see eristada teid ja säilitada ühilduvus olemasoleva käsusüntaksiga. Seega, kui DOS 2.0-s võeti kasutusele kataloogitugi, määrati tee tähistus kujul C:\\Folder\\Subfolder\\File.ext.

See näiliselt tühine otsus veniks aastakümneteks, olles päritud kõigis tulevastes Windowsi opsüsteemi versioonides., alates Windows 3.1-st kuni praeguste versioonideni Windows 11 või Server.

UNIX-i juhtum: tavaline kaldkriips loomuliku pärandina

Seevastu UNIX-süsteemid, mis pärinevad 60. aastate lõpust ja 70. aastate algusest, sündisid algusest peale hierarhilise marsruudistruktuuriga. Kasutamine kaldkriips (/) eraldi kataloogid integreeriti selle lihtsuse ja järjepidevuse tõttu loomulikult. Seega on meil sellised teed nagu /home/user/documents või /var/log/syslog.

UNIXis Käsumuutjad ei kasutanud kaldkriipsu, vaid sidekriipsu (-). Näiteks failide loetlemiseks koos üksikasjadega kasutati (ja kasutatakse siiani) käsku ls -l. See otsus vabastas kaldkriipsu eksklusiivseks kasutamiseks failiteedel, mis on osutunud intuitiivsemaks, eriti käsureal töötades.

See tähistus sai populaarseks 80. aastatel, kui UNIX ja selle tuletised (nagu BSD, Solaris, HP-UX, AIX ja hiljem Linux) levisid ülikoolides, uurimiskeskustes ja ettevõtete keskkondades.

Ristühilduvus: Windows aktsepteerib salaja kaldkriipsu

Huvitav on see, et kuigi Windows kasutab ametlikult kaldkriipsu kataloogi eraldajana, Sisemiselt saab see hakkama ka tavalise ribaga. See tähendab, kui kirjutate failiuurijas või käsus:

C:/Users/Nombre/Documentos

töötab täpselt samamoodi nagu:

C:\\Users\\Nombre\\Documentos

See on võimalik, kuna Operatsioonisüsteem teisendab tavalised kaldkriipsud automaatselt kaldkriipsudeks marsruutide töötlemisel. See funktsioon võeti kasutusele tarkvara kaasaskantavuse hõlbustamiseks UNIX-i ja Windowsi vahel ning UNIX-i tähistuspõhiste skriptide käitamise hõlbustamiseks.

Tegelikult jätsid mõned Microsofti arendajad veelgi huvitavama ukse lahti: muuta käsu muutemärki. DOS-i vanemates versioonides võite kasutada käsku SWITCHAR= muuta vaikemuutja kaldkriipsust (/) sidekriipsuks (-), mis võimaldas kaldkriipsu vabalt kasutada ka teedel.

Radade areng Windowsis: absoluutsed, suhtelised, UNC-teed ja palju muud

Tänapäeva Windowsi süsteemides on teehaldus palju põhjalikum ja paindlikum kui MS-DOS-i algusaegadel. Tänapäeval on mitmeid marsruudivorminguid, mida tasub teada:

Traditsioonilised absoluutsed marsruudid (DOS)

Nad järgivad klassikalist stiili, näiteks:

  • C:\\Usuarios\\Documentos\\archivo.pdf
  • D:\\Proyectos\\mi_archivo.docx

Seda stiili peetakse "täielikuks" teeks, kuna see sisaldab draivitähte ja juurte teed.

Suhtelised teed

Need on marsruudid, mis oleneb praegusest kataloogist. Mõned näited:

  • imagenes\\foto.jpg (tee praeguse kataloogi suhtes)
  • ..\\reportes\\enero.docx (mineke üks tase üles ja leidke fail)

Samuti on võimalik kasutada draivi juure suhtes radu koos:

  • \\Program Files\\App

UNC (Universal Naming Convention) marsruudid

Neid kasutatakse jagatud võrguressurssidele juurdepääsuks järgmises vormingus:

  • \\\\Servidor\\Compartido\\Carpeta\\Archivo.txt

Seda tüüpi marsruut on ettevõtte- ja serverikeskkondades kaugjuurdepääsu aluseks.

  Kuhu Windows 11 Notepad vaikimisi faile salvestab: asukoht, näpunäited ja kuidas see töötab?

Laiendatud marsruudid: seadmed ja GUID-id

Windows toetab ka laiendatud teid, mis on eriti kasulikud arendajatele ja administraatoritele, näiteks:

  • \\\\?\\C:\\Ruta\\Archivo.txt
  • \\\\.\\C:\\Ruta\\Archivo.txt
  • \\\\?\\UNC\\Servidor\\Compartido\\Archivo.txt

Need teed võimaldavad teil vältida süsteemi normaliseerimist, töötada teedega, mis on pikemad kui 260 tähemärki või tuvastada partitsioonid GUID-ide abil.

Marsruutide normaliseerimine ja haldamine Windowsis

Kui Windowsi programm töötab teedega, teostab operatsioonisüsteem mitmeid sisemisi protsesse, mida nimetatakse normaliseerimine:

  • Kui tee pole täielikult kvalifitseeritud, rakendage praegust kataloogi.
  • Teisendab tavalised kaldkriipsud (/) kaldkriipsudeks (\).
  • Töötleb suhtelisi komponente nagu . y ...
  • Eemaldage iga segmendi lõpust mittevajalikud tühikud ja punktid.

See protsess tagab, et isegi valesti vormindatud teed saab standardsel viisil lahendada, mis on eriti kasulik skriptide, graafiliste liideste ja API-de puhul. Tänapäeval võib Windowsi teede haldamise mõistmine aidata teil teega seotud tõrkeid otsida..

Ja kuidas on lood tänapäevaste süsteemidega, nagu PowerShell, .NET või Linux?

Tänapäeval on mõlemad sisse PowerShell Sarnaselt .NET-i arenduskeskkondadele on võimalik teed kirjutada, kasutades kumbagi kaldkriips. Isegi PowerShell Linuxile või macOS-ile võimaldab teil tõlgendada mõlemat tähistust, kuid mõningate erinevustega.

  • Linuxis on tavaline kaldkriips õige.
  • Windows aktsepteerib mõlemat, kuid sisemiselt kuvab alati ümberpööratud.

Lisaks võimaldab .NET hinnata, kas teed peetakse absoluutseks selliste funktsioonidega nagu Path.IsPathFullyQualified(), mis aitavad arendada platvormidevahelisi rakendusi, muretsemata süsteemi iseärasuste pärast. Erinevate süsteemide marsruudihalduse erinevuste kohta lisateabe saamiseks vaadake meie juhendit Kuidas Wordis hüperlinke ümber nimetada.

dll viga
Seotud artikkel:
Kuidas Windowsis samm-sammult DLL-i vigu 126 ja 127 parandada

Unix, Linux ja nende pärand marsruutimise struktuuris

Unixi süsteemides ja nende järglastes, nagu Linux, macOS, BSD ja teised, Kaldkriipsu kasutamine eraldajana on absoluutne. Aja jooksul on need süsteemid koondanud väga selge lähenemisviisi:

  • Kõik on fail: seadmetest seadetesse.
  • Marsruudisüsteem on üles ehitatud puu kujul, millel on ühine juur: /.
  • Marsruudi nimed on tõstutundlikud.

Lisaks kajastub UNIX-süsteemi modulaarsus ka selles, kuidas see teid haldab tänu sellistele tööriistadele nagu torud, ümbersuunamised ja skriptid, mis võimaldavad käske hõlpsasti kokku aheldada. Nendes süsteemides failide haldamise kohta lisateabe saamiseks võite olla huvitatud meie artiklist Mis on Windowsi kaust inetpub?.

kustutada ainult üks lehekülg sõnast 5
Seotud artikkel:
Kuidas Wordis hüperlinki ümber nimetada ja oma dokumentides linke hallata

Miks nad standardit ei ühtlustanud?

Paljud imestavad, miks Microsoft ei joondunud omal ajal UNIX-i standardiga. Põhjuseid on palju, kuid mõned neist on eriti olulised:

  • Tagasiulatuv ühilduvus: Eraldusmärgi muutmine oleks tuhandeid programme purustanud.
  • IBM-i otsused: määravad tegurid kaldkriipsu kasutamisel käskude muutmisel, mis tegi UNIX-stiili kasutuselevõtu DOS-is väga keeruliseks.
  • DOS 2.0 juurutamise kiirus: Paljud tehnilised otsused olid ajapuudusel improviseeritud.
  Kuidas hõlpsasti Windows 10 juhtpaneelile juurde pääseda

Veelgi enam, 90ndatel ja 2000ndatel laienes Windowsi ökosüsteem, ilma et oleks vaja võtta kasutusele UNIX-standardit, mis pikendas mõlema stiili kooseksisteerimist. Et paremini mõista, kuidas ühilduvus erinevatel platvormidel töötab, vaadake meie artiklit muutke Windowsi klaviatuuri keelt.

Pärand jätkub: GNU/Linux, macOS ja Windows täna

Kuigi Linux ei ole UNIXi otsene hark, säilitab sama marsruutide filosoofia ja stiili. Tegelikult jätkas Linus Torvaldsi GNU ja hiljem Linuxi tuuma väljatöötamist tavaline kaldkriips on kataloogi eraldaja ainus kehtiv vorm. Täpsema ülevaate saamiseks erinevate süsteemide tugiteenustest leiate meie artiklist võrguprotokollid ja marsruudid erinevates süsteemides.

Omalt macOS on ametlikult tunnustatud UNIX-süsteemina, mis on täielikult sertifitseeritud ühtse UNIX-i spetsifikatsiooniga (SUS) ühilduva. See teeb sellest ainsa laialt levinud töölauasüsteemi, mis vastab kõigile UNIX-i nõuetele. Nende süsteemide koostalitlusvõime on platvormidevahelistes keskkondades töötavate arendajate jaoks võtmetähtsusega ning teadmine, kuidas marsruute õigesti hallata, võib igapäevatöö palju lihtsamaks muuta.

Vahepeal on Windows parandanud oma ühilduvust seda tüüpi keskkondadega, eriti pärast PowerShell Core'i, .NET Core'i ja Windowsi alamsüsteemi Linuxi (WSL) saabumist, mis võimaldavad teil Windowsi universumist käitada UNIX-i tähistusega kirjutatud binaarfaile ja skripte. Windowsi teega seotud vigade lahendustesse süvenemiseks soovitame külastada Windowsi teega seotud vigade tõrkeotsing.

Täna, kuigi vahe \ y / See on endiselt olemas, süsteemid on praktilistel põhjustel õppinud elama mõlema tähistusega.. Alates veebibrauseritest kuni koodiredaktoriteni, nagu Visual Studio Code, võimaldavad paljud tööriistad nüüd mõlemas vormingus ressurssidega sujuvalt töötada. Marsruudihalduse ühilduvus on reaalsus, mis muudab kasutajate ja arendajate jaoks erinevatel platvormidel töötamise lihtsamaks.

Nagu nägime, pole põhjus, miks Windows ja UNIX – ja nende järeltulijad süsteemid – kasutavad teede tähistamiseks erinevaid kaldkriipse, mitte esteetilise eelistuse küsimus, vaid pigem tehniliste otsuste, tagasiühilduvuse ja muudest keskkondadest päritud tavade küsimus. Vaatamata püsivale erinevusele \ y /Kaasaegne koostalitlusvõime on muutnud selle eraldamise talutavamaks kui kunagi varem. Ja kuigi me tõenäoliselt ei näe kunagi marsruudi stiili täielikku ühtlustumist, on tõde see, et praeguste edusammudega programmeerimine platvormidevahelisel kasutamisel ei kujuta see erinevus tänapäeva kasutajatele ja arendajatele enam tõelist takistust.

Kuidas teisaldada Steami mänge teisele arvutile-7
Seotud artikkel:
Kuidas teada saada, kui palju raha olete Steamile kulutanud: täielik juhend uudishimulikele kasutajatele

Jäta kommentaar