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
相关推荐
峥嵘life4 分钟前
Android16 【GTS】 GtsDevicePolicyTestCases 测试存在Failed项
android·linux·学习
寂柒1 小时前
线程同步与互斥——生产者、消费者模型
linux
雾岛听蓝1 小时前
C文件操作与系统IO
linux·c语言·开发语言·经验分享·笔记·算法
coderwei1231 小时前
Ubantu服务器构建openclaw并接入飞书
运维·服务器
开开心心就好2 小时前
跨平台高速下载工具,支持浏览器功能强大
运维·服务器·windows·pdf·旅游·媒体·1024程序员节
心易行者2 小时前
别再说“在我的机器上能跑”了!Docker 入门指南,专治各种环境不服
运维·人工智能·docker·容器
盐焗西兰花2 小时前
鸿蒙学习实战之路-Share Kit系列(7/17)-自定义分享面板操作区
linux·学习·harmonyos
Keanu-2 小时前
Redis 主从复制及哨兵模式配置
服务器·数据库·redis
Yupureki2 小时前
《C++实战项目-高并发内存池》3.ThreadCache构造
服务器·c语言·c++·算法·哈希算法
zhim002 小时前
【保姆级教程】使用 Docker 部署 PostgreSQL + pgvector(含踩坑指南)
linux·docker