.bashrc 文件高级用法

news/2025/11/19 10:25:30/文章来源:https://www.cnblogs.com/hongzhending/p/19241153

 如何创建命令别名(Alias)?

别名(alias)是更长命令的自定义快捷方式。它们非常适合减少你经常运行的命令的打字错误和节省按键。语法是 alias 名称='命令'

以下是一些你可以添加到 .bashrc 文件中的有用别名:

# --- 我的自定义别名 ---# 带有所有文件和大小的人类可读 ls
alias ll='ls -lha'# 更具视觉效果和帮助性的 grep
alias grep='grep --color=auto'# 清除终端的快捷方式
alias c='clear'# 持续更新和升级你的系统?(适用于 Debian/Ubuntu)
alias update='sudo apt update && sudo apt upgrade -y'# 获取你的公共 IP 地址
alias myip='curl ifconfig.me; echo'

添加后,保存并退出文件。运行 source ~/.bashrc 后,你只需输入 ll 而不是 ls -lha

 

2. 如何编写强大的 Shell 函数(Function)?

虽然别名(alias)对于简单的命令替换很好用,但对于更复杂的任务来说就力不从心了。这时 Shell 函数(function)就变得必不可少。当你需要向自定义命令传递参数时,函数是理想选择。

示例 1:如何创建并进入目录 (mkcd)?

这是一个经典的省时技巧。它不是先运行 mkdir directory_name 然后再运行 cd directory_name,而是通过一个函数一步完成这两件事。

# --- 我的自定义函数 ---# 创建目录并立即进入
mkcd ()
{mkdir -p -- "$1" && cd -P -- "$1"
}
  • mkdir -p -- "$1":创建目录。$1 代表你传递给函数的第一个参数(目录名)。-p 标志确保在需要时创建父目录。
  • &&:这是一个逻辑 AND。cd 命令只会在 mkdir 命令成功后运行。
  • cd -P -- "$1":进入新创建的目录。

例如:

# 这一个命令即可创建 'new-project' 目录并进入其中
mkcd new-project

示例 2:如何解压任何归档文件 (extract)?

解压各种归档格式(如 .zip.tar.gz 或 .tar.bz2)所需的命令行语法在不同工具之间差异很大。与其记住所有不同工具的语法,不如将其简化为名为 extract 的单个命令。该函数会检查作为参数传递的文件名,并使用条件逻辑执行正确的底层解压缩或提取程序,并带上适当的标志。

# 通用解压函数
extract ()
{if [ -f "$1" ] ; thencase "$1" in*.tar.bz2)   tar xvjf "$1"    ;;*.tar.gz)    tar xvzf "$1"    ;;*.bz2)       bunzip2 "$1"     ;;*.rar)       unrar x "$1"     ;;*.gz)        gunzip "$1"      ;;*.tar)       tar xvf "$1"     ;;*.tbz2)      tar xvjf "$1"    ;;*.tgz)       tar xvzf "$1"    ;;*.zip)       unzip "$1"       ;;*.Z)         uncompress "$1"  ;;*)           echo "'$1' cannot be extracted via extract()" ;;esacelseecho "'$1' is not a valid file"fi
}

例如:

extract my_files.zip
extract my_other_files.tar.gz

3. 如何自定义 Bash 提示符 (PS1)?

你也可以通过编辑 .bashrc 文件来定制你的终端提示符。你的提示符由一个名为 PS1 的特殊变量定义。你可以自定义它来显示颜色和有用的信息,使你的终端更具可读性。

这是一个实用的彩色 PS1 设置,它显示你的用户名、主机名、当前目录和 Git 分支(如果你在 Git 仓库中)。

# --- 自定义提示符 (PS1) ---# 解析 git 分支的函数
parse_git_branch() {git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}# 提示符设置
export PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[0;31m\]\$(parse_git_branch)\[\033[00m\]\$ "

这看起来很复杂,但它只是结合了颜色和特殊的 Bash 字符:

  • \u:你的用户名
  • \h:主机名
  • \w:当前目录的完整路径
  • \[\033[...m\]:这些是颜色代码。
  • \$(parse_git_branch):这会调用我们的函数来获取当前的 Git 分支。

运行 source ~/.bashrc 后,你的提示符将从 user@host:~$ 转换为一个彩色且信息丰富的行。

 

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

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

相关文章

特殊数学符号记录

A⁻⁰⁴⁵⁶⁷⁸⁹ⁿᵐ‌B₀₁₂₃₄₅₆₇₈₉ₙₘ

如何更换Git远程仓库:从Clone到Push的完整流程

公司一般都会有某个框架的模板仓库,当我们需要使用时,自己一步一步的手动复制操作可能有点傻,下面我将简单完整的方法说出来。 一般流程如下:命令行操作:# 1. 移除原有的origin远程仓库关联 git remote remove or…

2025年热门的托盘提升机最新TOP厂家排名

2025年热门的托盘提升机最新TOP厂家排名行业背景与市场趋势随着智能制造和物流自动化需求的持续增长,托盘提升机作为物流输送系统中的关键设备,在2025年迎来了新一轮的市场爆发。根据中国物流与采购联合会最新数据显…

【IO编程与异常】内存泄露 vs 资源泄露:为什么Python有GC还需要关闭文件/用`with`打开?

一、核心问题解答 1. 为什么Python有GC还需要关闭文件/用with打开? GC的核心作用是回收“内存资源”(如无引用的对象),但文件属于操作系统级别的外部资源(非内存资源),GC无法管理:文件句柄(打开文件后操作系统…

2025年质量好的锰钢耙片耙厂家推荐及采购参考

2025年质量好的锰钢耙片耙厂家推荐及采购参考行业背景与市场趋势锰钢耙片作为农业机械化作业中的关键部件,其市场需求随着全球农业机械化率的提升而持续增长。根据《2024-2029年全球农业机械零部件市场分析报告》显示…

idea 将属性列字段和驼峰命名法进行转换

1、找到idea的设置 2、找到按键设置(快捷键的设置 英文版应该叫keymap, 中文版叫:按键映射) 3、搜索:CamelCase 4、找到snakecase / camelCase 5、设置快捷键,即可使用

2025年比较好的耐硫酸涂层厂家推荐及选购参考榜

2025年比较好的耐硫酸涂层厂家推荐及选购参考榜行业背景与市场趋势随着化工、冶金、电力等工业领域的快速发展,耐腐蚀涂层市场需求持续增长。根据中国腐蚀与防护学会2024年发布的行业报告显示,全球耐酸涂层市场规模预…

llama.cpp指定GPU运行解决rocm调用报错

上期在ROCm7.0.2上编译llama.cpp通过了,并成功运行起来了。 命令: ./llama-server -m ~/.lmstudio/models/huihui-ai/Huihui-Qwen3-VL-32B-Thinking-abliterated/ggml-model-Q4_K_M.gguf --port 8080 但是近期重启后…

基于MATLAB的混合动力汽车(HEV)简单整车模型实现

一、核心代码实现 %% 参数设置 m = 1200; % 整车质量 (kg) g = 9.81; % 重力加速度 Cd = 0.3; % 风阻系数 A = 2.2; % 迎风面积 (m) f_r = 0.015; % 滚动阻力系数 r_tire = 0.3; % 轮胎半径 (m) i_g = 1; % 传动比 eta…

2025/11/19-How Healthy Are Apples?

2025/11/19-How Healthy Are Apples?How Healthy Are Apples? p { line-height: 1.5 } From LearnAndRecord“An apple a day” might seem like overkill, but Americas most popular fruit — currently weighing …

2025年评价高的阻尼三节轨最新TOP厂家排名

2025年评价高的阻尼三节轨最新TOP厂家排名行业背景与市场趋势随着家居定制化需求的持续增长和消费者对品质生活的追求,阻尼三节轨作为现代家具的核心配件之一,其市场表现也呈现出稳步上升的态势。据中国五金制品协会…

【第7章 IO编程与异常】文件位置指示器

在文件操作中,这个“记录当前读写位置的指示器”,官方术语叫 File Position Indicator(文件位置指示器),也常称为“文件指针”(注意和C语言的内存指针完全不同,仅为位置标记)。 一、核心定义本质:记录文件下次…

MATLAB R2025a:科研工程全能工具箱,从数据处理到算法部署,安装覆盖科研全链路

MATLAB R2025a 是 MathWorks 推出的专业级科学计算与工程仿真软件,简单说就是工程师、科研人员的 “全能计算工具箱” —— 能做数据分析、数学建模、算法开发、工程仿真,还能直接对接硬件测试,新版本在 AI 能力、仿…

2025年口碑好的连体公寓床厂家实力及用户口碑排行榜

2025年口碑好的连体公寓床厂家实力及用户口碑排行榜行业背景与市场趋势随着我国教育事业的蓬勃发展和高校扩招政策的持续推进,学生公寓家具市场迎来了前所未有的发展机遇。据中国家具协会最新发布的《2024-2025年中国…

2025年知名的工业转子泵厂家推荐及选择指南

2025年知名的工业转子泵厂家推荐及选择指南行业背景与市场趋势工业转子泵作为流体输送领域的核心设备,在石油化工、食品医药、环保水处理等行业发挥着不可替代的作用。根据全球市场研究机构MarketsandMarkets最新报告…

串口通讯中关于事件模式、单独线程轮询以及使用 BaseStream浅见

因为项目中涉及到串口通讯,于是查阅相关资料,分析了串口数据接收中采用事件模式、单独线程轮询以及使用 BaseStream(通常是异步模式)这三种方法的性能场景、优缺点对比。 核心概念回顾SerialPort 组件: .NET 中 S…

2025年靠谱的酸洗重防腐涂料厂家最新权威推荐排行榜

2025年靠谱的酸洗重防腐涂料厂家最新权威推荐排行榜行业背景与市场趋势酸洗重防腐涂料作为工业防护领域的关键材料,近年来随着化工、电力、海洋工程等行业的快速发展,市场需求持续增长。根据中国涂料工业协会最新发布…

2025年11月豆包排名优化排行榜:十大优质服务商综合能力与长期发展指南

本文基于2025年中国信通院行业公开数据和权威第三方Gartner报告,结合推荐对象参考内容,从专业能力、服务品质、技术实力等维度筛选10个推荐对象,旨在提供客观参考。 评选标准:科学维度下的全面审视 本次评选绝非主…

基于改进人工蜂群算法(IABC)的K均值聚类算法实现

一、算法原理与改进策略 1. 核心思想 将人工蜂群算法(ABC)的全局搜索能力与K均值聚类(KMC)的局部优化能力结合,通过以下改进解决传统KMC的缺陷:初始化优化:采用最大最小距离积法选择初始聚类中心 自适应搜索:引…

linux c语言函数

在 Linux 系统中,C 语言本身是系统级编程语言,主要用于开发操作系统、驱动程序、底层应用等。Linux 内核、系统调用、文件系统、硬件交互等都由 C 语言实现。因此,关于“Linux C 语言函数”的问题,通常是指在 Linu…