30Jun

Miért van "dir C:" vissza ilyen eltérő eredményt a "dir C: \"?

Amint megtudod a parancssor használatáról, és arról, hogy a különböző parancsok mit tehetnek, akkor csodálkozhatsz, miért kapsz olyan különböző eredményeket, amelyek közel azonos parancsoknak tűnnek. Ennek szem előtt tartásával a mai SuperUser Q & A bejegyzés segít a zavaros olvasónak megérteni a különbségeket.

A mai kérdés &A válaszüzenet a SuperUser - a Stack Exchange megosztottságának köszönhetően - a Q & A webhelyek közösségi szintű csoportosítása.

Kérdés

SuperUser olvasó Nuno Peralta szeretné tudni, hogy miért kap hasonló eredményeket közel azonos parancsokkal:

Véletlenül felfedeztem, hogy ha használok:

  • dir C: \

Kapok listát azokról a fájlokról, amelyek közvetlen gyermekeiC: meghajtó( a gyökérben).Azonban, ha használok:

  • dir C:

Kapok egy hatalmas listát a fájlokról( dll, exe, cpl stb.), Amelyek helyét még nem is tudom.

Tudod miért történik ez, és honnan származik ez a lista?

Miért kap ilyen különböző eredményeket közel azonos parancsokkal?

A válasz

SuperUser-hozzájáruló A TOOGAM-nak van a választ számunkra:

DIR hely megadása megmutatja a hely tartalmát. Az C: parancs megadása számos parancsra, beleértve az DIR parancsot, utal a C meghajtóra, és utal az aktuális könyvtárra. Az aktuális könyvtár megjelenítéséhez írja be:

  • c:
  • cd

Az cd parancsot általában arra használják, hogy megváltoztassák a könyvtárat, amelyik az aktuális. Azonban az MS-DOS( és hasonló operációs rendszerek, ideértve a modern Microsoft Windows-ot is, de a Unixot is beleértve) az cd futtatása önmagában megmutatja az aktuális könyvtárat.

Valószínűsíthetően, ha nem használta az cd parancsot, akkor az aktuális könyvtára valószínűleg az operációs rendszert futtató könyvtár( legalábbis ez a Microsoft Windows rendszerekre jellemző viselkedés).Ezt a következőképpen teheti meg:

  • cd "C: \ Program Files"
  • cd
  • dir c:

Ez megmutatja az C: \ Program Files tartalmát. Hasonlóképpen tehetünk valamit C példányt is: *. * és az aktuális könyvtár összes tartalmát másoljuk.

Ha C: \ értéket ad meg, akkor a backslash a "root" könyvtárat jelöli, más néven a "top level" könyvtárnak. Ez lehet, vagy nem feltétlenül ugyanaz, mint az aktuális könyvtára.

Ha csak megadja az DIR \ -t, akkor az aktuális meghajtó lesz a kívánt. Olyan típusú C: vagy D: típusokat írhat le, mint egy teljes parancsot egy vonalon, hogy megváltoztassa, melyik meghajtót tartják aktuálisnak. Ha csak megadja az DIR -t, akkor azt fogja feltételezni, hogy az aktuális meghajtó és az aktuális könyvtár a kívánt.

Van valami a magyarázat hozzáadásához? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.