找回密码
 立即注册
首页 业界区 安全 Linux常用命令查询工具(好记性不如烂笔头) ...

Linux常用命令查询工具(好记性不如烂笔头)

闾丘婉奕 2 小时前
一、脚本编写

以下是一个实用的中文查询Linux常用命令的Shell脚本,支持中文关键词模糊匹配,展示命令名称、用途和常用示例。脚本包含了文件操作、系统管理、网络操作等高频命令,且交互友好:
  1. #!/bin/bash
  2. # 中文查询Linux常用命令脚本
  3. # 支持中文关键词模糊匹配,展示命令说明和示例
  4. # 设置字符编码,确保中文正常显示
  5. export LANG=zh_CN.UTF-8
  6. export LC_ALL=zh_CN.UTF-8
  7. # 定义命令数据库(格式:"中文关键词|命令|用途|示例")
  8. declare -A cmd_database=(
  9.     ["文件查看|查看文件|cat"]="cat|查看文件内容|cat file.txt  # 查看文件全部内容\ncat -n file.txt  # 显示行号查看"
  10.     ["复制|拷贝|cp"]="cp|复制文件/目录|cp file.txt /tmp/  # 复制文件到tmp目录\ncp -r dir/ /tmp/  # 递归复制目录"
  11.     ["移动|重命名|mv"]="mv|移动/重命名文件/目录|mv old.txt new.txt  # 重命名文件\nmv file.txt /tmp/  # 移动文件到tmp"
  12.     ["删除|移除|rm"]="rm|删除文件/目录|rm file.txt  # 删除文件\nrm -rf dir/  # 强制递归删除目录"
  13.     ["创建目录|新建文件夹|mkdir"]="mkdir|创建目录|mkdir new_dir  # 创建单个目录\nmkdir -p dir1/dir2  # 递归创建多级目录"
  14.     ["查看当前目录|pwd"]="pwd|显示当前工作目录|pwd  # 输出当前路径如:/home/user"
  15.     ["切换目录|cd"]="cd|切换工作目录|cd /home  # 切换到home目录\ncd ..  # 回到上级目录\ncd ~  # 回到用户家目录"
  16.     ["列出文件|查看文件列表|ls"]="ls|列出目录内容|ls  # 列出当前目录文件\nls -l  # 详细列表(权限/大小/时间)\nls -a  # 显示隐藏文件"
  17.     ["查找文件|find"]="find|查找文件/目录|find / -name "file.txt"  # 全局查找文件\nfind ./ -type d  # 查找当前目录下所有子目录"
  18.     ["搜索内容|grep"]="grep|文本内容搜索|grep "error" log.txt  # 在日志中搜索error\nps aux | grep nginx  # 查找nginx进程"
  19.     ["查看进程|ps"]="ps|查看进程信息|ps aux  # 查看所有进程详细信息\nps -ef | grep java  # 查找java进程"
  20.     ["杀死进程|kill"]="kill|终止进程|kill 1234  # 终止PID为1234的进程\nkill -9 1234  # 强制终止进程"
  21.     ["查看磁盘|df"]="df|查看磁盘空间|df -h  # 人性化显示磁盘使用情况\ndf -T  # 显示文件系统类型"
  22.     ["查看目录大小|du"]="du|查看目录/文件大小|du -sh dir/  # 显示目录总大小\ndu -h  # 显示各文件大小"
  23.     ["网络状态|netstat"]="netstat|查看网络连接|netstat -tuln  # 查看监听端口\nnetstat -an  # 查看所有网络连接"
  24.     ["查看IP|ip地址|ifconfig"]="ifconfig|查看/配置网络接口|ifconfig  # 查看所有网卡信息\nifconfig eth0  # 查看指定网卡信息"
  25.     ["下载文件|wget"]="wget|网络下载文件|wget https://example.com/file.tar.gz  # 下载文件\nwget -O newname.tar.gz https://example.com/file.tar.gz  # 重命名下载"
  26.     ["解压缩|解压|tar"]="tar|打包/解压缩文件|tar -zxvf file.tar.gz  # 解压gz压缩包\ntar -cvf archive.tar dir/  # 打包目录"
  27.     ["权限修改|chmod"]="chmod|修改文件权限|chmod 755 script.sh  # 设置可执行权限\nchmod +x script.sh  # 添加执行权限"
  28.     ["用户切换|su"]="su|切换用户|su root  # 切换到root用户\nsu - user  # 切换到用户并加载环境变量"
  29.     ["执行权限|sudo"]="sudo|以管理员权限执行命令|sudo apt update  # 管理员权限更新软件源\nsudo -i  # 切换到root环境"
  30. )
  31. # 彩色输出函数
  32. print_color() {
  33.     local color=$1
  34.     local text=$2
  35.     case $color in
  36.         red) echo -e "\033[31m$text\033[0m" ;;
  37.         green) echo -e "\033[32m$text\033[0m" ;;
  38.         yellow) echo -e "\033[33m$text\033[0m" ;;
  39.         blue) echo -e "\033[34m$text\033[0m" ;;
  40.         purple) echo -e "\033[35m$text\033[0m" ;;
  41.         cyan) echo -e "\033[36m$text\033[0m" ;;
  42.         *) echo "$text" ;;
  43.     esac
  44. }
  45. # 显示帮助信息
  46. show_help() {
  47.     clear
  48.     print_color "cyan" "======= Linux中文命令查询工具 ======="
  49.     echo "使用说明:"
  50.     echo "1. 输入中文关键词(如:复制、查看文件、进程)"
  51.     echo "2. 支持模糊匹配(如输入'文件'会显示所有文件相关命令)"
  52.     echo "3. 输入 'q' 或 '退出' 退出程序"
  53.     echo "4. 输入 'help' 或 '帮助' 显示本帮助信息"
  54.     echo -e "\n常用关键词示例:"
  55.     print_color "yellow" "文件查看、复制、删除、进程、网络、解压、权限、磁盘"
  56.     echo "======================================"
  57. }
  58. # 搜索命令函数
  59. search_commands() {
  60.     local keyword=$1
  61.     local found=0
  62.    
  63.     print_color "blue" "\n======= 搜索结果(关键词:$keyword)======="
  64.     echo ""
  65.     # 遍历命令数据库匹配关键词
  66.     for key in "${!cmd_database[@]}"; do
  67.         if [[ "$key" == *"$keyword"* ]]; then
  68.             found=1
  69.             # 解析命令信息
  70.             local info=${cmd_database[$key]}
  71.             local cmd=$(echo "$info" | cut -d'|' -f1)
  72.             local desc=$(echo "$info" | cut -d'|' -f2)
  73.             local example=$(echo "$info" | cut -d'|' -f3)
  74.             
  75.             # 输出命令信息
  76.             print_color "green" "命令:$cmd"
  77.             print_color "purple" "用途:$desc"
  78.             print_color "yellow" "示例:"
  79.             echo -e "$example\n"
  80.             echo "--------------------------------------"
  81.         fi
  82.     done
  83.     if [ $found -eq 0 ]; then
  84.         print_color "red" "未找到相关命令,请尝试其他关键词!"
  85.         print_color "yellow" "提示:输入 'help' 查看帮助和常用关键词"
  86.     fi
  87. }
  88. # 主程序
  89. main() {
  90.     clear
  91.     show_help
  92.    
  93.     while true; do
  94.         echo -e "\n"
  95.         print_color "cyan" "请输入查询关键词(输入q退出/help帮助):"
  96.         read -p "➜ " input
  97.         
  98.         # 处理输入
  99.         case $input in
  100.             [qQ]|退出|quit|exit)
  101.                 print_color "green" "感谢使用,再见!"
  102.                 exit 0
  103.                 ;;
  104.             help|帮助|h|H)
  105.                 show_help
  106.                 ;;
  107.             "")
  108.                 print_color "red" "错误:请输入有效关键词!"
  109.                 ;;
  110.             *)
  111.                 search_commands "$input"
  112.                 ;;
  113.         esac
  114.     done
  115. }
  116. # 启动主程序
  117. main
复制代码
脚本功能特点:


  • 中文模糊匹配:输入如"文件"、"进程"、"网络"等关键词,自动匹配相关命令
  • 彩色输出:命令/用途/示例使用不同颜色区分,更易阅读
  • 完整的命令说明:每个命令包含用途描述+常用示例
  • 友好的交互:支持help/帮助、q/退出等交互指令
  • 编码兼容:设置UTF-8编码,确保中文正常显示
使用方法:


  • 将脚本保存为 cmd_zh.sh
  • 添加执行权限:chmod +x cmd_zh.sh
  • 运行脚本:./cmd_zh.sh
  • 输入中文关键词查询(如:复制、查看进程、解压、磁盘空间)
示例查询效果:

输入关键词"复制",会显示:
  1. 命令:cp
  2. 用途:复制文件/目录
  3. 示例:
  4. cp file.txt /tmp/  # 复制文件到tmp目录
  5. cp -r dir/ /tmp/  # 递归复制目录
复制代码
可扩展说明:

如果需要添加更多命令,只需在 cmd_database 数组中按照格式添加:
["中文关键词1|中文关键词2|命令"]="命令|用途|示例"
例如添加ping命令:
["网络测试|ping"]="ping|测试网络连通性|ping baidu.com  # 测试百度连通性\nping -c 4 192.168.1.1  # 发送4个数据包测试"
该脚本兼容大多数Linux发行版(Ubuntu、CentOS、Debian等),只需确保系统安装了bash和基本的文本处理工具(cut、grep等)。
二、脚本加入系统环境变量,使其能在任意目录直接调用

Linux 系统会默认搜索 /usr/local/bin、/usr/bin、/bin 等目录中的可执行文件,将脚本移动到这些目录即可直接调用。
步骤:


  • 建议重命名脚本(去掉后缀,更像系统命令,方便使用):
    1. mv ./cmd_zh.sh cmd_zh
    复制代码

  • 移动到 /usr/local/bin(该目录专门用于存放用户自定义的可执行程序,优先级高且不影响系统原有命令):
    1. sudo mv cmd_zh/usr/local/bin/
    复制代码

  • 确保脚本有执行权限
    1. sudo chmod +x /usr/local/bin/cmd_zh
    复制代码

使用:

此时在任意目录直接输入 cmd_zh即可运行脚本:
  1. cmd_zh
复制代码
验证是否成功:

在任意目录执行以下命令,能正常运行脚本即表示成功:
  1. cmd_zh # 或 cmd_zh.sh
复制代码
例如:
  1. cd /tmp  # 切换到临时目录 cmd_zh  # 直接运行脚本,正常显示查询界面即成功
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册