GNU/Linux >> Znalost Linux >  >> Ubuntu

Co znamená // Na cestě?

Pracoval jsem ve svém terminálu, když jsem při cd napsal chybně do rootu (/ ). Náhodou jsem zadal // a dostal jsem se do terminálu:

[email protected]://#

Když napíšu pwd , dostávám odpověď // ale když napíšu ls -s mám stejný seznam jako v / adresář.

Když zadáte více než 2, tj. /// dostanete:

[email protected]:/#

Vždy 1 / kromě 2. Existuje nějaký rozdíl a co je // pro?

Nejlepší odpověď

/ je ekvivalentní //

Ze specifikace POSIX (zvýraznění přidáno):

3.267 Cesta

Řetězec, který se používá k identifikaci souboru. V kontextu
POSIX.1-2008 může být název cesty omezen na {PATH_MAX} bajtů, včetně
ukončovacího prázdného bajtu. Má volitelný začátek <slash> znaků, za nimiž následuje nula nebo více názvů souborů oddělených <slash> znaky. Cesta může volitelně obsahovat jeden nebo více koncových <slash> znaky. Více po sobě jdoucích <slash> znaky jsou
považovány za stejné jako jeden <slash> , s výjimkou případu
přesně dvou úvodních <slash> znaky.

A:

4.12 Rozlišení názvu cesty


Cesta skládající se z jednoho <slash> se přenese do kořenového
adresáře procesu. Nulová cesta nebude úspěšně
vyřešena. Pokud cesta začíná dvěma po sobě jdoucími <slash> znaky,
první složka za úvodním <slash> znaky mohou být
interpretovány způsobem definovaným implementací, i když více než
dva úvodní <slash> znaky budou považovány za jeden <slash> postava.

Pěknou diskuzi o výjimkách (cygwin a adresáře) najdete v:Jak linux zpracovává více po sobě jdoucích oddělovačů cest (/home////uživatelské jméno///soubor)?


Ubuntu
  1. Co to znamená #define X X?

  2. Co znamená schopnost ep?

  3. Co znamená %st nahoře?

  1. Co znamená „–“ (dvojitá pomlčka)?

  2. Co znamená `:-` ve skriptu Shell?

  3. Co znamená „rm is hash“?

  1. Co znamená ve výstupu Ps?

  2. Co znamená `chown Root.root $file`?

  3. Co toto varování znamená?