feat: expand LinuxScripts into a complete Linux utility toolkit - #2
Closed
ashishsinghbora wants to merge 39 commits into
Closed
ashishsinghbora wants to merge 39 commits into
ashishsinghbora wants to merge 39 commits into
Conversation
Owner
Author
Maintainer Review & Verification Summary1. What was implemented
2. What was tested
3. Final test result
4. Known limitations
|
ashishsinghbora
force-pushed
the
feat/linux-toolkit
branch
from
September 24, 2026 17:08
f38f022 to
3617dd4
Compare
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This pull request expands LinuxScripts from an initial loose collection of 5 scripts into a professional, modular, reliable, and beginner-friendly Linux utility toolkit. All legacy root-level scripts have been migrated into structured categories under
scripts/, 34 new standalone utilities have been implemented, a unified interactive CLI dashboard (bin/linux-toolbox) has been introduced, and an automated regression validation harness with GitHub Actions CI has been added.What changed
1. System (
scripts/system/)system-info.sh: Reorganized with robust multi-distro identification and hostname fallback.system-health.sh: Real-time health metrics including CPU, RAM, root disk, load average, and active systemd triage.kernel-info.sh: Kernel release, architecture, and loaded kernel modules.boot-info.sh: Boot times and systemd startup performance breakdown.failed-services.sh: Lists all currently degraded or failed systemd services.2. Storage (
scripts/storage/)disk-usage.sh: Human-readable mounted filesystem utilization.find-large-files.sh: Finds largest files exceeding size thresholds with configurable directory and count.directory-size.sh: Computes disk usage of specific directories.inode-usage.sh: Tracks filesystem inode utilization and alerts on >90% exhaustion.mount-info.sh: Detailed mount points, options, and block device details viafindmnt.filesystem-info.sh: Reports filesystem types, mount options, and UUIDs.disk-health.sh: SMART disk diagnostics viasmartctlwith permission and status reporting.3. Networking (
scripts/network/)network-info.sh: Network interfaces, IP addresses, default routing, and active DNS servers.ping-test.sh: ICMP reachability and latency checks with configurable counts.dns-test.sh: DNS resolution validation withdigornslookup.port-check.sh: TCP port availability check with/dev/tcporncfallback.route-info.sh: Kernel IP routing tables and gateway inspection.internet-test.sh: WAN connectivity verification via HTTP/HTTPS endpoints.listening-ports.sh: Inspects open listening sockets viassandnetstat.network-diagnostics.sh: Comprehensive automated network triage suite.4. Process (
scripts/process/)process-info.sh: Top CPU and memory consuming processes.kill-process.sh: Safe process termination with search filtering, custom signal options, and confirmation prompts.5. Packages (
scripts/packages/)update-system.sh: Cross-distro system updates with dry-run support (-n).install-package.sh: Safe package installation with user confirmation across supported managers.remove-package.sh: Safe package removal with user confirmation across supported managers.search-package.sh: Queries package repositories for keywords.package-info.sh: Package version, status, and dependency inspection.package-manager-info.sh: Detects active system package manager and version.6. Hardware (
scripts/hardware/)hardware-summary.sh: Aggregates CPU, GPU, memory, block, and USB information.cpu-info.sh: Detailed CPU architecture, model, cores, and frequencies.gpu-info.sh: PCI graphics adapters and OpenGL renderers.memory-info.sh: Human-readable memory statistics and/proc/meminfometrics.usb-devices.sh: Lists USB devices vialsusbor sysfs fallback.pci-devices.sh: Lists PCI devices vialspci.battery-info.sh: Power supply and battery capacity/status reporting.7. SSH (
scripts/ssh/)ssh-key-setup.sh: Generates secure Ed25519/RSA key pairs with overwrite protection.ssh-config-check.sh: Validates client SSH configuration syntax.ssh-host-info.sh: Queries remote host fingerprints usingssh-keyscan.ssh-hardening-check.sh: Strictly read-only audit ofsshd_configagainst best-practice security baselines.8. Developer Tools (
scripts/developer/)dev-environment-info.sh: Scans for compilers, runtimes (Python, Node, Go, Rust, Java), and container engines.git-info.sh: Displays Git version, user config, and current repository status.docker-info.sh: Docker daemon, container, and image status reporting.python-info.sh: Python 3 runtime, active virtualenv, and installed pip packages.node-info.sh: Node.js, npm version, and global package modules.command-exists.sh: Fast path resolution and command presence checker.9. Maintenance (
scripts/maintenance/)cleanup-cache.sh: Cleans user and temporary caches safely with user confirmation.backup.sh: Creates compressed.tar.gzarchives of directories with timestamps.extract.sh: Universal archive extraction supporting.tar,.zip,.gz,.bz2,.xz, and.7z.file-organizer.sh: Categorizes loose files by extension into clean folders, with dry-run support.log-inspect.sh: Inspects and filters system and application logs with tail/grep controls.10. Interactive Dashboard (
bin/linux-toolbox)eval.11. Testing & Quality Assurance (
tests/,.github/)tests/test_all.sh: Automated test runner verifying bash syntax, executable bits, and--helpresponses across all 39 scripts..github/workflows/shellcheck.yml: GitHub Actions workflow running automated ShellCheck and the test suite.12. Documentation
README.mdwith complete reference table, quick start, and safety philosophy.CONTRIBUTING.md, security disclosure policy inSECURITY.md, andLICENSE(MIT).Testing
bash -non all 39 scripts andbin/linux-toolbox(0 errors).bash tests/test_all.shacross all scripts (50/50 test assertions passed).Safety
kill-process.sh,cleanup-cache.sh,remove-package.sh,install-package.sh) prompt for confirmation before modifying the system.ssh-hardening-check.shis strictly read-only and never alters or overwrites SSH configurations.Compatibility
Supported distributions and package managers tested:
pacman)apt)dnf)zypper)Files
bin/: CLI dashboardscripts/: Modular scripts categorized by domaintests/: Automated test suite.github/workflows/: CI testing pipelineREADME.md,LICENSE,CONTRIBUTING.md,SECURITY.mdValidation
Final local validation result: