SHAKE(8)

πŸ“¦ version 1.0, in arch rolling

πŸ’… SHAKE(8) β€” the system administration utilities glow-up

okay bestie, so this is Shake from the System Administration Utilities family, and it's here to rewrite your fragmented files and maybe make things faster. Maybe!! no cap.


✨ NAME ✨

Shake β€” rewrite fragmented files, maybe improving performance. that's it, that's the whole vibe πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

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

🌸 DESCRIPTION 🌸

so what it does is rewrite fragmented or misplaced files, and maybe improve performance β€” "maybe" is doing a lot of heavy lifting there, jsyk. 😭

it reads the file list from standard input if there's no files in the arguments. and listen β€” you have to mount your partition with the user_xattr option. that's not optional, that's the whole thing. periodt. πŸ’…


πŸ‘‘ OPTIONS πŸ‘‘

  • -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 ! πŸ™ˆ (literally, this is the help text, hi)
  • -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 (a little dress rehearsal, we love a dry run ✨)
  • -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 (stack it for extra yapping πŸ—£οΈ)
  • -V, --version β€” show version number and copyright
  • -X, --no-xattr β€” disable usage of xattr

πŸ’œ USAGE πŸ’œ

if there is no FILES shake read from stdin. main character energy: it'll happily take its input from the void. πŸ’«

please refer to http://vleu.net/shake/ for detailed instructions. go read it, iykyk.


🌈 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 <brice.arnould+shake@gmail.com> or at https://github.com/unbrice/shake/issues β€” be nice about it, the devs are people too 🫢


Copyright (C) 2006-2009 Brice Arnould. Permission is granted to copy, distribute and/or modify documentation under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the file FDL.txt .

Copyright Β© 2006-2011 Brice Arnould. Shake comes with ABSOLUTELY NO WARRANTY. You may redistribute copies of Shake under the terms of the GNU General Public License version or greater. For more information about these matters, see the file named GPL.txt.

⚠️ bestie, read that again: ABSOLUTELY NO WARRANTY. all caps, all drama, all true. 😭

⭐ okay that's the whole page!! this was Shake 1.0, dated October 2026, living its life as SHAKE(8) β€” mwah, slay, go defrag something πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from