Ich weiß, dass dies 10 Jahre alt ist, aber ich wollte meine sehr einfühlsamen $ 0,02 einwerfen.
Absolut nein.
Wir sprechen von einem Unix-System. In Bezug auf das Verzeichnis selbst ist es ein Knoten wie jeder andere. Wenn Sie in das Verzeichnis Bezug genommen wird , soll es nicht immer einen Unescaped Strich in seinem Namen hat (ref: dirname
, pwd
, ~
, echo $HOME
, echo $PATH
, die Ausgabe von ls
, et al).
Wenn auf den Inhalt eines Verzeichnisses Bezug genommen wird , dann müssen Sie einen Schrägstrich. Das heißt, ls /home/karl/
ist angemessener als ls /home/karl
(FTR, ich mache fast immer Letzteres, weil ... na ja, faul).
Wenn Sie eine Variable verwenden, die ein Verzeichnis enthält, um den vollständigen Pfad zu einer Datei zu erstellen, müssen Sie immer den Schrägstrich (d. H. E :) einschließen cp ${HOME}/test ${OTHER_DIR}/
.
Es wird erwartet, dass ein Verzeichnis nicht mit einem Schrägstrich endet. Jede Erwartung, dass ein Verzeichnis mit einem Schrägstrich endet, ist falsch. Das Hinzufügen eines Schrägstrichs am Ende des *_DIR
Werts einer Variablen würde also die Erwartungen untergraben.
(Verweis aus Kommentaren: Dateipfad-Missverständnisse , von der Wikipedia- Talk:Path_(computing)
Seite. Danke, John CJ )
Es ist erwähnenswert, dass Tools / Pakete / Bibliotheken dies niemals tun, nur weil es falsch ist. Es kommt viel zu häufig vor, dass solche Dinge einen abschließenden Schrägstrich hinzufügen, wenn keiner existieren sollte. Wie Bevan und Paul F. beide vorgeschlagen haben, ist es daher am besten, bei Verwendung von Tools von Drittanbietern alle nachgestellten Schrägstriche zu entfernen, die möglicherweise in Verzeichnisnamen vorhanden sind.
Unix Inodes
Der Inode (Indexknoten) ist eine Datenstruktur in einem Unix-Dateisystem, die ein Dateisystemobjekt wie eine Datei oder ein Verzeichnis beschreibt.
- https://en.wikipedia.org/wiki/Inode
Dateisystem-Hierarchie-Standard
Der Standard für das Unix-Dateisystem (der Dateisystem-Hierarchiestandard, AKA FHS) zeigt deutlich, dass Verzeichnisse nicht mit einem abschließenden Schrägstrich versehen werden, sondern dass Verzeichnisinhalte mit einem Schrägstrich beginnen (die einzige Ausnahme hiervon ist, /
dass wir nicht darauf verweisen das Dateisystem root mit einer leeren Zeichenfolge ... und man sollte dort sowieso nie Dateien erstellen.)
- - http://www.pathname.com/fhs/pub/fhs-2.3.html
- https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard