如何在 Linux 和 Mac 终端命令中添加别名

在本文中,我们将探讨一种简单的技巧,可以节省您在终端中输入重复命令的时间。

作为开发者,我们花费大量时间在终端上执行命令。无论是浏览目录、运行脚本、更改 Node.js 版本还是版本控制命令,手动输入每个命令都是一项耗时的任务。

对于那些难以记住命令或其关联标志的人来说,这可能变得更加乏味。

别担心!这个问题有一个简单而强大的解决方案。它被称为终端别名。

(本文视频讲解:java567.com)

alias 命令

alias 命令允许您为现有命令创建快捷方式,使它们更容易记住和更快执行。当您定义别名时,实际上是为现有命令创建了一个新标签。

alias 命令的语法

语法很简单:您可以像在大多数编程语言中为变量赋值一样将命令分配给标签。

alias 别名='长命令'

设置别名的语法

让我们解析这个命令以更好地理解它:

  • alias:启用定义别名的终端命令。
  • 别名:这是您要分配给命令的名称或标签。基本上,您将在终端中键入此名称,而不是完整的命令。
  • '长命令':这是您要添加别名的命令。请确保用单引号 (') 包装命令,因为几乎所有命令都包含空格或特殊字符。

预定义别名

终端中已经设置了一些预定义别名。很有可能您甚至不知道它们的存在。

这些别名在系统(/etc/bash.bashrc)或用户特定(~/.bashrc)的 shell 配置文件中定义。

您可以通过执行不带任何选项或标志的 alias 命令来找到所有预定义别名的列表。

alias

以字母顺序列出所有预定义和用户定义的别名。

如何创建跨会话持久的别名

默认情况下,别名仅在当前会话中持久。这意味着,如果您关闭终端,则别名将被删除,之后您将无法使用它。

为了解决这个问题,您必须在 shell 的配置文件中定义别名。Shell 是一个解释器,驻留在终端内部,并在您和操作系统之间建立接口。因此,访问正确的 shell 以及修改正确的配置文件非常重要。

以下是三个最常用的 shell 应用程序的配置文件:

  1. Bash~/.bashrc
  2. Zsh~/.zshrc
  3. Fish~/.config/fish/config.fish

让我们尝试在 Bash 中添加一个新别名。

echo "alias nrd='npm run dev'" >> ~/.bashrc

让我们解析这个命令:

  • echo:一个终端命令,允许您在终端命令中写入内容。
  • "alias ...":这是我们在前面讨论的内容。它是一个别名命令,为 npm run dev 命令添加了 nrd 别名。
  • >>:告诉终端将左侧的内容(别名命令)追加到右侧的文件中。在我们的情况下,我们将其存储在 bash 配置文件中。
  • ~/.bashrc:这是从 echo 命令添加内容的文件。

不要忘记将 ~/.bashrc 替换为您的 shell 配置文件。

如何创建动态别名

通常情况下,您需要使用重复的命令,但根据您的需求稍作修改。最好的例子是 Git 命令。在这种情况下,您可以为命令添加一个替代项,该替代项在终端执行时将被动态选项/参数替换。

alias gpll='git pull --rebase origin ${branch}'

在执行命令时,您需要将 ${branch} 替换为您想要从中拉取更改的分支。这是从 main 分支拉取更改的方式:

gpll main

您还可以为别名添加多个替代项。只需确保以正确的实际值顺序编写别名即可:

alias gpll='git pull --rebase ${remote} ${branch}

在执行命令时,您需要将 ${remote}${branch} 替换为适当的值,如下所示:

gpll origin main

如何为多个命令创建别名

有时您需要按顺序使用多个命令。您也可以为此创建别名。使用 && 将每个命令分隔开,这会在左侧命令执行后执行右侧命令。

gpsh='git pull --rebase && git push'

如何删除别名

如果您想要从当前会话中删除别名,可以使用 unalias 命令。此命令只接受一个参数 —— 别名名称。

unalias my-alias-name

但是,如果您想要删除保存在配置文件中的别名,则需要从文件本身中删除它。您可以使用 Nano 等简单的文本编辑器来执行此操作。

nano ~/.bashrc

向下滚动到底部找到所有别名并删除您不再需要的别名。

完成后,您可以保存后退出编辑器。这是我可以介绍关于无法退出基于终端的文本编辑器的一个段子的地方。但是使用 Nano,很简单:

  1. 如果您在 Linux 上,请按 ctrl+x,如果您在 Mac 上,请按 ^+x
  2. Y 确认更改
  3. 根据您的操作系统按 Enter 或 Return 保存文件。

看?一点都不难 😃

注意事项

在创建别名时,有两件重要的事情您必须记住。

别名受 shell 限制

别名是特定于您正在使用的 shell 的。在一个 shell 中创建的别名在另一个 shell 中不起作用。

如果要在不同的会话中使用别名,您必须创建一个新的别名。没有绕过此注意事项的方法。您可以手动将别名保存到您使用的所有 shell 的配置文件中。

别名默认为会话绑定

别名仅在当前会话中可用。如果打开新的终端窗口或注销,该别名将不可用。

因此,建议始终将别名保存到配置文件中,以便随时使用。

简述

  • alias 命令将 快捷方式 添加到命令或一系列命令中。alias shortcut='existing valid command
  • 将别名保存到 shell 的配置文件中,以便跨会话持久化。每个 shell 都有一个唯一的配置文件。echo "nrd='npm run dev'" >> ~/.bashrc
  • 通过用占位符替换动态值来创建动态别名。占位符必须用 ${} 包装起来。在终端中应执行 alias gp='git pull origin ${branch} 作为 gp main
  • 使用 && 将多个命令添加到别名中。
  • 使用 unalias 命令从当前会话中删除别名。

总结

我希望本文能帮助您优化时间并提高开发者的生产力。如果确实如此,请不要忘记与同事分享,以便他们也可以提高效率。

(本文视频讲解:java567.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/515.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

有效的括号 + 点击消除 || 匹配问题

目录 点击消除: 有效的括号: 点击消除: 点击消除_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/8d3643ec29654cf8908b5cf3a0479fd5?tpId308&tqId40462&ru/exam/oj 如题目所述, 示例1&#xf…

Windows上构建 Chisel-Bootcamp

windows环境构建本地Chisel-Bootcamp 安装摘要Chisel-boocamp环境搭建安装java安装Anaconda安装scala 下载Chisel-bootcamp 环境Reference 安装摘要 在windows上安装chisel-boocamp,与linux过程类似。 安装java8安装anaconda安装scala下载Chisel-bootcamp环境 Ch…

14-Error Handling (错误处理)

ESP32-S3错误处理:理解并掌握其重要性 在编程中,错误处理是一种重要的编程实践,它可以帮助我们的程序在遇到错误时能够优雅地恢复,而不是崩溃或产生不可预测的结果。在IDF中官方提供一些实用的错误处理技巧。👩‍&…

微信小程序酒店选择日期和入住人数(有效果图)

效果图 app.vue onLaunch:function(options){this.defaultcache()}defaultcache(){// 入住信息缓存var arr this.getDateTime();var ReserVation {reservType:0,//1 人数 2日期InCheckin:{},//入离日期peopleArr:[{title:成人,num:2},{title:儿童,num:0},{title:宝子,num:1…

第二部分 Python提高—GUI图形用户界面编程(六)

其他组件学习 文章目录 OptionMenu 选择项Scale 移动滑块颜色选择框文件对话框简单输入对话框通用消息框ttk 子模块控件 OptionMenu 选择项 OptionMenu(选择项)用来做多选一,选中的项在顶部显示。显示效果如下: from tkinter import * root Tk();ro…

【机器学习】分类与预测算法评价的方式介绍

一、引言 1、机器学习分类与预测算法的重要性 在数据驱动的时代,机器学习已经成为了处理和分析大规模数据的关键工具。分类与预测作为机器学习的两大核心任务,广泛应用于各个领域,如金融、医疗、电商等。分类算法能够对数据进行有效归类&…

【分治】Leetcode 库存管理 III

题目讲解 LCR 159. 库存管理 III 本题的含义就是让求出最小的k个数 算法讲解 class Solution { public:void my_qsort(vector<int>& nums, int l, int r){if(l > r) return ;int i l, left l-1, right r1;int key nums[rand() % (r - l 1) l];//完成分三…

uni-app项目引入阿里巴巴矢量图标库

uni-app项目引入阿里巴巴矢量图标库 1.下载图标库中的symbol下载至本地 2.解压文件夹并放入项目中 我这里放入的位置是src/static/icon目录下 3.修改文件指向路径为相对路径 即在路径iconfont前面添加斜杠 4.app.vue的style中引入 import static/icon/iconfont.css; 5…

(2022级)成都工业学院数据库原理及应用实验四: SQL简单查询

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求&#xff0c;请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询&#xff1a; 1、查询所有…

ComfyUI IPAdapter plus安装教程

ComfyUI是一个创新的Stable Diffusion AI绘图工具WebUI&#xff0c;它采用节点流程式设计&#xff0c;将Stable Diffusion的操作流程细分为多个节点&#xff0c;从而实现了更高精度的工作流定制与优秀的可复现性。相较于传统WebUI&#xff0c;ComfyUI不仅操作更为流畅&#xff…

什么是MaaS?如何理解模型即服务

MaaS&#xff08;Model as a Service&#xff09;&#xff1a;即“模型即服务”。这是一种将机器学习模型部署到企业端&#xff0c;以API、SaaS或开源软件的形式提供给用户使用&#xff0c;从而使用户能够通过调用模型来获得所需的服务的方式。通过这种方式&#xff0c;开发人员…

在西非土地上播种希望

在西非这片广阔而充满活力的土地上播种希望&#xff0c;我们可以从多个维度进行解读和行动&#xff1a; 教育援助&#xff1a;投资于当地的教育事业&#xff0c;改善学校设施&#xff0c;提供教育资源&#xff0c;尤其是对女童教育的重视&#xff0c;让更多孩子有机会接受基础…

U-boot启动过程概述

U-Boot(Universal Boot Loader)&#xff0c;即通用Bootloader&#xff0c;是德国DENX小组开发的用于多种嵌入式CPU的bootloader程序。是遵循GPL条款的开放源代码项目。 Bootloader不属于操作系统内核&#xff0c;这一部分代码不具有可移植性&#xff0c;在移植操作系统时…

成都欣丰洪泰文化传媒有限公司打造电商服务新标杆

随着互联网的快速发展&#xff0c;电子商务行业蓬勃兴起&#xff0c;成为推动经济发展的重要力量。在这个大背景下&#xff0c;成都欣丰洪泰文化传媒有限公司凭借其专业的电商服务&#xff0c;在激烈的市场竞争中脱颖而出&#xff0c;成为行业的佼佼者。 一、公司背景与实力 成…

gateway基本配置详解与深入分析

Spring Cloud Gateway 是基于 SpringBoot 和 Project Reactor 构建的 API 网关&#xff0c;用于提供路由、过滤和监控等功能。以下是V哥在 SpringBoot 3 项目中集成和配置 Spring Cloud Gateway 的基本步骤和深入分析&#xff0c;提供给你参考&#xff1a; 1、添加依赖 在你的…

【Qwen模型】QWEN TECHNICAL REPORT

【Qwen模型】QWEN TECHNICAL REPORT 论文信息 阅读评价 Abstract Introduction PreTraining ALIGNMENT&#xff08;对齐&#xff09; CODE-QWEN: SPECIALIZED MODEL FOR CODING MATH-QWEN: SPECIALIZED MODEL FOR MATHEMATICS REASONING RELATED WORK CONCLUSION 论文…

v1.9.2-httpsok快速申请免费SSL证书

v1.9.2-&#x1f525;httpsok快速申请免费SSL证书 介绍 httpsok 是一个便捷的 HTTPS 证书自动续签工具&#xff0c;专为 Nginx 、OpenResty 服务器设计。已服务众多中小企业&#xff0c;稳定、安全、可靠。 一行命令&#xff0c;一分钟轻松搞定SSL证书自动续期 更新日志 V1…

endnote21从安装到使用!文献引用!Mac版

视频学习和资源获取 新建库 选择上方导航栏处的File下的New 软件 软件界面可以分成四个部分 2是个人图书馆 3是对某一分类中文献的展示 最右侧是对具体一篇文献的摘要、编辑以及PDF 有回形针标志意味着这篇有全文&#xff0c;也就是有pdf 如果没有回形针代表它只有引文信…

HCIP的学习(10)

OSPF不规则区域划分 区域划分 非骨干与骨干区域直接相连骨干区域唯一 限制规则&#xff1a; 非骨干区域之间不允许直接相互发布区域间路由信息OSPF区域水平分割&#xff1a;从非骨干区域收到的路由信息&#xff0c;ABR设备能接收到不能使用&#xff08;从某区域传出的路由&…

敢不敢挑战?看完这篇 Python 学习攻略不成大牛就请我退出 IT !

目录 0基础小白怎么学Python&#xff1f; Python基本概念最全图 1.Python 解释器&#xff1a; 2.Python数据结构&#xff1a; 3.变量与运算符&#xff1a; 4.Python 流程控制&#xff1a; 5.Python 文件处理&#xff1a; 6.Python 输入输出&#xff1a; 7.Python 异常…