Datei: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(FAQ)
(Datei Byte für Byte auslesen)
Zeile 31: Zeile 31:
 
== FAQ ==
 
== FAQ ==
  
== Datei Byte für Byte auslesen ==
+
== Datei Byte für Byte auslesen (und umwandeln) ==
  
 
* https://stackoverflow.com/questions/13889659/read-a-file-by-bytes-in-bash
 
* 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
 +
 
* https://www.unix.com/shell-programming-and-scripting/166786-split-string-convert-binary.html
 
* https://www.unix.com/shell-programming-and-scripting/166786-split-string-convert-binary.html
  

Version vom 19. September 2018, 19:30 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 (und umwandeln)

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
country DE.gif Wikipedia ger Dateiwbm Enzyklopädischer Artikel