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"