sfic(1)
πΈ NAME πΈ
hii bestie π this is sfic(1) from the General Commands Manual β aka Simple File Integrity Checker. she's iconic, she checks files, she keeps receipts. periodt π
β¨ SYNOPSIS β¨
okay so here's the exact shape of the vibe, no cap:
sfic [options] --add database [ dirspecs | --file filename ]
sfic [options] --delete database [ dirspecs | --file filename ]
sfic [options] --list database
sfic [options] --old database --new database
sfic [options] --old database [ direspecs ]
yes, the last line really says direspecs β we're keeping it exactly, periodt π«Ά
π¦ DESCRIPTION π¦
okay so sfic saves information about the state of a filesystem to a database. Two databases can be compared to determine what files have been added, deleted or modified. and here's the lowkey best part: sfic does not require an entire filesystem to be indexed β individual files can be specified for addition or deletion at any time. The list of files to add or delete are given on the command-line, unless the --file option is used. fr fr, she's flexible like that β¨
π OPTIONS π
--file filenameβ reads a list of files to add / delete from the database from filename, one per line. If the filespec is-, then read the list of files fromstdin.--quiet (-q)β makes output quieter. Can be used more than once to reduce output further. See NOTES below for more information on output verbosity.--verbose (-v)β increases the verbosity. Can be used more than once. See NOTES below for more information on output verbosity.--fast (-F)β prevents the sha256 hash from being generated on regular files.--recursive (-R)β turns on recursion. For an add operation, the contents of any specified directory (and all subdirectories) will be added to the database. For a delete operation, any directory specified in a delete will also have all child entries deleted from the database.--one-file-system (-x)β when recursion is turned on,sficwill add entries for directories that are mount points, but will not recurse into those directories. This allows special directories, such as/tmpor/proc, to be excluded from a database.--ignore-trivial (-t)β when recursion is turned on,sficwill ignore size and time changes to entries for special files (where "special" is anything other than a file or symlink.) This prevents directories from being listed because a file was added or deleted, and prevents devices/sockets/FIFOs from being listed because they were in use (for example,/dev/console).--mask (-m) maskβ specifies what to compare or list. The mask is composed of an array of the following characters:pβ permissions (and file type)iβ inodenβ number of linksuβ user ownergβ group ownersβ sizeaβ access timemβ modified timecβ creation timehβ hash
When listing a database, the mask specifies what's listed and in what order. Each element is tab separated, and elements may be specified more than once. For instance, a mask of shs will list the file size, the hash, and the file size (a second time), and finally the file name. A mask of "" prints the file names only.
--ignore (-i) typeβ specifies file types to ignore when doing adds, deletes or compares. The types are composed of an array of the following characters:bβ blockdevcβ chardevdβ directoryfβ regular filelβ symlinkpβ pipe (FIFO)sβ socket
π₯ NOTES π₯
When comparing database, sfic has several four levels of verbosity: NONE, TERSE, BRIEF, and VERBOSE. TERSE is the default. (the original says "several four," and honestly we love that for her π)
- NONE β No output is printed. (not very useful.)
- TERSE β Each modified file is preceded by the letter A, D, or U. (cvs output style.)
- BRIEF β Each modified file is preceded by the word Added, Deleted, or Updated.
- VERBOSE β The words
>ADDED>>>or<DELETED<are printed for new or removed files. For updated files, a listing of the specified mask elements that were changed is printed.
When given an oldbase but not a new name, sfic will compare the contents of the old database to the filesystem. Only files given on the command line are checked. This means "deletes" will not be flagged β only adds/changes. iykyk π
π BUGS π
Probably many. I mean... same, but she's still iconic ππ
π AUTHORS π
Nathan Angelacos <nangel@users.sourceforge.net>Natanael Copa <ncopa@users.sourceforge.net>
π SEE ALSO π
yafic, Tripwire, aide. go give them a little look, bestie π«Άβ¨
okay that's the whole sfic(1) page β version/source tag sfic(1), dated June 2006. kiss kiss, mwah ππ
π¦ where this page comes from
- alpine 3.22: sfic-doc 0.1.7-r10 Β· GPL-2.0-or-later
- alpine 3.23: sfic-doc 0.1.7-r10 Β· GPL-2.0-or-later
- alpine 3.24: sfic-doc 0.1.7-r10 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms