On Sat, Feb 13, 2016 at 09:56:29AM -0800, enh wrote: > Unlike the POSIX file(1), there's no magic file here, just hard-coded > common (non-obsolete) file formats. Personally most of my use of file(1) > is as a one-line readelf(1) summarizer, so although I assume a full POSIX > file(1) is out of scope (because just the database would likely be larger > than all the rest of toybox), a subset that only supports in-use file types > actually covers most of the use cases I encounter personally.
FYI: binary cpio (almost never seen) starts with a short having the octal value 070707; there are big- and little-endian variants, so 0143561 is 'byte-swapped cpio archive' text-based cpio magic is a 6-byte string starting with "0707" "ASCII cpio archive" 070707 is 'odc' - "(pre-SVR4 orr odc)" 070701 is 'newc' - "(SVR4 with no CRC)", 070702 is 'newc' - "(SVR4 with CRC)" One of my own main uses for file is to check the interpreter for a script. Standard output format is something like "<interpreter> script, ASCII text executable" "#!/bin/sh" becomes 'POSIX shell', while "#!/usr/bin/perl -w" becomes 'a /usr/bin/perl -w' Tar magic is at offset 257: 'ustar\0' - "POSIX tar archive" 'ustar\040\040\0' - "GNU tar archive" AFAICT, zip usually starts with 'PK\003\004', 'PK\005\006' (empty), or 'PK\007\008' (spanned archive). HTH, Isaac Dunham _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
