Datei: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) (→FAQ) |
Michi (Diskussion | Beiträge) (→FAQ) |
||
Zeile 30: | Zeile 30: | ||
== FAQ == | == FAQ == | ||
== Datei Byte für Byte auslesen == | |||
* https://stackoverflow.com/questions/13889659/read-a-file-by-bytes-in-bash | |||
* https://www.unix.com/shell-programming-and-scripting/166786-split-string-convert-binary.html | |||
=== Informationen über eine Datei === | === Informationen über eine Datei === |
Version vom 19. September 2018, 18:29 Uhr
Eine Datei (gebildet aus "Daten" und "Kartei") ist ein strukturierter Bestand inhaltlich zusammengehöriger Daten, der in einem bestimmten Dateiformat auf einem beliebigen Datenspeicher gespeichert werden kann. Diese Daten existieren über die Laufzeit eines Programms hinaus und werden als "nicht flüchtig" (engl. persistent) bezeichnet.
In der elektronischen Datenverarbeitung ist jeder Dateiinhalt zunächst eine eindimensionale Aneinanderreihung von Bit, welche normalerweise in ganzen Byte-Blöcken zusammengefasst sind. Erst der Anwender einer Datei bzw. ein Anwendungsprogramm oder das Betriebssystem selbst interpretieren diese Bit- oder Bytefolge beispielsweise als einen Text, ein ausführbares Programm oder ein Bild.
Im Dateisystem eines Unix-Betriebssystems lässt sich jede Datei auf einer Festplatte oder einem Datenspeicher über einen Inode erreichen.
Unix kennt verschiedene Dateitypen. "ls -l" zeigt Angaben zum Dateityp als erstes Zeichen der Ausgabe.
Dateityp | Beschreibung |
---|---|
Reguläre Datei | Textdatei oder binäre Daten. |
Verzeichnis | (directory) Beinhaltet andere Dateien und Verzeichnisse. |
Ausführbare Datei | Datei mit gesetztem "execute bit" (x). Die meisten Shell-Befehle sind ausführbar. |
Symbolische Dateiverknüpfung | Die Datei ist eine "Abkürzung", die auf eine andere Datei zeigt. |
Gerätedatei | (special file) Eine Schnittstelle zu einem Stück Hardware wie z. B. einen Drucker. |
Named Pipe | Ein FIFO-Puffer. |
Der Shell-Befehl file sagt genaueres über den Inhalt einer Datei. Der Inhalt einer Datei ist jedoch für Unix nicht wichtig und aus seiner Sicht nur ein "Bytestream".
Die Befehle ncdu und gt5 zeigen die Dateien eines Verzeichnisses nach Grösse geordnet an.
Weedit versucht innerhalb einer gegebenen Verzeichnisstruktur Duplikate von Dateien aufzuspüren, die unnötig Festplattenplatz belegen. Dabei werden alle Dateien mit MD5- und CRC-32-Algorithmen auf Doppelgänger überprüft.
FAQ
Datei Byte für Byte auslesen
- https://stackoverflow.com/questions/13889659/read-a-file-by-bytes-in-bash
- https://www.unix.com/shell-programming-and-scripting/166786-split-string-convert-binary.html
Informationen über eine Datei
$ stat file.jpg File: „file.jpg“ Size: 43565 Blocks: 88 IO Block: 4096 reguläre Datei Device: 900h/2304d Inode: 2100300 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/ abc) Gid: ( 1000/ abc) Access: 2011-05-06 15:43:33.370690706 +0200 Modify: 2011-03-19 04:06:13.529875311 +0100 Change: 2011-03-19 04:06:13.529875311 +0100
$ ls -al file.jpg -rw-r--r-- 1 abc abc 43565 2011-03-19 04:06 file.jpg
$ file file.jpg file.jpg: JPEG image data, JFIF standard 1.01
Erstellungszeit einer Datei
Herausfinden der Inode-Nummer der betreffenden Datei. Im gezeigten Beispiel wurde die Datei "datei.txt" am 23. August 2018 um 10:09:25 angelegt.
# stat -c %i datei.txt 10879054 # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/dm-0 205329136 10156656 184719284 6% / udev 10240 0 10240 0% /dev tmpfs 812144 16904 795240 3% /run tmpfs 2030356 0 2030356 0% /dev/shm tmpfs 5120 24 5096 1% /run/lock tmpfs 2030356 0 2030356 0% /sys/fs/cgroup # debugfs -R 'stat <10879054>' /dev/dm-0 Inode: 10879054 Type: regular Mode: 0644 Flags: 0x80000 Generation: 2271554628 Version: 0x00000000:00000001 User: 0 Group: 0 Size: 42017752 File ACL: 0 Directory ACL: 0 Links: 1 Blockcount: 82072 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x5b7e7543:d021f1c4 -- Thu Aug 23 10:50:11 2018 atime: 0x5b7e7704:e957bd4c -- Thu Aug 23 10:57:40 2018 mtime: 0x5b7e7543:d021f1c4 -- Thu Aug 23 10:50:11 2018 crtime: 0x5b7e6bb5:610fd70c -- Thu Aug 23 10:09:25 2018 Size of extra inode fields: 28 EXTENTS: (0-10239):835456-845695, (10240-10258):820225-820243
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | ger | Dateiwbm | Enzyklopädischer Artikel |