Ein neues Verzeichnis wird erzeugt mit dem Kommando mkdir dirname (Make Directory). Wenn man anschließend ein ls -a dirname ausführt, sieht man, daß automatisch zwei Dateien . und .. generiert wurden. Diese finden sich in jedem Verzeichnis, und haben eine spezielle Funktion, die beim cd und beim ln Kommando erläutert werden.
Ein Verzeichnis kann mit rmdir dirname entfernen. Dazu muß es allerdings leer sein, d.h. man muß vorher alle enthaltenen Dateien entfernen. Dies geht sehr elegant, aber gefährlich, mit dem Kommando rm -r, daß rekursiv alle enthaltenen Dateien und Verzeichnisse, sowie letztendlich auch das gewünschte Verzeichnis selbst löscht. Die Dateien . und .. braucht (und kann) man nicht löschen.
Zum Anlegen oder Löschen eines Verzeichnisses braucht man Schreibrecht im daüberliegenden Verzeichnis - schließlich wird ja ein Eintrag aus der "Verzeichnisliste" entfernt bzw. hinzugefügt. Zum Listen der Einträge braucht man nur das Leserecht.
Möchte man ein ls -l dirname Kommando ausführen und das Verzeichnis dirname hat kein x-Bit gesetzt (z.B. nach einem chmod -x dirname), so bekommt man die Fehlermeldung Permission denied. Warum? Wenn man nur man nur die Informationen der Verzeichnisdatei (im wesentlichen nur Dateiname) lesen, aber das Verzeichnis nicht als solches benutzen, d.h. es darf nie als Pfadkomponente auftauchen. Deshalb funktioniert auch ein cd dirname nicht. Für ein ls -l muß aber für die erweiterten Informationen auf die Dateien selber zugegriffen werden, was nur über dirname/file möglich ist, also wenn dirname im Pfad auftaucht.
Man wechselt zwischen Verzeichnissen mit dem Kommando cd dirname. Dieses ändert das aktuelle Verzeichnis der Shell auf das angegebene, d.h. alle relativen Pfadangaben beziehen sich ab jetzt darauf. Nach dem Einloggen befindet man sich immer in seinem Home. In dieses Verzeichnis kommt man zurück, wenn man cd ohne Parameter aufruft.
Mit einem cd .. kommt man immer in das darüberligende Verzeichnis, da ".." ein hard link auf das parent-directory ist. Das Verzeichnis "." ist ein Link auf sich selbst, und wird z.B. verwendet, wenn man das aktuelle Verzeichnis ansprechen möchte.
Den aktuellen Pfad kann man sich mit dem Kommando pwd (Print WorkingDirectory) ausgeben lassen. Die Shell speichert außerdem alle bei cd benutzten directorynamen mit, und konstruiert daraus einen aktuellen Pfad, der in der Variablen $cwd abgelegt ist. Dieser führt auch zum aktuellen Verzeichnis, kann sich aber von der pwd-Ausgabe unterscheiden, wenn man über symbolische Links gegangen ist.