GNU/Linux >> Znalost Linux >  >> Linux

Použití / při použití cd

Toto je standardní chování Unixu.

/ na začátku cesty představuje kořen disku (nebo počáteční/nejvyšší úroveň stromu souborového systému). Jako Documents není mimo kořenový adresář, /Documents nelze najít.

/Users je mimo kořenový adresář, takže k tomuto problému nedochází.

Můžete použít cd /Users/lukas/Documents přejít na tuto cestu.

Případně můžete použít relativní adresování. Souborové systémy založené na Unixu mají 2 speciální adresáře:

  • . což znamená „tento adresář“,
  • .. což znamená nadřazený adresář.

Pokud jste v /Users/lukas , cd ./Documents by vás zavedl na správné místo.

Předpokládejme, že jste byli v /Users/Lukas/Documents a chtěl přejít na /Users/Janes/Documents , můžete zadat příkaz cd ../../Janes/Documents - pomocí .. by vás vrátilo o úroveň zpět – takže byste to udělali dvakrát, než se vydáte na novou relativní cestu.


/Users/lukas je "absolutní" cesta. Přední / představuje kořenový adresář vašeho souborového systému.

lukas je "relativní" cesta. Protože není ukotven ke kořenu, znamená to „hledejte to v aktuálním adresář". Pokud aktuální adresář není /Users (nebo nějaký jiný adresář s lukas v něm), to se nezdaří.

Pojďme tedy prozkoumat vaše příklady za předpokladu, že používáte /Users/lukas :

$ cd Documents/
/Users/lukas/Documents

Zadaná relativní cesta => změna do adresáře "Dokumenty", který je uvnitř /Users/lukas .

$ cd /Documents
-bash: cd: /Documents: No such file or directory

Zadaná absolutní cesta => změna do adresáře /Documents .

$ pwd
/

To ukazuje, že jste nyní změnili pracovní adresář na kořenový adresář / (ačkoli cd příkaz k tomu nebyl zobrazen).

$ cd Users
/Users

Daná relativní cesta => změna do adresáře "Users", který je uvnitř / .

$ cd /Users
/Users

Zadaná absolutní cesta => změna do adresáře /Users .

Klíčem je pokaždé to, co vede / . S ním je cesta absolutní. Bez toho je cesta relativní. Toto pravidlo je jednoznačné, protože všechny absolutní cesty začínají / (protože kořenový adresář se vždy nazývá / ).

Zde je nějaký pseudokód volně popisující tento algoritmus:

MakePathAbsolute(path):
   if <path> starts with '/'
      return <path>
   else
      return <current directory>/<path>

Argument, který předáte cd prochází tímto algoritmem; adresář, do kterého se nakonec změníte, je cesta, kterou algoritmus vrátí.

Další čtení:

  • Výukový program pro soubory a adresáře Unix
    Josef L. Zachariáš
    "Úvod do vědeckého programování"

Linux
  1. [Linux] :Jak vyloučit adresář při použití příkazu shellu „tar“.

  2. Rychlý způsob, jak zahrnout cestu k adresáři při volání Mv?

  3. Použití –exclude With The Du Command?

  1. Kdy použít dedikovaný server

  2. Vytvoření nového adresáře v C

  3. Přidejte bash skript do cesty

  1. Kdy bych měl použít koncové lomítko v adresáři?

  2. Jaký souborový systém použít, když používáte Windows i Linux?

  3. Vytvoření programu v přihrádce