GNU/Linux >> Linux Esercitazione >  >> Linux

Uso di / quando si usa cd

Questo è il comportamento standard di Unix.

Il / all'inizio del percorso rappresenta la radice del disco (o il livello iniziale/superiore dell'albero del filesystem). Come Documents non è fuori dalla radice, /Documents non può essere trovato.

/Users è fuori dalla directory principale, quindi questo problema non si verifica.

Potresti usare cd /Users/lukas/Documents per passare a quel percorso.

In alternativa, puoi utilizzare l'indirizzamento relativo. I filesystem basati su Unix hanno 2 directory speciali:

  • . che significa "questa directory",
  • .. che significa la directory principale.

Se sei in /Users/lukas , cd ./Documents ti porterebbe nel posto giusto.

Supponiamo che tu fossi in /Users/Lukas/Documents e volevo andare a /Users/Janes/Documents , potresti emettere un comando cd ../../Janes/Documents - usando .. ti riporterebbe indietro di un livello, quindi lo faresti due volte, prima di entrare nel nuovo percorso relativo.


/Users/lukas è un percorso "assoluto". Il / principale rappresenta la directory root del tuo filesystem.

lukas è un percorso "relativo". Poiché non è ancorato alla radice, significa "cercalo nella corrente directory". A meno che la directory corrente non sia /Users (o qualche altra directory con un lukas in esso), questo fallirà.

Quindi, esploriamo i tuoi esempi, supponendo che tu sia in /Users/lukas :

$ cd Documents/
/Users/lukas/Documents

Percorso relativo fornito => passaggio alla directory "Documents" che si trova all'interno di /Users/lukas .

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

Percorso assoluto dato => passa alla directory /Documents .

$ pwd
/

Questo mostra che ora hai cambiato la directory di lavoro nella directory root, / (sebbene il cd comando per eseguire questa operazione non è stato mostrato).

$ cd Users
/Users

Percorso relativo fornito => modifica alla directory "Utenti" che si trova all'interno di / .

$ cd /Users
/Users

Percorso assoluto dato => passa alla directory /Users .

La chiave ogni volta è quella iniziale / . Con esso, il percorso è assoluto. Senza di esso, il percorso è relativo. Questa regola non è ambigua perché tutti i percorsi assoluti iniziano con / (poiché la directory root è sempre chiamata / ).

Ecco uno pseudocodice che descrive vagamente quell'algoritmo:

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

L'argomento che passi a cd passa attraverso questo algoritmo; la directory in cui finisci per passare è il percorso restituito dall'algoritmo.

Ulteriori letture:

  • Tutorial su file e directory Unix
    Giuseppe L. Zachary
    "Introduzione alla programmazione scientifica"

Linux
  1. [Linux]:come escludere la directory quando si utilizza il comando shell "tar".

  2. Quando dovrei usare una barra finale su una directory??

  3. Modo rapido per includere un percorso di directory quando si chiama Mv??

  4. Quando utilizzare un server dedicato

  5. Contare il numero di file in una directory utilizzando C

Come usare Rsync

Linux:aggiungi una directory a PATH

Aggiungi uno script bash al percorso

Come posso fare in modo che bazel utilizzi la memoria esterna durante la costruzione?

Quale filesystem usare quando si usano sia Windows che Linux?

comando linux trovato ma non trovato quando si usa sudo