shake(8)

shake8

Rewrite fragmented files, maybe improving performance.

Usage

shake [OPTION] ... [{FILE | DIRECTORY}] ...

Overview

Rewrite fragmented or misplaced files, maybe improving performance. Reads file list from standard input if there is no files in the arguments. You have to mount your partition with the user_xattr option.

-c, --max-crumbc

max number of crumbs

-C, --max-fragc

max number of fragments

-d, --max-deviance

max distance between file start and it's ideal position

-h, --help

you're looking at me !

-L, --no-locks

don't put a lock on written files

-m, --many-fs

shake subdirectories that are on different filesystems

-n, --new

age of "new" files, which will be shak()ed

-o, --old

age of "old" files, which won't be shak()ed

-p, --pretend

don't alter files

-r, --crumbratio

ratio of the file under which a fragment is a crumb

-s, --smallsize

the size under which a file is considered small

-S, --bigsize

the size under which a file is considered big

-t, --small-tolerance multiply crumbratio and divide maxfnumber of small files

-T, --big-tolerance

multiply crumbratio and divide maxfnumber of big files

-v, --verbose

increase the verbosity level

-V, --version

show version number and copyright

-X, --no-xattr

disable usage of xattr

Usage

If there is no FILES shake read from stdin.

Please refer to http://vleu.net/shake/ for detailed instructions.

Examples

See fragmention of a file :

shake --pretend --verbose --verbose FILE

Shake all file in a dir, recursively :

shake --old=0 DIR

Shake all mp3 in subdirectory, puting together those close in lexical order :

find -iname '*.mp3' | sort | shake

Reporting bugs

Report bugs to <[email protected]> or at https://github.com/unbrice/shake/issues

From shake 1.0-5 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.