Im ersten Fall geben Sie ls ein Verzeichnis an und bitten Sie, dessen Inhalt anzuzeigen.
Im zweiten Fall geben Sie ls bereits den Inhalt direkt an (eine Liste der einzelnen Dateien und Unterverzeichnisse) und bitten Sie, genau diese Elemente anzuzeigen, jedoch nicht deren weiteren Inhalt.
Also diese geben die gleiche Leistung, weil sie tun fast das gleiche, außer in den ersteren Fall ls selbst bestimmt, welche Inhalte es zu zeigen braucht, während im letzteren Fall sind Sie es eine vorgegebene Liste geben.
Ls hat zwei Modi: Wenn eine Datei angegeben ist, wird nur diese Datei angezeigt. Wenn ein Verzeichnis angegeben ist, wird der Inhalt dieses Verzeichnisses angezeigt (eine Ebene tief).
Ihr /example
Verzeichnis ist ein Verzeichnis. Wenn Sie es verwenden ls /example
, zeigt ls seinen Inhalt an. Die -d
Option deaktiviert dieses Verhalten und bewirkt, dass ls immer nur das angegebene Element anzeigt, unabhängig davon, ob es sich um eine Datei handelt oder nicht.
(Vergleichen Sie: ls -l /etc
und ls -l -d /etc
)
Wenn Sie es verwenden ls -d /example/*
, fordern Sie es jedoch nicht auf, ein Verzeichnis anzuzeigen - Sie geben ihm eine Liste der einzelnen Elemente, die angezeigt werden sollen. Die Platzhalter werden von Ihrer Shell erweitert, bevor der Befehl ausgeführt wird ls -d /example/file1 /example/file2 /example/file3
. Sie werden also wirklich ausgeführt .