Shark Tool is the ultimate all-in-one file and system administration utility. Built for admins, developers, and power users, Shark unifies essential file management, automation, and analysis tasks into a single, powerful command-line interface—eliminating the need for multiple separate tools. Its unique commands, such as grammar for advanced text analysis, summary for structured file summaries, and introspect for deep file inspection, set Shark apart by providing capabilities rarely found in traditional CLI utilities.
- Comprehensive file and directory operations (
show,copy,move,delete,rename,create) - Powerful archive creation, extraction, and listing (zip, tar, gz)
- Advanced recursive search by name or content with filtering options
- Smart file timestamp and metadata management
- Cross-platform compatibility (Linux, macOS, Windows)
- Command palette for quick access to all features
- Grammar analysis, correction, and tone detection via SOAP API
- Structured file summaries and statistics (keywords, topics, entropy)
- File synchronization and backup with flexible options
- Real-time file monitoring and change detection
| Command | Description | Common Flags |
|---|---|---|
show |
Display files and directories. | -a, --all Show hidden files-l, --long Detailed info-h, --human Human-readable sizes-r, --recursive Include subdirs-d, --depth <n> Limit recursion depth--as Format options "list", tree, graph, tiles.--time Show timestamps |
move |
Move or rename files/directories. | -f, --force Overwrite without prompt-i, --interactive Ask before overwrite-b, --backup Backup before move |
copy |
Copy files or directories. | -r, --recursive Copy subdirectories-u, --update Only copy newer-p, --preserve Keep permissions/timestamps |
remove / delete |
Delete files or directories. | -r, --recursive Delete contents-f, --force No confirmation-i, --interactive Confirm per file--trash Move to system trash |
rename |
Rename files or directories. | -f, --force Overwrite target-i, --interactive Confirm before overwrite |
create |
Create new directories or files. | -p, --parents Create parent dirs-t, --type Create file or dir |
search |
Find files by name or content. | -r, --recursive Include subdirs-n, --name Match filename-c, --content Search in file contents-i, --ignore-case Case-insensitive |
archive |
Create, extract, or list archives. | -c, --create New archive-x, --extract Extract contents-l, --list List archive-f <format> Format: zip/tar/gz-p, --password Encrypt archive |
view |
Output file contents to terminal. | -n, --number Number all lines-b, --non-blank Number non-empty lines-s, --squeeze Remove blank lines-h, --head <n> First n lines-t, --tail <n> Last n lines--time Show timestamps |
compare |
Compare two files/directories (text or binary). | -t, --text Line diff-b, --binary Binary diff--context <n> Show context lines--ignore-case Ignore case differences |
help |
Display help for supported commands. | --examples Show usage examples--man Full manual |
sync |
Synchronize files/directories. | -r, --recursive Include subdirs-u, --update Copy only newer--delete Remove extraneous files from target |
watch |
Continuously monitor files or directories. | -r, --recursive Include subdirs-e, --events <list> Filter events: create/modify/delete-t, --interval <n> Poll interval in seconds |
rewrite |
Modify or update file contents, timestamps, or size. | -i In-place edit--append Append instead of overwrite-n No newline--size <n> Set exact file size |
introspect |
Examine file contents, type, or metadata. | -n <lines> Number of lines-c Count lines, words, bytes--fson FSON output--mime Show MIME type |
grammar |
Perform grammar analysis, correction, sanitization, tone detection, and content-risk scanning through the SOAP API. | --check Run grammar check--fix Auto-correct grammar--sanitize Remove rot-brain/meme language--suggest Suggest alternatives--tone Detect tone--detect <type> Run detectors: ragebait, clickbait, spam, woke, bot, sarcasm, formal, snowflake, offensive, neutral, hype, quality, political, conspiracy, marketing, technobabble |
summary |
Generate a structured summary of one or more files (text, logs, code, docs). | -l, --lines <n> Limit lines analyzed--auto Auto-detect file type--keywords Extract keywords--topics Topic clustering--stats File statistics (chars/lines/entropy)--fson Output structured FSON summary |
storage |
Deduplicate, catalog, snapshot, organize, and prune files. | --dedupe Duplicates--catalog Catalog--index Index--snapshot Snapshot--prune Prune |
| Flag | Description |
|---|---|
--help |
Show command help. |
--version |
Display Shark Tool version. |
-v, --verbose |
Enable detailed output. |
-q, --quiet |
Suppress standard output. |
--dry-run |
Simulate actions without changes. |
--color |
Colorize output where applicable. |
--time |
Display timestamps in output. |
| Example | Description |
|---|---|
shark show -alh --as=tree --time |
List all files (including hidden) in long, human-readable format as a tree, with timestamps. |
shark move -i -b old.txt archive/old.txt |
Move a file interactively, creating a backup before moving. |
shark copy -rp src/ backup/ |
Recursively copy the src/ directory to backup/, preserving permissions and timestamps. |
shark remove -r --trash temp/ |
Recursively move the temp/ directory and its contents to the system trash. |
shark rename -i draft.md final.md |
Rename a file with confirmation before overwriting the target. |
shark create -p -t dir logs/archive/2024/ |
Create a nested directory structure for logs. |
shark search -rc "config" |
Recursively search for the string "config" inside files. |
shark archive -c -f tar project.tar src/ |
Create a TAR archive from the src/ directory. |
shark view -n -h 20 --time notes.txt |
View the first 20 lines of a file with line numbers and timestamps. |
shark compare -t main_v1.c main_v2.c --context 5 |
Show a line-by-line diff of two files with 5 lines of context. |
shark sync -ru src/ dest/ |
Synchronize files from src/ to dest/, copying only newer files recursively. |
shark watch -r -e create,delete src/ |
Monitor the src/ directory recursively for file creation and deletion events. |
shark rewrite -i --append log.txt "New entry" |
Append a new entry to a log file in-place. |
shark introspect --mime report.pdf |
Show the MIME type of a file. |
shark grammar --check --tone notes.txt |
Run a grammar check and detect tone in a text file. |
shark summary --auto --keywords --stats article.md |
Generate an automatic structured summary with keywords and statistics for a document. |
shark storage --dedupe --catalog ~/Documents/ |
Deduplicate files and create a catalog of your Documents directory. |
Ensure you have the following installed before starting:
- Meson Build System: This project relies on Meson. For installation instructions, visit the official Meson website.
- Install Meson:
- Follow the installation guide on the Meson website for your operating system.
-
Clone the Repository:
git clone https://github.com/fossillogic/shark.git cd shark -
Configure the Build:
meson setup builddir
-
Compile the Project:
meson compile -C builddir
-
Install the Project:
meson install -C builddir
-
Run the Project:
shark --help
Interested in contributing? Please open pull requests or create issues on the GitHub repository.
For issues, questions, or feedback, open an issue on the GitHub repository.
This project is licensed under the Apache Public License.
