如何创建命令快捷方式 alias永久化保存配置

要让alias永久生效,必须将其写入shell的启动配置文件。1. 确定当前使用的shell(如bash或zsh);2. 对于bash,将alias添加到~/.bashrc,对于zsh则添加到~/.zshrc;3. 使用文本编辑器打开对应文件并添加alias定义,如alias ll=’ls -alf’;4. 保存后执行source ~/.bashrc或source ~/.zshrc使配置立即生效;5. 此后每次新终端会话都会自动加载这些alias,确保其永久可用。

如何创建命令快捷方式 alias永久化保存配置

要让命令行中的

alias

快捷方式永久生效,核心在于将这些定义写入到你所使用的 shell 的启动配置文件中,比如常用的 Bash 的

.bashrc

或 Zsh 的

.zshrc

,并确保这个文件在每次新的终端会话启动时都会被正确加载。

解决方案

这事儿其实挺直接的,但有时候新手会搞不清楚到底往哪个文件里写。我个人觉得,最稳妥的办法是针对你当前使用的shell来操作。

如果你用的是 Bash(这是大多数Linux发行版和macOS的默认shell),你需要编辑的是

~/.bashrc

文件。如果用的是 Zsh,那就是

~/.zshrc

打开配置文件:你可以用任何文本编辑器打开它。我习惯用

vim

,但

nano

或者 VS Code 也很常见。例如,对于 Bash:

vim ~/.bashrc

或者

nano ~/.bashrc

对于 Zsh:

vim ~/.zshrc

添加你的

alias

定义:在文件的末尾,或者找一个你觉得合适的位置,添加你的

alias

命令。每一行一个。比如,我经常会把

ls -alF

定义成

ll

,因为这样看文件列表一目了然:

alias ll='ls -alF'alias gs='git status'alias gc='git commit -m'alias doc='cd ~/Documents'

这里需要注意,等号两边不能有空格,并且如果你的命令包含空格,需要用单引号或双引号括起来。

保存并退出文件。

让配置立即生效:你当然可以关闭当前终端窗口再重新打开一个,但更快的办法是“source”一下这个文件,强制shell重新加载它:

source ~/.bashrc

或者

source ~/.zshrc

这样,你刚刚添加的

alias

就可以立即使用了。下次你打开新的终端会话时,它们也会自动加载。

为什么我的alias重启后就消失了?它们是临时的吗?

这个问题我被问过好多次了,我自己也曾困惑过。简单来说,你在命令行里直接敲

alias ll='ls -alF'

,这个定义只在当前的shell会话中有效。一旦你关闭了终端窗口,或者开启了一个新的终端会话,之前定义的

alias

就会“消失”,因为它们并没有被保存到任何持久化的配置中。这就像你在一个程序里设置了一个临时变量,程序关闭后变量自然就不存在了。

命令行的

alias

本质上就是给一个长命令或者常用命令起一个更短、更好记的“绰号”。当你直接在终端里定义时,这个绰号只在当前运行的这个shell进程中生效。它不会被写入到硬盘上,所以当你退出这个shell进程,或者电脑重启,所有内存中的

alias

定义就都会被清空。

存了个图 存了个图

视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

存了个图 17 查看详情 存了个图

要让

alias

具有永久性,就必须把它写进shell在启动时会读取的配置文件里。这样,每次你启动一个新的终端会话,shell都会去读取这些文件,然后重新加载你定义的所有

alias

。这就像给你的系统设定了一个“启动脚本”,告诉它每次开机都要执行这些命令,从而让你的

alias

始终可用。

我应该把alias写到哪个文件里?.bashrc、.zshrc还是.profile?

这确实是个有点让人头疼的选择题,特别是对于刚接触Linux/macOS命令行的人来说。我来给你捋一捋它们各自的职责和适用场景,这样你就知道该往哪儿放了。

.bashrc

(Bash Resource File):这是Bash shell的“交互式非登录shell”的配置文件。什么意思呢?就是你平时打开终端窗口,它通常启动的就是一个交互式非登录shell。所以,绝大多数情况下,你的

alias

定义都应该放在这里。 比如,你打开一个 GNOME Terminal、iTerm2 或者 VS Code 的集成终端,它们通常都会加载

.bashrc

。这个文件里通常也包含了PS1(命令行提示符)的设置、一些函数定义等等。

.zshrc

(Zsh Resource File):如果你使用的是 Zsh(macOS Catalina及以后版本的默认shell,或者很多开发者喜欢用它),那么对应的文件就是

~/.zshrc

。它的作用和

.bashrc

对于 Bash 的作用是类似的,所有

alias

和函数定义都应该放在这里。

.profile

(Login Shell Profile):这个文件是针对“登录shell”的。登录shell通常在你通过控制台登录(比如按下 Ctrl+Alt+F2 进入字符界面),或者通过 SSH 远程登录时启动。在某些系统上,它也会被桌面环境启动时加载一次。

.profile

主要用于设置环境变量(如

PATH

),或者执行一些只需要执行一次的命令。通常不建议把

alias

直接放在

.profile

,因为登录shell通常只启动一次,而你可能希望

alias

在每个新的终端窗口(非登录shell)中都可用。不过,

.profile

通常会包含一行代码来“source”

.bashrc

(如果它存在的话),这样就能确保

.bashrc

里的设置也能在登录shell中生效。

.bash_profile

(Bash Login Profile):这个文件是Bash特有的登录shell配置文件。如果

~/.bash_profile

存在,Bash在启动登录shell时会优先读取它,而不会再读取

~/.profile

。它也常用来设置环境变量。同样,不建议把

alias

直接放在这里。 很多用户会把

.bash_profile

设置成去 source

.bashrc

,这样就统一了配置。

我的建议是:

如果你用Bash:

alias

都放在

~/.bashrc

里。如果你用Zsh:

alias

都放在

~/.zshrc

里。

这样最简单,也最符合日常使用习惯。那些关于登录shell和非登录shell的细微差别,对于

alias

的设置来说,通常不需要过于纠结,只要确保你的

rc

文件(

.bashrc

.zshrc

)被正确加载就行。

如何管理大量的alias?有什么最佳实践吗?

随着你使用命令行的深入,

alias

会越来越多,你的

.bashrc

.zshrc

可能会变得非常臃肿。这时候,管理它们就成了一个小小的挑战。我个人在实践中积累了一些方法,分享给你:

分类和注释:这是最基础也是最重要的。把相关的

alias

分组放在一起,并用注释(以

#

开头)说明它们的作用。比如:

# Git Aliasesalias ga='git add .'alias gc='git commit -m'alias gp='git push'# Navigation Aliasesalias ..='cd ..'alias ...='cd ../..'alias dev='cd ~/Development'# System Aliasesalias update='sudo apt update && sudo apt upgrade -y' # For Debian/Ubuntu

这样,即使文件很长,你也能一眼找到想要修改或查看的

alias

拆分到单独的文件:当你的

alias

数量多到一定程度时,把它们全部堆在一个

.bashrc

.zshrc

里会显得很乱。一个非常好的实践是创建单独的文件来存放

alias

,然后从主配置文件中

source

它们。例如,你可以创建一个

~/.bash_aliases

文件:

# ~/.bash_aliasesalias ll='ls -alF'alias gs='git status'# ...更多alias

然后在你的

~/.bashrc

文件中,添加下面几行(通常会检查文件是否存在):

if [ -f ~/.bash_aliases ]; then    . ~/.bash_aliasesfi

这样,所有的

alias

都在

~/.bash_aliases

里,主配置文件就保持干净整洁。我个人就这么干,而且会把不同类型的

alias

放到不同的文件里,比如

~/.bash_git_aliases

~/.bash_dev_aliases

等等,然后统一从

~/.bash_aliases

里再

source

它们。这种模块化的管理方式,维护起来特别方便。

使用函数代替复杂的

alias

alias

只能替换命令的开头部分,或者说它只是一个简单的文本替换。如果你的快捷方式需要参数,或者包含更复杂的逻辑(比如条件判断、循环),那么函数(function)是更好的选择。比如,你想快速创建一个带日期的目录:

# Alias (不灵活)# alias mkdt='mkdir $(date +%Y%m%d)'# Function (更灵活)mkdt() {    mkdir "$1_$(date +%Y%m%d)"}

这样你就可以

mkdt myproject

,它会创建

myproject_20231027

这样的目录。函数能做的事情比

alias

多太多了,它们是命令行自动化的下一步。

版本控制你的点文件(Dotfiles):你的

.bashrc

.zshrc

.vimrc

这些以点开头的配置文件,通常被称为“点文件”。它们是你的个性化工作环境的核心。把它们放到 Git 仓库里进行版本控制是一个非常棒的习惯。这样,你可以在不同的机器上同步你的配置,也可以轻松回溯到之前的版本,避免不小心改坏了。GitHub 上有很多开源的 Dotfiles 项目,你可以参考别人的做法。

避免与现有命令冲突:在定义

alias

时,要小心不要覆盖掉系统原有的重要命令,除非你非常清楚你在做什么。比如,把

ls

重新定义成

ls -l

还可以接受,但如果你把

rm

定义成别的什么,那可能就会出大问题。在定义前,可以先用

type 

来检查一下该命令是否已经存在。

这些方法结合起来,能让你的命令行环境变得既高效又易于管理,长期来看能节省你不少时间。

以上就是如何创建命令快捷方式 alias永久化保存配置的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/444030.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
电脑截屏怎么操作 电脑截屏方法分享
上一篇 2025年11月7日 20:02:35
有哪些简单的APP开发平台?黑科技教你5分钟自己制作App
下一篇 2025年11月7日 20:02:39

相关推荐

  • Swoole的C++底层源码解析

    学习swoole的底层源码是为了理解高性能网络服务器的工作原理和优化性能及架构设计。通过学习,1) 掌握c++++在高并发环境下的应用技巧,2) 理解事件驱动模型的精髓,3) 学习利用操作系统特性提升程序效率,4) 了解高效的异步i/o处理、协程调度和内存管理。 在深入探讨Swoole的C++底层源…

    2026年8月25日
    600
  • win11平板模式怎么开启_Win11手动开启与自动切换平板模式

    如果您希望在 Windows 11 设备上使用更适合触控操作的界面,可能需要启用平板模式。系统会根据设备形态自动调整,但也支持手动控制显示模式。以下是具体的操作方法: 本文运行环境:Surface Pro 9,Windows 11 家庭版。 一、通过系统设置配置自动切换 Windows 11 的设计…

    2026年8月25日
    100
  • EasyControl— Tiamat AI 联合上海科大等开源的图像生成控制框架

    easycontrol:高效灵活的扩散模型控制框架 EasyControl是由Tiamat AI开源的基于扩散变换器(Diffusion Transformer,DiT)架构的图像生成控制框架。它通过轻量级LoRA模块独立处理条件信号,实现即插即用的功能,并兼容现有模型。 EasyControl支持…

    2026年8月25日
    000
  • ActiveX控件被阻止怎么办 5个方法恢复正常运行

    ActiveX控件被阻止怎么办 5个方法恢复正常运行ActiveX控件被阻止怎么办 5个方法恢复正常运行ActiveX控件被阻止怎么办 5个方法恢复正常运行ActiveX控件被阻止怎么办 5个方法恢复正常运行

    在使用 ie 浏览器访问一些旧版网页或运行嵌入网页内容的应用程序时,许多用户会碰到“activex 控件被阻止”的提示。这类情况常见于早期系统、银行网站或政府服务平台。本文将提供多个实用技巧,帮你快速解决 activex 控件加载异常的问题,让网页和软件恢复正常功能。 一、修改 IE 安全设置 默认…

    2026年8月25日 用户投稿
    000
  • Android自定义视图状态保存:避免直接序列化Drawable对象的策略

    在android自定义视图中保存状态时,直接将`drawable`对象序列化到`parcelable`中是不可行的,因为`drawable`及其子类通常不实现`parcelable`接口,会导致`classcastexception`。正确的做法是保存`drawable`的资源id,并在状态恢复时通…

    2026年8月25日
    100
  • win11蓝牙找不到设备如何解决_Win11蓝牙无法搜索到设备的解决方法

    首先使用系统内置疑难解答工具检测并修复蓝牙问题,接着检查并启动蓝牙支持服务,更新或重装蓝牙驱动程序,确保目标设备处于配对模式且信号无干扰,最后通过管理员命令重置网络与蓝牙协议栈并重启电脑。 如果您尝试在Windows 11系统中搜索蓝牙设备,但无法发现任何可用设备,这可能是由于驱动、服务或设置问题导…

    2026年8月25日
    000
  • linux下的软件防火墙iptables——规则的定义与删除

    关于ipitables防火墙的介绍,以及如何查看规则及清理规则等,在之前的一篇文章中已经讲述了,今天这里是演示如何制定防火墙的规则。因为工作中,主要会对filter链制定规则,所以这里我们主要也以fitler链做演示。 准备工作 制定规则前,我们首先关闭firewalld服务、开启iptables服…

    用户投稿 2026年8月25日
    000
  • 电脑怎么连接网络wifi 简单几步轻松上网

    电脑怎么连接网络wifi 简单几步轻松上网电脑怎么连接网络wifi 简单几步轻松上网电脑怎么连接网络wifi 简单几步轻松上网电脑怎么连接网络wifi 简单几步轻松上网

    刚入手的新电脑,或是重装系统后发现 wifi 选项不见了?无法连接无线网络?别着急!驱动哥来为你支招,手把手教你正确连接 wifi,并针对常见连接失败问题提供实用解决方案,轻松畅享无线网络的便利! 一、电脑连接 WiFi 的正确操作步骤 1. 确认电脑具备无线网卡 大多数笔记本电脑出厂时已内置无线网…

    2026年8月25日 用户投稿
    300
  • 推荐一些具体的AI工具 豆包在线入口

    豆包是字节跳动推出的免费 AI 助手,提供多平台使用和登录方式。1. 豆包:字节跳动推出的免费 AI 助手,支持网页、iOS 和 Android 端,登录方式包括手机号和抖音账号,网页端入口为豆包官网。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模…

    2026年8月25日
    000
  • win8怎么连接wifi网络_win8无线网络连接设置教程

    首先确认无线功能已开启,通过任务栏图标连接公开网络;若SSID隐藏,则需手动添加网络并输入SSID、安全类型及密码;也可通过Metro界面触控操作完成Wi-Fi连接设置。 如果您尝试连接到无线网络,但Windows 8设备无法成功接入,则可能是由于无线功能未开启或网络配置不正确。以下是解决此问题的多…

    2026年8月25日
    000
  • Linux下怎么查看MySQL版本

    1. 在终端下执行 mysql -V (注意V大写) 2. 在mysql 里查看 select version(); 3. 在mysql 里查看 status 以上就是Linux下怎么查看MySQL版本的详细内容,更多请关注创想鸟其它相关文章!

    2026年8月25日
    100
  • 电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法

    电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法电脑提示“steam_api.dll没有被指定在windows上运行”的4个方法

    在运行游戏或部分软件时,有时会弹出提示:“steam_api.dll未被指定在windows上运行,或文件已损坏。”这通常是因为dll文件丢失、版本不兼容,或系统缺少必要的运行环境。下面介绍几种简单有效的解决方式。 方法一:使用“星空运行库修复大师”自动修复(首选) 对于不太熟悉手动操作的用户来说,…

    2026年8月25日 用户投稿
    300
  • 流明跟亮度有啥不同

    流明是光通量的物理单位,亮度是人眼对光线的主观感受。流明值越高,光源总发光量越大;亮度则受环境、色温等因素影响,体现实际视觉效果。 如果您在选购投影仪或手电筒时注意到“流明”和“亮度”这两个术语,可能会误以为它们表达的是同一个概念。实际上,流明是衡量光源输出光通量的物理单位,而亮度则是人眼对光线强弱…

    2026年8月25日
    200
  • CSS mask属性无法获取图片:为什么我的图片不见了?

    CSS mask属性无法获取图片 在使用CSS mask属性时,可能会遇到无法获取指定照片的情况。这个问题通常表现为: 网络面板中没有请求图片:尽管CSS代码中指定了图片地址,但网络面板中却找不到图片的请求记录。 问题原因: 此问题的可能原因是浏览器的兼容性问题。某些较旧版本的浏览器可能不支持CSS…

    2025年12月24日
    2000
  • 为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?

    为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?为什么设置 `overflow: hidden` 会导致 `inline-block` 元素错位?

    overflow 导致 inline-block 元素错位解析 当多个 inline-block 元素并列排列时,可能会出现错位显示的问题。这通常是由于其中一个元素设置了 overflow 属性引起的。 问题现象 在不设置 overflow 属性时,元素按预期显示在同一水平线上: 不设置 overf…

    2025年12月24日 用户投稿
    500
  • 网页使用本地字体:为什么 CSS 代码中明明指定了“荆南麦圆体”,页面却仍然显示“微软雅黑”?

    网页中使用本地字体 本文将解答如何将本地安装字体应用到网页中,避免使用 src 属性直接引入字体文件。 问题: 想要在网页上使用已安装的“荆南麦圆体”字体,但 css 代码中将其置于第一位的“font-family”属性,页面仍显示“微软雅黑”字体。 立即学习“前端免费学习笔记(深入)”; 答案: …

    2025年12月24日
    500
  • 旋转长方形后,如何计算其相对于画布左上角的轴距?

    绘制长方形并旋转,计算旋转后轴距 在拥有 1920×1080 画布中,放置一个宽高为 200×20 的长方形,其坐标位于 (100, 100)。当以任意角度旋转长方形时,如何计算它相对于画布左上角的 x、y 轴距? 以下代码提供了一个计算旋转后长方形轴距的解决方案: const x = 200;co…

    2025年12月24日
    300
  • 旋转长方形后,如何计算它与画布左上角的xy轴距?

    旋转后长方形在画布上的xy轴距计算 在画布中添加一个长方形,并将其旋转任意角度,如何计算旋转后的长方形与画布左上角之间的xy轴距? 问题分解: 要计算旋转后长方形的xy轴距,需要考虑旋转对长方形宽高和位置的影响。首先,旋转会改变长方形的长和宽,其次,旋转会改变长方形的中心点位置。 求解方法: 计算旋…

    2025年12月24日
    000
  • 旋转长方形后如何计算其在画布上的轴距?

    旋转长方形后计算轴距 假设长方形的宽、高分别为 200 和 20,初始坐标为 (100, 100),我们将它旋转一个任意角度。根据旋转矩阵公式,旋转后的新坐标 (x’, y’) 可以通过以下公式计算: x’ = x * cos(θ) – y * sin(θ)y’ = x * …

    2025年12月24日
    000
  • 为什么我的特定 DIV 在 Edge 浏览器中无法显示?

    特定 DIV 无法显示:用户代理样式表的困扰 当你在 Edge 浏览器中打开项目中的某个 div 时,却发现它无法正常显示,仔细检查样式后,发现是由用户代理样式表中的 display none 引起的。但你疑问的是,为什么会出现这样的样式表,而且只针对特定的 div? 背后的原因 用户代理样式表是由…

    2025年12月24日
    300

发表回复

登录后才能评论
关注微信