1. 2009
    Jan
    10

    Extended attributes with find

    Extended attributes are a fun feature of the Linux filesystem (or rather, all the major Linux filesystems — ext2, ext3, reiser, xfs, etc.) that lets you associate arbitrary metadata with a file. find is, of course, a program that lets you find stuff. Files, specifically; you give it a bunch of criteria and it finds everything in a given directory that meets those criteria, and then does whatever you want with them. But oddly enough, find can’t find files based on their extended attributes. Why? I suspect a couple of reasons: (1) the behavior of find is specified by the POSIX standard, so the priority of the developers is to make sure they implement the features prescribed by POSIX correctly, and (2) extended attributes are an optional feature on filesystems; they have to be explicitly enabled when you’re compiling your kernel and again when you mount your filesystem if you want them to exist at all. A core utility like find can’t afford to include code for an optional feature that might b0rk things when the feature is not enabled.

    Thankfully, I don’t care about any of that. So I took a day off website design (that …