No description
| Automation | ||
| Libraries/bash-commons | ||
| Maintenance | ||
| Misc | ||
| Network | ||
| Security | ||
| Setup | ||
| .gitignore | ||
| ltools.sh | ||
| README.md | ||
| repos | ||
Linux Scripts Collection
This repository contains a professional-grade collection of over 300 utility scripts for Linux system administration, security auditing, and devops automation.
🚀 Usage
You can use the unified CLI wrapper to execute or search for any script:
./ltools.sh list
./ltools.sh search <keyword>
./ltools.sh <script_name> [args...]
Automation
| Script | Description | Dependencies | Root |
|---|---|---|---|
argo-cd-sync.sh |
Variables | bash,curl |
false |
auto-deployment.sh |
Variables | bash,git |
false |
create-confluence-page.sh |
Variables | bash,curl |
false |
docker_compose_validator.sh |
docker_compose_validator.sh - Recursively find and validate Docker Compose files | bash,docker |
false |
download_all_github_repos.sh |
Script Name: download_all_github_repos.sh | bash,curl,jq,git,tar,ssh |
false |
fix_script_headers.sh |
Automated migration - please update description | bash |
false |
gh-url.sh |
will not return any output if short code is already taken | bash,curl,git |
false |
github-release-check.sh |
Automated migration - please update description | bash,curl,jq |
false |
jenkins-job.sh |
Usage: ./trigger_jenkins_job.sh <jenkins_url> <job_name> <param_key> <param_value> | bash,curl |
false |
release_package.sh |
Script Name: release_package.sh | bash,python,pip,git |
false |
remove_branch.sh |
Script Name: remove_branch.sh | bash,git |
false |
remove_n_last_commits.sh |
Script Name: remove_n_last_commits.sh | bash,git |
false |
replace_everywhere.sh |
Script Name: replace_everywhere.sh | bash,git |
false |
restart-containers.sh |
Usage: ./restart_container.sh <container_name> | bash,docker |
false |
run_command_everywhere.sh |
Usage: ./run_command_everywhere.sh <hosts_file> | bash,ssh |
false |
scale-deployment.sh |
Usage: ./scale_deployment.sh <deployment_name> | bash,kubectl |
false |
slack-notify.sh |
Variables | bash,curl |
false |
sonarqube-slack-notify.sh |
Variables | bash,curl,jq |
false |
soundcloud-music.sh |
Automated migration - please update description | bash |
false |
splunk-search.sh |
Usage: ./query_splunk.sh <splunk_url> <output_file> | bash,curl |
false |
squash_branch.sh |
Script Name: squash_branch.sh | bash,git |
false |
sync_configs.sh |
Usage: ./sync_configs.sh <hosts_file> <source_path> <destination_path> | bash,rsync,ssh |
true |
url-encode.sh |
Automated migration - please update description | bash |
false |
youtube-music.sh |
get output format | bash |
false |
youtube-video.sh |
Automated migration - please update description | bash |
false |
Libraries
| Script | Description | Dependencies | Root |
|---|---|---|---|
array.sh |
Returns 0 if the given item (needle) is in the given array (haystack); returns 1 otherwise. | bash |
false |
assert.sh |
A collection of useful assertions. Each one checks a condition and if the condition is not satisfied | bash,jq |
true |
aws-wrapper.sh |
A collection of high level wrappers for the AWS CLI and EC2 metadata to simplify common tasks such a | bash,jq |
false |
aws.sh |
A collection of thin wrappers for direct calls to the AWS CLI and EC2 metadata API. These wrappers e | bash,curl,jq |
true |
bootstrap.sh |
Sets some Bash options to encourage well formed code. | bash |
false |
dynamic-ubuntu-wait.sh |
---------------------------------------------------------------------------------------------------- | bash |
true |
file.sh |
A collection of functions for working with files. | bash |
true |
log.sh |
Echo to stderr. Useful for printing script usage information. | bash |
false |
os.sh |
shellcheck source=./modules/bash-commons/src/log.sh | bash |
true |
string.sh |
Return true (0) if the first string (haystack) contains the second string (needle), and false (1) ot | bash,jq |
false |
Maintenance
| Script | Description | Dependencies | Root |
|---|---|---|---|
advanced-backup.sh |
Script Name: backup.sh | bash,rsync,tar |
false |
audit_script_metadata.sh |
`` | ||
backup-integrity-check.sh |
Automated migration - please update description | bash,tar,gzip |
false |
backup-size-trend.sh |
Automated migration - please update description | bash |
false |
backup.sh |
Script to backup system files weekly | bash,tar |
false |
backup_dir.sh |
Usage: ./backup_dir.sh <source_directory> <destination_directory> | bash,tar |
false |
beautify_script.sh |
Script Name: beautify_script.sh | bash |
false |
check_disk_space.sh |
Usage: ./check_disk_space.sh [threshold_percentage] | bash |
false |
clean_unused_volumes.sh |
clean_unused_volumes.sh - Safely identify and clean dangling Docker volumes | bash,docker |
false |
clear_cache.sh |
Script Name: clear_cache.sh | bash |
true |
clear_ram_cache.sh |
Usage: sudo ./clear_ram_cache.sh | bash |
true |
correct_file_names.sh |
Script Name: correct_file_names.sh | bash |
false |
cpu-load-watch.sh |
Automated migration - please update description | bash |
false |
cpu_temp.sh |
Script Name: cpu_temp.sh | bash |
false |
cron-job-audit.sh |
Automated migration - please update description | bash,curl,nc |
false |
dead_code.sh |
Script Name: dead_code.sh | bash,git |
false |
delete-screenshots.sh |
Automated migration - please update description | bash |
false |
disk-inode-monitor.sh |
Automated migration - please update description | bash |
false |
disk-throughput-test.sh |
disk-throughput-test.sh — Benchmark sequential read and write throughput on a directory | bash |
false |
disk-usage-monitor.sh |
Variables | bash |
false |
docker-image-age-report.sh |
Automated migration - please update description | bash,docker |
false |
docker-kill.sh |
Automated migration - please update description | bash,docker |
false |
docker-log-monitor.sh |
Variables | bash,docker,curl |
false |
docker_db_snapshot.sh |
docker_db_snapshot.sh - Execute a database dump inside a container and save to host | bash,docker,gzip,mysql,mysqldump,pg_dump |
false |
docker_health_monitor.sh |
docker_health_monitor.sh - Monitor containers with configured HEALTHCHECKs | bash,docker |
false |
docker_image_prune_selective.sh |
docker_image_prune_selective.sh - Selectively remove Docker images while keeping certain ones | bash,docker |
false |
docker_log_size_audit.sh |
docker_log_size_audit.sh - Audit the actual log file size on disk for all containers | bash,docker |
true |
docker_resource_hogs.sh |
docker_resource_hogs.sh - A script to identify containers consuming excessive resources | bash,docker |
false |
docker_volume_backup.sh |
docker_volume_backup.sh - Safely backup a Docker volume to a compressed tarball | bash,docker,tar |
false |
empty-trash.sh |
Automated migration - please update description | bash |
false |
empty_trash.sh |
Script Name: empty_trash.sh | bash |
true |
find_large_files.sh |
Usage: ./find_large_files.sh [directory] [size_in_MB] | bash |
false |
gc-cleanup.sh |
Script run garbage collection | bash,git |
false |
generate_readme.sh |
Automatically regenerates README.md based on script metadata headers | bash,grep,find |
false |
git-repo-stats.sh |
Script to display statistics about a git repository | bash,git |
false |
git-stale-branches-report.sh |
Automated migration - please update description | bash,git |
false |
grafana-metrics.sh |
Usage: ./restart_container.sh <container_name> | bash,docker |
false |
health-check.sh |
Service name | bash |
false |
json-log-summary.sh |
Automated migration - please update description | bash,jq |
false |
k8s-pod-age-report.sh |
Automated migration - please update description | bash,kubectl |
false |
k8s-pod-restart-report.sh |
Automated migration - please update description | bash,kubectl |
false |
kubectl-namespace-cleanup.sh |
Variables | bash,kubectl |
false |
large-file-finder.sh |
large-file-finder.sh — Find the largest files in a directory tree, sorted by size | bash |
false |
log-error-summary.sh |
log-error-summary.sh — Count and rank error patterns in a log file for rapid triage | bash |
true |
log-file-cleanup.sh |
Directory to search for log files | bash,gzip |
false |
log-monitor.sh |
Log Monitor Script | bash |
true |
log-rotation.sh |
Variables | bash |
true |
mysql-slow-query-report.sh |
mysql-slow-query-report.sh — Parse a MySQL slow query log and report the top offenders | bash,mysql |
true |
orphans.sh |
Script Name: orphans.sh | bash |
false |
package-updates.sh |
Update package list | bash |
true |
process-monitor-alert.sh |
Process to monitor | bash |
false |
process-zombie-report.sh |
Automated migration - please update description | bash |
false |
purge_pip.sh |
Script Name: uninstall_python_packages.sh | bash,pip |
false |
ram_memory.sh |
Script Name: ram_memory.sh | bash |
false |
remote-backup-verifier.sh |
Automated migration - please update description | bash,ssh |
false |
rm-ds-store.sh |
Automated migration - please update description | bash |
false |
rotate-old-files.sh |
Directory to clean up | bash |
false |
rsync-backup.sh |
Variables | bash,rsync |
true |
scp-remote-backup.sh |
Variables | bash,tar |
false |
service-status-check.sh |
Automated migration - please update description | bash |
false |
smart_metadata_sweep.sh |
Smartly analyzes scripts to update metadata (Description, Dependencies, Root_Required) | bash, grep |
false |
swap-usage-monitor.sh |
swap-usage-monitor.sh — Monitor swap usage and alert when it exceeds a threshold | bash |
false |
system-monitoring.sh |
Thresholds | bash |
true |
system-resource-monitor.sh |
Variables | bash |
true |
system-resource-reporter.sh |
System Resource Reporter Script | bash |
false |
top_resource_hogs.sh |
Usage: ./top_resource_hogs.sh | bash |
false |
update_system.sh |
Usage: ./update_system.sh | bash,apt-get,yum,dnf |
true |
uptime-reporter.sh |
uptime-reporter.sh — Report system uptime, boot time, and recent reboots | bash |
false |
zombie-process-checker.sh |
Script Name: zombies.sh | bash |
false |
Misc
| Script | Description | Dependencies | Root |
|---|---|---|---|
adjust_volume.sh |
Script Name: adjust_volume.sh | bash |
false |
alias_all_the_scripts.sh |
Script Name: script_aliaser.sh | bash |
true |
are_anagrams.sh |
Script Name: are_anagrams.sh | bash |
false |
arith_mean.sh |
Script Name: arith_mean.sh | bash |
false |
arithmetic_operations.sh |
Script Name: arithmetic_operations.sh | bash |
false |
change_commit_date.sh |
Script Name: change_commit_date.sh | bash,git |
false |
check_if_root.sh |
Script Name: check_if_root.sh | bash |
true |
christmas_tree.sh |
Script Name: christmas_tree.sh | bash |
false |
clock.sh |
No description available | bash |
true |
conditionals.sh |
Script Name: conditionals.sh | bash |
false |
contributions_by_git_author.sh |
Script Name: contributions_by_git_author.sh | bash,git |
true |
convert_to_gif.sh |
Script Name: convert_to_gif.sh | bash |
true |
convert_to_mp4.sh |
Script Name: convert_to_mp4.sh | bash |
true |
count_char.sh |
Script Name: count_char.sh | bash |
false |
count_files.sh |
Script Name: count_files.sh | bash |
false |
count_lines_of_code.sh |
Script Name: count_lines_of_code.sh | bash,git |
false |
cpu_usage.sh |
Script Name: cpu_usage.sh | bash |
false |
decimal_binary.sh |
Script Name: decimal_binary | bash |
false |
digits.sh |
Script Name: digits.sh | bash |
false |
disk_usage.sh |
Script Name: disk_usage.sh | bash |
false |
display_weather.sh |
Script Name: display_weather.sh | bash,curl |
false |
encode-x265.sh |
Automated migration - please update description | bash |
false |
extend_video_height.sh |
Script Name: extend_video_height.sh | bash |
false |
factorial.sh |
Script Name: factorial.sh | bash |
false |
fetch_github_repos_names.sh |
Script Name: fetch_github_repos_names.sh | bash,curl,jq |
false |
for_loop.sh |
Script Name: for_loop.sh | bash |
false |
generate_books.sh |
Script Name: generate_books.sh | bash |
false |
gif-convert.sh |
Tips | bash |
false |
gif_to_mp4_converter.sh |
Script Name: gif_to_mp4_converter.sh | bash |
false |
hamming_distance.sh |
Script Name: hamming_distance.sh | bash |
false |
hello.sh |
Automated migration - please update description | bash |
false |
hello_world.sh |
Script Name: hello_world.sh | bash |
false |
html_table_to_markdown.sh |
Script Name: html_table_to_markdown.sh | bash |
false |
install_nvidia_and_prepare_steam.sh |
Script Name: install_nvidia_and_prepare_steam.sh | bash,apt-get |
true |
install_signal.sh |
Script Name: install_signal.sh | bash |
true |
ip_info.sh |
Script Name: ip_info.sh | bash,curl,jq |
false |
is_palindrome.sh |
Script Name: is_palindrome.sh | bash |
false |
is_prime.sh |
Script Name: is_prime.sh | bash |
false |
last_line_empty.sh |
Script Name: last_line_empty.sh | bash |
false |
learn.sh |
Automated migration - please update description | bash |
false |
line_counter.sh |
Script Name: line_counter.sh | bash |
false |
lower.sh |
Script Name: lower.sh | bash |
false |
maczip.sh |
zip without .DS_Store on a Mac | bash |
false |
make_short.sh |
Script Name: make_short.sh | bash |
false |
matrix_display.sh |
Script Name: matrix_display.sh | bash |
false |
max_array.sh |
Script Name: max_array.sh | bash |
false |
middle_line.sh |
Script Name: middle_line.sh | bash |
false |
min_array.sh |
Script Name: min_array.sh | bash |
false |
month_to_number.sh |
Script Name: convert_month.sh | bash |
false |
numbers_in_interval.sh |
Script Name: numbers_in_interval.sh | bash |
false |
pdf_page_extractor.sh |
Script Name: pdf_page_extractor.sh | bash |
false |
pomodoro.sh |
A simple shell script to use as a pomodoro app. | bash |
false |
prepend_text_to_file.sh |
Script Name: prepend_text_to_file.sh | bash |
false |
progress_bar.sh |
Script Name: progress_bar.sh | bash |
false |
prompt_for_answer.sh |
Script Name: promt_for_answer.sh | bash |
false |
purge_and_reinstall_nodejs.sh |
Script Name: purge_and_reinstall_nodejs.sh | bash,curl,jq,apt-get,yum,dnf,tar |
true |
random_int.sh |
Script Name: rand_int.sh | bash |
false |
recently_modified_files.sh |
Script Name: recently_modified_files.sh | bash |
false |
remove_carriage_return.sh |
Script Name: remove_carriage_return.sh | bash |
false |
remove_consecutive_blank_lines.sh |
Script Name: remove_consecutive_blank_lines.sh | bash |
false |
remove_diacritics.sh |
Script Name: remove_diacritics.sh | bash |
false |
remove_duplicate_lines.sh |
Script Name: remove_duplicate_lines.sh | bash |
false |
remove_duplicates_in_array.sh |
Script Name: remove_duplicates_in_array.sh | bash |
false |
remove_empty_lines.sh |
Script Name: remove_empty_lines.sh | bash |
false |
remove_leading_whitespace.sh |
Script Name: remove_leading_whitespace.sh | bash |
false |
remove_trailing_whitespaces.sh |
Script Name: remove_trailing_whitespaces.sh | bash |
false |
rename_extension.sh |
Script Name: rename_extension.sh | bash |
false |
reset_to_origin.sh |
Script Name: reset_to_origin.sh | bash,git |
false |
resize_to_a4.sh |
Script Name: resize_to_a4.sh | bash |
false |
server_health_monitor.sh |
Script Name: server_health_monitor.sh | bash |
true |
sort_string.sh |
Script Name: sort_string.sh | bash |
false |
speed_up_video.sh |
Script Name: speed_up_video.sh | bash |
false |
sqrt.sh |
Script Name: sqrt.sh | bash |
false |
squash_n_last_commits.sh |
Script Name: squash_n_last_commits.sh | bash,git |
false |
stretch_mp4_vertically.sh |
Script Name: stretch_mp4_vertically.sh | bash |
false |
strip_cpp_comments.sh |
Script Name: strip_cpp_comments.sh | bash |
true |
strip_digits.sh |
Script Name: strip_digits.sh | bash |
false |
strip_python_comments.sh |
Script Name: strip_python_comments.sh | bash |
false |
sum_args.sh |
Script Name: sum_args.sh | bash |
false |
sum_smaller_numbers.sh |
Script Name: sum_smaller_numbers.sh | bash |
false |
swap_files.sh |
Script Name: swap_files.sh | bash |
false |
switch_slashes.sh |
Script Name: switch_slashes.sh | bash |
false |
system_info.sh |
Script Name: system_info.sh | bash |
false |
time_execution.sh |
Script Name: time_execution.sh | bash |
false |
timer.sh |
Script Name: timer.sh | bash |
false |
tomp3.sh |
http://stackoverflow.com/questions/3255674/convert-audio-files-to-mp3-using-ffmpeg | bash |
false |
toogg.sh |
ffmpeg -i $1 -acodec libmp3lame $fn.mp3 | bash |
false |
uglify.sh |
drop_console | bash |
false |
upper.sh |
Script Name: upper.sh | bash |
false |
vamerge.sh |
webm to mp4 issue - http://superuser.com/questions/873485/how-to-combine-webm-and-opus-to-generate-m | bash |
false |
weather.sh |
No description available | bash,curl |
false |
while_loop.sh |
Script Name: while_loop.sh | bash |
false |
word_histogram.sh |
Script Name: word_histogram.sh | bash,jq |
false |
youtube_to_mp3.sh |
Script Name: youtube_to_mp3.sh | bash,jq |
true |
Network
| Script | Description | Dependencies | Root |
|---|---|---|---|
api-latency-monitor.sh |
Automated migration - please update description | bash,curl |
false |
check_ports.sh |
Usage: ./check_ports.sh [port2] ... | bash,nc |
false |
discover_hosts.sh |
Usage: ./discover_hosts.sh | bash |
false |
dns-lookup-check.sh |
dns-lookup-check.sh — Verify DNS resolution for a list of hostnames and detect failures or unexpec | bash |
false |
docker_network_map.sh |
docker_network_map.sh - List all Docker networks and the containers attached to them | bash,docker |
false |
docker_shell_debug.sh |
docker_shell_debug.sh - Launch a temporary debug container in another | bash,docker,curl |
false |
find_listening_ports.sh |
Usage: sudo ./find_listening_ports.sh | bash |
true |
get_public_ip.sh |
Usage: ./get_public_ip.sh | bash,curl |
false |
http-status.sh |
Variables | bash,curl |
false |
monitor-open-ports.sh |
Output file for open ports | bash |
false |
monitor_internet.sh |
Usage: ./monitor_internet.sh [target_ip] [log_file] | bash |
true |
network-latency-report.sh |
network-latency-report.sh — Ping a list of hosts and report round-trip time statistics | bash |
false |
network_bandwidth.sh |
Script Name: network_bandwidth.sh | bash |
false |
program_on_port.sh |
Script Name: program_on_port.sh | bash |
false |
show-certificate.sh |
No description available | bash,openssl |
false |
tcp-connectivity-check.sh |
Automated migration - please update description | bash,nc |
false |
Security
| Script | Description | Dependencies | Root |
|---|---|---|---|
account-expiry-notify.sh |
Days before expiry to notify | bash |
false |
audit_permissions.sh |
Usage: sudo ./audit_permissions.sh | bash,ssh |
true |
audit_ssh_hardening.sh |
audit_ssh_hardening.sh - A comprehensive SSH daemon security audit tool | bash,ssh |
true |
certificate-renewal-check.sh |
certificate-renewal-check.sh — Check whether TLS certificates need renewal and output actionable s | bash,openssl |
true |
check-ssl-expiry.sh |
Script to check SSL certificate expiration date for a website | bash,openssl |
false |
create_admin_user.sh |
Usage: sudo ./create_admin_user.sh <ssh_public_key> | bash,ssh |
true |
env-var-audit.sh |
Automated migration - please update description | bash |
false |
fail2ban_summary.sh |
fail2ban_summary.sh - A dashboard for Fail2Ban status and banned IPs | bash,ufw,fail2ban-client |
true |
failed-login-monitor.sh |
Automated migration - please update description | bash |
true |
file-integrity-snapshot.sh |
Automated migration - please update description | bash |
false |
file-permission-audit.sh |
Automated migration - please update description | bash |
false |
git-commit-signoff-check.sh |
Automated migration - please update description | bash,git |
false |
kernel-parameter-audit.sh |
kernel-parameter-audit.sh — Check critical kernel sysctl parameters against secure baselines | bash |
false |
lock_user_account.sh |
Usage: sudo ./lock_user_account.sh | bash |
true |
parse_auth_logs.sh |
Usage: sudo ./parse_auth_logs.sh | bash |
true |
push_ssh_key.sh |
Usage: ./push_ssh_key.sh <hosts_file> [key_file] | bash,ssh |
false |
random-password-generator.sh |
Password length | bash |
false |
random_password.sh |
Script Name: random_password.sh | bash |
false |
secrets-pattern-scan.sh |
Automated migration - please update description | bash,git |
false |
ssh-config-audit.sh |
Automated migration - please update description | bash,ssh |
true |
ssl-chain-check.sh |
Automated migration - please update description | bash,openssl |
false |
user-account-management.sh |
Variables | bash |
false |
web_block.sh |
Script Name: web_block.sh | bash |
true |
Setup
| Script | Description | Dependencies | Root |
|---|---|---|---|
check_apt_avail.sh |
Script Name: check_apt_avail.sh | bash |
false |
check_os.sh |
Script Name: check_os.sh | bash |
true |
extract-archive.sh |
Automated migration - please update description | bash,tar |
false |
extract.sh |
Script Name: extract.sh | bash,tar |
false |
firefox_profile_usb.sh |
Script Name: firefox_profile_usb.sh | bash,rsync |
false |
install_sysadmin_tools.sh |
Usage: sudo ./install_sysadmin_tools.sh | bash,curl,jq,apt-get,yum,dnf,rsync |
true |
make_dir.sh |
Script Name: make_dir.sh | bash |
false |
setup_shared_directory.sh |
Usage: sudo ./setup_shared_directory.sh <directory_path> <group_name> | bash |
true |
setup_simple_samba_share.sh |
Usage: sudo ./setup_simple_samba_share.sh <share_name> <directory_path> | bash,yum |
true |
xfce-default.sh |
Script Name: xfce-default.sh | bash,apt-get |
true |
Total Scripts in Collection: 247
Generated automatically on Sat Apr 11 09:31:20 UTC 2026