This repository contains a set of focused Linux CLI tools:
ff- fast file finder with sane defaultsrn- regex-based bulk rename toollip- clean local IP address printerpfd- readable process file descriptor viewergit-summary- repository stats (commits, contributors, dates, hot files)git-size- largest git objects, sortedhex- readable hex dump with ASCII and color hintsmagic- identify file type by magic bytessym- readable ELF symbol table viewer with demanglingdeps- shared library dependency tree rendererelf- human-readable ELF header/segment/section inspectorrpath- print ELF RPATH/RUNPATH entriessocheck- report unresolved shared library dependenciesepoch- convert Unix timestamps and date/time stringsport- show listening sockets and owning processesjwt- decode and pretty-print JWT header/payloadb64- base64 encode/decode from args or stdindirsize- sorted directory sizes with inline bar chartcaps- readable Linux capability inspector for process/filefstype- print filesystem type, mount options, and deviceinode- inspect inode metadata and Linux inode flagstodo- scan codebase for TODO/FIXME/HACK/XXX commentsinc- resolve C/C++ #include dependencies without a compilerpalette- print terminal 256/truecolor palettes and escape code refsnstr- classified strings extractor for binariesentropy- per-block Shannon entropy chart for filesbindiff- byte-level binary diff with offset contexthashfile- compute md5/sha1/sha256/sha512/blake2 in one passthumbgen- extract a video thumbnail via FFmpeg C API (optional build target)
ff/source and README for file finderrn/source and README for bulk renamelip/source and README for local IP printingpfd/source and README for process file descriptorsgit-summary/source and README for repository statsgit-size/source and README for git object size inspectionhex/source and README for readable hex dumpsmagic/source and README for magic-byte type detectionsym/source and README for ELF symbol inspectiondeps/source and README for shared library dependency treeself/source and README for ELF structure inspectionrpath/source and README for RPATH/RUNPATH printingsocheck/source and README for unresolved dependency checksepoch/source and README for timestamp/date conversionport/source and README for socket-to-process lookupjwt/source and README for JWT inspectionb64/source and README for base64 encode/decodedirsize/source and README for sorted size reportscaps/source and README for Linux capability inspectionfstype/source and README for filesystem metadata lookupinode/source and README for inode inspectiontodo/source and README for TODO-style comment scanninginc/source and README for include dependency analysispalette/source and README for terminal color palette outputnstr/source and README for classified string extractionentropy/source and README for entropy analysisbindiff/source and README for binary comparisonhashfile/source and README for multi-hash fingerprintingthumbgen/source and README for frame extraction
Requirements:
- CMake 3.16+
- C++17 compiler (g++ or clang++)
cmake -S . -DCMAKE_BUILD_TYPE=Release
makeProduced binaries:
bin/ffbin/rnbin/lipbin/pfdbin/git-summarybin/git-sizebin/hexbin/magicbin/symbin/depsbin/elfbin/rpathbin/socheckbin/epochbin/portbin/jwtbin/b64bin/dirsizebin/capsbin/fstypebin/inodebin/todobin/incbin/palettebin/nstrbin/entropybin/bindiffbin/hashfilebin/thumbgen(only when FFmpeg dev libraries are installed)
# file finder
./bin/ff -e cpp
# bulk rename
./bin/rn --dry-run 's/\.jpeg$/.jpg/' *.jpeg
# list local IPs
./bin/lip
# show current shell open descriptors
./bin/pfd $$
# quick repository summary
./bin/git-summary .
# top 20 largest git objects
./bin/git-size .
# readable hex dump
./bin/hex CMakeLists.txt
# identify file type from signature
./bin/magic /bin/ls README.md
# inspect ELF symbol tables
./bin/sym --imports /bin/ls
# show dependency tree
./bin/deps --recurse /bin/ls
# inspect ELF metadata
./bin/elf /bin/ls
# print rpath/runpath entries
./bin/rpath /bin/ls
# check unresolved shared libs
./bin/socheck /usr/bin
# timestamp/date conversion
./bin/epoch 1713043200
# process listening on a port
./bin/port 22
# inspect JWT payload
./bin/jwt eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.sig
# base64 encode/decode
./bin/b64 'hello world'
# sorted directory sizes
./bin/dirsize -n 20 ~
# process/file capabilities
./bin/caps $$
# filesystem type and mount options
./bin/fstype /var/log
# inode metadata and flags
./bin/inode /etc/passwd
# scan TODO/FIXME/HACK/XXX comments
./bin/todo .
# include dependency tree
./bin/inc -r -I include src/main.cpp
# terminal palette preview
./bin/palette --codes
# classified strings from a binary
./bin/nstr /bin/ls
# entropy chart by block
./bin/entropy /bin/ls
# byte-level binary diff
./bin/bindiff old.bin new.bin
# compute all major hashes
./bin/hashfile /bin/lsEach tool has dedicated documentation:
ff/README.mdrn/README.mdlip/README.mdpfd/README.mdgit-summary/README.mdgit-size/README.mdhex/README.mdmagic/README.mdsym/README.mddeps/README.mdelf/README.mdrpath/README.mdsocheck/README.mdepoch/README.mdport/README.mdjwt/README.mdb64/README.mddirsize/README.mdcaps/README.mdfstype/README.mdinode/README.mdtodo/README.mdinc/README.mdpalette/README.mdnstr/README.mdentropy/README.mdbindiff/README.mdhashfile/README.mdthumbgen/README.md