NAME dkt ls - Dateien anzeigen AUFRUF dkt ls [] [] BESCHREIBUNG Das Programm zeigt Informationen über die angegebenen Dateien an. Dabei kann festgelegt werden, welche Informationen in welcher Reihenfolge ausgegeben werden. Als Dateigröße für Verzeichnisse wird die Summe aus Verzeichnisgröße selbst und Größe des gesamten Inhaltes ausgegeben. OPTIONEN -R ignoriert alle Einstellungen aus dkt.conf-Konfigurationsdateien. -p wählt aus, welche Informationen in welcher Reihenfolge angezeigt werden sollen. Siehe AUSGABEREIHENFOLGE weiter unten. -r rekursives Listing (d.h. mit Unterverzeichnissen). -d dereferenziert symbolische Links. Ohne diese Option werden nur Angaben über den Link selbst ausgegeben, mit dieser Option werden Angaben über die Zieldatei ausgegeben. Bei rekursiven Listings wird für Verzeichnis-Symlinks ohne "-d" nur eine Information über den Link ausgegeben, mit "-d" wird ggf. auch der Verzeichnisinhalt aufgelistet. -l Tiefe Tiefe, bis zu der Verzeichnis-Symlinks gefolgt wird. Die Angabe ist eine Zahl oder "unlimited". -f weist das Programm an, bei rekursiven Listings innerhalb des aktuellen Filesystems zu bleiben. Damit wird Verzeichnis-Symlinks nur gefolgt, wenn das Zielverzeichnis im aktuellen Filesystem liegt, Mountpoints für weitere Filesysteme wird nicht gefolgt. -t gibt Informationen nur für die angegebenen Dateitypen aus. Siehe DATEITYPEN weiter unten. -m legt Message-Digest-Typ und Encoding für Prüfsummen fest. Folgende Message-Digest-Typen könen verwendet werden: MD5 RSA Data Security, Inc. MD5 Message Digest Algorithm (RFC 1321) SHA-1 SHA-Algorithmen SHA-224 (FIPS publications) SHA-256 SHA-384 SHA-512 RIPEMD-160 Cryptographic hash function by Hans Dobbertin, Antoon Bosselaers and Bart Preneel. Folgende Encodings können für die Umwandlung des binären Message-Digests nach Text verwendet werden: HEX Hexadezimale Darstellung (erzeugt 2 Text-Bytes pro Binärbyte) ASCII-85 ASCII-85-Codierung (erzeugt 5 Text-Bytes für je 4 Binärbytes) R-ASCII-85 Reverse ASCII-85-Codierung (erzeugt 5 Text-Bytes für je 4 Binärbytes) -s gibt am Ende eine Zusammenfassung aus. AUSGABEREIHENFOLGE Der Text als Parameter zur Option "-p" legt fest, welche Informationen in welcher Reihenfolge ausgegeben werden. Dafür können folgende Kennbuchstaben verwendet werden: n Dateiname s Dateigröße t Dateityp p Zugriffsrechte x Prüfsumme l Anzahl der Links c Zeitpunkt Datei-Erzeugung m Zeitpunkt der letzten Änderung a Zeitpunkt des letzten Zugriffes u User-ID des Eigentümers g Group-ID der Eigentümer-Gruppe d Device-Nummer r Relative Device-Nummer i Inode-Nummer f File Identifier (Device and inode or volume serial number with index high and index low). w Reparse-Point-Tag (nur Windows). DATEITYPEN Bei der Auswahl bestimmter Dateitypen und bei der Anzeige des Dateityps werden folgende Kennbuchstaben verwendet: f Reguläre Datei (in der Anzeige wird ein "-" verwendet) d Verzeichnis l Symbolischer Link (in der Anzeige wird ein "l" für Symlinks innerhalb des Filesystems verwendet, ein "L" für Symlinks in andere Filesysteme und ein "!" für Symlinks mit nicht existierender Zieldatei) p Pipe oder FIFO c Byte-Gerät b Block-Gerät s Socket D Door e Event Port O Xenix-Spezialdatei N Xenix-Semaphor M Xenix-Shared-Data C Gemultiplextes Byte-Gerät B Gemultiplextes Block-Gerät v VXFS-komprimierte Datei n Netzwerk-Spezial-Datei w Whiteout a ACL-Eintrag Unter windows schließt sich an den Typ die Information zu einem evtl. vorhandenem Reparse-Point an. Auch diese Information wird als ein Zeichen dargestellt: - Kein Reparse-Point vorhanden. m Mount-Punkt. l Symbolischer Link. r Sonstiger Reparse-Point-Typ. DATEINAMEN IN ANFÜHRUNGSZEICHEN UNTER WINDOWS Unter Windows wird der Backslash für verschiedene Zwecke benutzt: zum einen als Trennzeichen zwischen Pfad-Komponenten in Dateinamen, zum anderen als Beginn von Backslash-Escape-Sequenzen in der Shell. Werden in cmd.exe Kommando-Argumente in doppelte Anführungszeichen eingeschlossen, wird nicht nur der eingeschlossene Text als ein String behandelt, zusätzlich wird die Verarbeitung von Backslash-Escape-Sequenzen aktiviert. Die nachfolgende kurze Tabelle zeigt Beispiele für eingegebenen Text und die Argumente, die cmd.exe an externe Kommandos übergibt (getestet unter Windows 7 Prof. am 23.07.2013): Eingegebener Text An externe Kommandos übergebenes Argument C: C: "C:" C: C:\ C:\ "C:\" C:" C:\\ C:\\ "C:\\" C:\ In Beispiel 4 wurde versucht, das Wurzelverzeichnis eines Laufwerkes in Anführungszeichen zu setzen. Unglücklicherweise ergeben das Ende des Dateinamens (der Backslash) und das eigentlich schließende Anführungszeichen eine Backslash-Escape-Sequenz, die dazu führt, dass cmd.exe ein doppeltes Anführungszeichen in dem Argument verwendet, das an das externe Programm übergeben wird. Die Eingabe von dkt ls "C:\" bewirkt, dass cmd.exe als Dateinamen C:" an dkt ls übergibt. Richtig wäre an dieser Stelle die Verwendung von dkt ls "C:\\" Bei Verwendung von Anführungszeichen um Dateinamen muss also darauf geachtet werden, nicht versehentlich Escape-Sequenzen zu verwenden, die anders interpretiert werden als vorgesehen. RÜCKGABEWERT Das Programm gibt bei Erfolg 0 zurück, alle anderen (positiven) Exit-Codes weisen auf Fehler hin. AUTOR Dirk Krause GESCHICHTE Die Funktion "dkt ls" ersetzt das Programm kls aus früheren dktools-Versionen.