菜鸟科技网

CentOS如何添加自定义命令?

  1. 安装提供该命令的软件包:这是最常见的情况,当你输入一个命令(如 docker)但系统提示 command not found 时,说明这个命令对应的软件还没有安装。
  2. 创建自己的命令/脚本:如果你想把一系列复杂的操作封装成一个简单的命令,你可以自己创建一个脚本,并将其所在目录添加到系统的 PATH 环境变量中。

下面我将详细讲解这两种情况。

CentOS如何添加自定义命令?-图1
(图片来源网络,侵删)

安装提供命令的软件包 (最常见)

当系统提示 bash: xxx: command not found 时,你需要做的就是安装提供 xxx 命令的软件包。

使用 yum (适用于 CentOS 7 及更早版本)

yum 是 CentOS 7 及之前版本的默认包管理器。

步骤:

  1. 更新软件包列表 (推荐,确保你获取到最新的软件信息)

    CentOS如何添加自定义命令?-图2
    (图片来源网络,侵删)
    sudo yum check-update
  2. 搜索包含该命令的软件包 如果你不确定软件包的确切名称,可以先搜索一下,想安装 ifconfig 命令(在 net-tools 包中):

    yum search ifconfig

    你会看到类似这样的输出:

    ============================= N/S matched: ifconfig ==============================
    net-tools.x86_64 : Networking utilities including ifconfig

    这告诉你 ifconfig 命令在名为 net-tools 的软件包中。

  3. 安装软件包 使用 sudo 获取管理员权限,然后安装找到的软件包,安装 net-tools

    CentOS如何添加自定义命令?-图3
    (图片来源网络,侵删)
    sudo yum install net-tools
  4. 验证安装 安装完成后,再次尝试使用该命令:

    ifconfig

    如果能看到网络接口信息,说明安装成功。

常用示例:

  • 安装 wget 下载工具:
    sudo yum install wget
  • 安装 vim 编辑器:
    sudo yum install vim
  • 安装 git 版本控制工具:
    sudo yum install git

使用 dnf (适用于 CentOS 8 及更新版本)

CentOS 8 及更新版本(如 CentOS Stream)默认使用 dnf 作为包管理器,它的用法和 yum 几乎完全一样,只是速度更快,依赖处理更智能。

步骤:

  1. 更新软件包列表

    sudo dnf check-update
  2. 搜索软件包

    dnf search <command_name>
  3. 安装软件包

    sudo dnf install <package_name>
  4. 验证安装

    <command_name>

常用示例:

  • 安装 wget
    sudo dnf install wget
  • 安装 curl
    sudo dnf install curl

小贴士:在 CentOS 8 上,yum 命令仍然是一个指向 dnf 的符号链接,所以你继续使用 yum 命令通常也能工作,但推荐使用 dnf


创建自己的命令/脚本

如果你想把一个或多个命令组合成一个简单的别名,或者创建一个可执行的自定义脚本,可以按照以下步骤操作。

使用 alias 创建命令别名 (临时)

alias 只在当前终端会话中有效,关闭终端后失效,适合临时使用。

语法:

alias 别名='原命令'

示例: 创建一个 ll 命令来显示详细列表和隐藏文件(CentOS 7 默认可能没有 ll):

alias ll='ls -alF'

输入后立即生效,但只对当前终端有效。

创建永久可用的自定义脚本

这是创建自己“命令”最可靠的方法。

步骤:

  1. 创建脚本文件 用户自定义的命令脚本放在 ~/bin/ 目录下( 代表你的家目录,如 /home/username),如果这个目录不存在,请先创建它。

    mkdir -p ~/bin
  2. 编写脚本 使用你喜欢的编辑器(如 vinano)在 ~/bin/ 目录下创建一个新文件,myupdate.sh

    vi ~/bin/myupdate.sh

    在文件中输入你想要执行的命令,例如一个更新系统的脚本:

    #!/bin/bash
    echo "正在更新系统软件包列表..."
    sudo dnf check-update
    echo "正在升级所有可升级的软件包..."
    sudo dnf upgrade -y
    echo "系统更新完成!"

    第一行 #!/bin/bash 是必须的,它告诉系统用哪个解释器来执行这个脚本。

  3. 赋予脚本执行权限 创建的脚本默认没有执行权限,你需要手动添加。

    chmod +x ~/bin/myupdate.sh
  4. 将脚本目录添加到 PATH 环境变量 系统只会在 PATH 变量中列出的目录里寻找命令,你需要把 ~/bin 目录添加进去。

    • 临时生效 (仅当前终端):
      export PATH="$PATH:~/bin"
    • 永久生效 (推荐): 编辑你的 shell 配置文件(通常是 ~/.bashrc~/.bash_profile)。
      vi ~/.bashrc

      在文件末尾添加下面这行:

      export PATH="$PATH:~/bin"

      保存并退出,然后运行以下命令让配置立即生效,或者重新打开一个终端:

      source ~/.bashrc
  5. 使用你的新命令 你可以在任何地方直接使用你的脚本名,就像使用系统命令一样:

    myupdate.sh

    你甚至可以去掉 .sh 后缀:

    mv ~/bin/myupdate.sh ~/bin/myupdate

    然后直接输入 myupdate 即可执行。


场景 解决方案 命令示例 特点
系统缺少某个命令 安装提供该命令的软件包 sudo dnf install <package_name> 最常见、最标准的方法
临时组合命令 使用 alias 创建别名 alias ll='ls -al' 简单快捷,但会话结束后失效
创建永久自定义命令 编写脚本并添加到 PATH chmod +x ~/bin/mycmd 灵活强大,可创建自己的工具集

希望这个详细的指南能帮助你!如果你能提供具体的“想要添加的命令”,我可以给你更精确的安装指令。

分享:
扫描分享到社交APP
上一篇
下一篇