TOC

Specimen

flista Synopsys
 $#>flista [-P|-s|-v <ver>] hs|ls|[force]cp|[force]remove <path> [<flist>]

What does it do

flista the file fista is your fast and efficient file lister/fista.

With flista you can easily track contents of paths with hashes, marking changes that way.

You can copy files into your paths, keeping all files with mismatching hashes.

You can forcecopy files into your paths, irregardless of mismatching hashes.

You can remove files from your paths, keeping all files with mismatching hashes.

How it works: Listing

Install flista like a normal application, currently as an apk for alpinelinux:

installing flista
 $#>apk add flista

After that you can list contents of your current path with:

flista build list from here
 $#>flista ls .

Or, more generally speaking, build a regular filelist to stdout:

flista build regular list
 $#>flista ls <path> [ > <file>]

You can list hashed contents of your current path with:

flista build regular list
 $#>flista ls .

Or, more generally speaking, to build a hashed filelist to stdout:

flista build hashed list
 $#>flista hs <path> [ > <file>]

How it works: Copying

Copying files is easy. Give

Copy files on list to path if hash is same, if any:

flista copy files from flist if not already there
 $#>flista cp <tgtpath> <flist>

If you have a hashed list and already have files in you wish to disregard, rather give:

flista copy files from flist even if already there
 $#>flista forcecp <tgtpath> <flist>

How it works: Removing

Remove files on list from path if hash is same, if any:

flista remove only if not different from known hash
 $#>flista remove <srcpath> <flist>

Remove files from flist even when hash mismatch, if any:

flista remove files from flist even if different from known hash
 $#>flista forceremove <srcpath> <flist>

You may give . as well as / as path!

If you want to save your list, we suggest

flista hash to file
 $#>flista hs . >/etc/filelist.d/project-files.txt

How it works: Switches

While listing/hashing you can give the following:

Use the faster POSIX mode witch -P for your list, not fancyfying them with tycho saves time, if you only need machine readable anyway …

Enable POSIX Mode, faster when listing/hashing:

flista POSIX-compliant
 $#>flista -P <cmd> <path>

Append statistics with the -s switch.

flista statistics
 $#>flista -s <cmd> <path>

Append a folder list, thus making it remind of old EISLIST format with the version switch: -v 1

flista version provided as arg
 $#>flista -v 1 <cmd> <path>

The order of the switches when calling is of no consequence.

flista example: hashed list
 # ----------------------------------------------------------------------------
 # Hashed contents of '/var/www/localhost/unblock/'
 # Creation: 12/18/18T00:33:25Z
 # Version: 1
 # by flista v1.0.1-r0 for root
 # ----------------------------------------------------------------------------
 u 0644 shrimp shrimp d3cec6926e1eb8819120c3f36fc926a0409fa3f8 config.d/adblocka-cgi
 u 0644 shrimp shrimp 481a1df468bb2895513ece18e5d510426d96a3e1 config.d/adblocka-whitelist
 u 0644 shrimp shrimp 1615e70f10254c19069f9736c3ae520698fd7f76 config.d/adblocka-blacklist
 u 0644 shrimp shrimp 8c95993b09e1c9c8a88892c5bd02187b0d7c5737 config.d/classes
 u 0644 shrimp shrimp 03e2a640281a832a727245911a182dada44684bc config.d/adblocka-export
 u 0644 shrimp shrimp d382ec13187b5f47374dfb03df06ba6038a4fd24 config.d/adblocka-retrieve
 u 0644 shrimp shrimp b30c4cd3972b8843f747855ffc66c8785c1c0ca9 js/jquery-countdown.js
 u 0644 shrimp shrimp b30c4cd3972b8843f747855ffc66c8785c1c0ca9 js/jquery.countdown.js
 u 0644 shrimp shrimp b638f3f1702550420ea370ecca763dd78bd6874f js/jquery-1.3-min.js
 u 0755 shrimp shrimp e7b59e3bff0511cf81f1f4d46c14bd00d2c91a37 index.cgi
 u 0644 shrimp shrimp fe4b5674ceb58f4dc3f3543252ae166fa5a1280b css/styles.css
 b 0644 shrimp shrimp 6c8eca258ca1e66e37aef296cbee3ea2f4d61700 img/block_btns.png
 b 0644 shrimp shrimp 847d6d54b08f28c7262f8b484b42d7803360c6ae img/digits.png
 b 0644 shrimp shrimp e7d0d4bce61aed2278b44474977db5a52afefe1d img/unblock.png
 u 0644 shrimp shrimp 302ad09ac14a90198e08deb8a63c17e228c0972d i18n/EN_en
 u 0644 shrimp shrimp c741ef745bd3f25b88f09a2b85dff8cd1856861c i18n/DE_de
 u 0755 shrimp shrimp 36436c8aa84ee2ede3717a2ff12be8dbd79455a8 classes.cgi
 u 0644 shrimp shrimp a9aec076ace6735250868339680d8aa4c5d46869 include/ycho
 u 0644 shrimp shrimp 8cedc048ff83565a96e6e7cd9325fb08b543378d include/localelib
 u 0644 shrimp shrimp 7cb34902a63db99faab036783dc0c40cd2ef0978 include/cgilib
 u 0644 shrimp shrimp c4ec12f0b7126c536bd592959744ff5edc4ccb78 include/ycholib
 u 0644 shrimp shrimp 801329de41b606660b833e2c5dd20b58f50cd64b include/adblockalib
 #
 f 0755 shrimp shrimp 16d2aec5949fafc16d2aec5949fafc19c94301c4
 f 0755 shrimp shrimp 5bbd0d383856f3c9915bbd0d383856f3c99148a6 config.d
 f 0755 shrimp shrimp 88ad3e7fa88ad3e7faf7e516dd464affc4f7e516 js
 f 0755 shrimp shrimp 6786509c7d3766786509c7d376387eead6b59b29 log
 f 0755 shrimp shrimp 18c65416ea580313b4318c65416ea580313b4394 css
 f 0755 shrimp shrimp c458c7e883f2a64c458c7e883f2a648b9a4248b9 img
 f 0755 shrimp shrimp c19b8c1120c19b8c1120a85f2ad2ac6ef62a85f2 i18n
 f 0755 shrimp shrimp 8f4209637d330d8bf93d60c8f4209637d330d8bf include