#!/bin/bash # 设置错误时立即退出 set -e # 颜色定义 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 日志函数 log_info() { echo -e "${GREEN}[INFO]${NC} $1" } log_warn() { echo -e "${YELLOW}[WARN]${NC} $1" } log_error() { echo -e "${RED}[ERROR]${NC} $1" } # 安装系统工具 install_system_tools() { log_info "安装系统工具..." # 安装基础工具 sudo apt-get update sudo apt-get install -y \ curl \ wget \ git \ vim \ htop \ tmux \ tree \ ripgrep \ fd-find \ bat \ exa \ duf \ procs \ sd \ tealdeer \ bottom \ hyperfine \ tokei \ bandwhich \ zoxide \ fzf \ jq \ yq \ httpie \ asciinema \ tldr \ neofetch \ onefetch \ lolcat \ figlet \ cowsay \ fortune \ sl \ cmatrix \ pipes.sh \ boxes \ toilet \ rig \ nyancat \ oneko \ xcowsay \ xeyes \ x11-apps log_info "系统工具安装完成" } # 安装开发工具 install_dev_tools() { log_info "安装开发工具..." # 安装构建工具 sudo apt-get install -y \ build-essential \ cmake \ ninja-build \ pkg-config \ libssl-dev \ libffi-dev \ libxml2-dev \ libxslt1-dev \ zlib1g-dev \ libbz2-dev \ libreadline-dev \ libsqlite3-dev \ libncursesw5-dev \ xz-utils \ tk-dev \ libxmlsec1-dev \ libffi-dev \ liblzma-dev # 安装调试工具 sudo apt-get install -y \ gdb \ lldb \ valgrind \ strace \ ltrace \ perf \ sysstat \ iotop \ iftop \ netstat \ nmap \ tcpdump \ wireshark # 安装容器工具 sudo apt-get install -y \ docker.io \ docker-compose \ podman \ buildah \ skopeo # 安装云工具 sudo apt-get install -y \ awscli \ azure-cli \ gcloud-sdk \ kubectl \ helm \ terraform \ ansible log_info "开发工具安装完成" } # 安装终端工具 install_terminal_tools() { log_info "安装终端工具..." # 安装终端模拟器 sudo apt-get install -y \ kitty \ alacritty \ terminator \ tilix \ guake # 安装终端增强工具 sudo apt-get install -y \ zsh \ oh-my-zsh \ powerline \ fonts-powerline \ fonts-nerd-font \ fonts-noto-color-emoji \ fonts-noto-cjk \ fonts-noto-cjk-extra log_info "终端工具安装完成" } # 安装系统监控工具 install_monitoring_tools() { log_info "安装系统监控工具..." # 安装系统监控工具 sudo apt-get install -y \ glances \ gotop \ gtop \ vtop \ bashtop \ bpytop \ btop \ s-tui \ stress \ stress-ng \ sysbench \ iperf3 \ speedtest-cli log_info "系统监控工具安装完成" } # 安装网络工具 install_network_tools() { log_info "安装网络工具..." # 安装网络工具 sudo apt-get install -y \ net-tools \ iftop \ iptraf-ng \ nethogs \ bmon \ speedtest-cli \ mtr \ traceroute \ nmap \ netcat \ socat \ ngrok \ cloudflared log_info "网络工具安装完成" } # 安装安全工具 install_security_tools() { log_info "安装安全工具..." # 安装安全工具 sudo apt-get install -y \ ufw \ fail2ban \ rkhunter \ lynis \ chkrootkit \ clamav \ clamav-daemon \ auditd \ apparmor \ apparmor-utils log_info "安全工具安装完成" } # 配置工具 configure_tools() { log_info "配置工具..." # 配置zoxide cat >> ~/.zshrc << EOF # zoxide配置 eval "\$(zoxide init zsh)" EOF # 配置fzf cat >> ~/.zshrc << EOF # fzf配置 [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh EOF # 配置ripgrep cat >> ~/.zshrc << EOF # ripgrep配置 export RIPGREP_CONFIG_PATH=~/.ripgreprc EOF # 配置bat cat >> ~/.zshrc << EOF # bat配置 export BAT_THEME="TwoDark" EOF # 配置exa cat >> ~/.zshrc << EOF # exa配置 alias ls="exa" alias ll="exa -l" alias la="exa -la" alias lt="exa --tree" EOF # 配置duf cat >> ~/.zshrc << EOF # duf配置 alias df="duf" EOF # 配置procs cat >> ~/.zshrc << EOF # procs配置 alias ps="procs" EOF # 配置bottom cat >> ~/.zshrc << EOF # bottom配置 alias htop="btm" EOF # 配置tldr cat >> ~/.zshrc << EOF # tldr配置 alias help="tldr" EOF log_info "工具配置完成" } # 主函数 main() { log_info "开始安装系统工具..." # 安装系统工具 install_system_tools # 安装开发工具 install_dev_tools # 安装终端工具 install_terminal_tools # 安装系统监控工具 install_monitoring_tools # 安装网络工具 install_network_tools # 安装安全工具 install_security_tools # 配置工具 configure_tools log_info "系统工具安装完成!" log_info "请运行 'source ~/.zshrc' 或重新打开终端以使环境变量生效。" } # 执行主函数 main