linux 自定义命令/别名

参考资料

  1. Linux(Ubuntu)自定义命令的使用
  2. Linux/Ubuntu系统自定义Shell命令
  3. Ubuntu/Linux 操作系统 自定义命令

目录

  • [一. 为路径取别名](#一. 为路径取别名)
  • [二. 修改.profile文件](#二. 修改.profile文件)
    • [2.1 .profile简介](#2.1 .profile简介)
    • [2.2 需求](#2.2 需求)
    • [2.3 修改.profile文件](#2.3 修改.profile文件)
  • [三. 创建软链接](#三. 创建软链接)

一. 为路径取别名

⏹需求:有一个work文件夹的路径如下:/home/fengyehong/jmw_work_space/work,每次来回切换很麻烦。现在想定义一个别名,直接通过别名切换。

⏹当前登录的用户的目录下,有.bashrc文件,在该文件的末尾添加如下命令

  • 指定别名为:workpath
bash 复制代码
alias workpath='cd /home/fengyehong/jmw_work_space/work'

⏹保存.bashrc文件后,执行如下命令,刷新配置

bash 复制代码
source ~/.bashrc

⏹效果如下


二. 修改.profile文件

2.1 .profile简介

  • .profile 是一个在用户登录时被执行的 Bash 配置文件,用于设置用户的环境变量和其他初始化设置。

    在许多 Linux 发行版中,默认情况下会存在 .profile 文件。

  • .profile 文件通常用于设置用户的环境变量、添加个性化的路径或者执行其他初始化操作。

    这个文件的内容可以包括设置 PATH 环境变量、定义别名、配置命令行提示符等。

  • 当同时存在.bash_profile.profile 时,系统会优先加载 .bash_profile 文件而不加载 .profile 文件。这是因为 .bash_profile 是专门为 Bash Shell 设计的配置文件,而 .profile 则是通用的 Shell 配置文件。

  • 若想同时让.bash_profile.profile生效,可在.bash_profile文件中加入如下配置

    bash 复制代码
    if [ -f ~/.profile ]; then
      . ~/.profile
    fi

2.2 需求

自定义一个命令 MYECHO,自定义之后,在控制台上打印 hello world!

  • 未配置,所以提示命令找不到

2.3 修改.profile文件

⏹在文件的最后一行,添加下面的代码

bash 复制代码
PATH=/apl/tool:$PATH:.
export PATH
  • windows中配置环境变量时,使用;分隔,而linux使用:分隔
  • $PATH是系统既存的环境变量,我们添加的代码相当于重置了系统的$PATH之后,由添加了自定义的/apl/tool

⏹修改完.profile文件之后,使用echo命令查看$PATH的内容

⏹执行source ~/.profile后,刷新配置,然后,就可以使用自定义命令了


三. 创建软链接

⏹通过ln -s命令,将自定义命令创建软链接到/usr/bin命令,也可以直接在控制台上使用自定义命令

bash 复制代码
sudo ln -s /apl/tool/MYECHO /usr/bin/MYECHO
  • 之所以将软链接创建到/usr/bin中,是因为它包含在$PATH
相关推荐
Sheffield4 小时前
Alpine是什么,为什么是Docker首选?
linux·docker·容器
舒一笑21 小时前
程序员效率神器:一文掌握 tmux(服务器开发必备工具)
运维·后端·程序员
Johny_Zhao1 天前
centos7安装部署openclaw
linux·人工智能·信息安全·云计算·yum源·系统运维·openclaw
haibindev1 天前
在 Windows+WSL2 上部署 OpenClaw AI员工的实践与踩坑
linux·wsl2·openclaw
NineData1 天前
数据库管理工具NineData,一年进化成为数万+开发者的首选数据库工具?
运维·数据结构·数据库
梦想很大很大2 天前
拒绝“盲猜式”调优:在 Go Gin 项目中落地 OpenTelemetry 链路追踪
运维·后端·go
Sinclair2 天前
内网服务器离线安装 Nginx+PHP+MySQL 的方法
运维
叶落阁主2 天前
Tailscale 完全指南:从入门到私有 DERP 部署
运维·安全·远程工作
0xDevNull2 天前
Linux切换JDK版本详细教程
linux