Linux Shell:`alias`命令

Linux Shell:alias命令

alias命令是Linux和Unix系统中Shell的内置命令,用于创建命令的简短名称,即别名。这些别名通常用来缩短长命令或为常用命令序列创建便捷的缩写,从而提高工作效率。别名在当前Shell会话中有效,除非它们被添加到Shell的配置文件中,如.bashrc.zshrc,这样每次启动新的Shell会话时都会自动定义这些别名。

在这里插入图片描述

alias命令的基本用法

创建别名

要创建一个新的别名,可以使用如下的语法:

alias name='command'

这里,name是新创建的别名,command是别名指向的命令或命令序列。例如,如果你经常使用ls -l来查看目录的详细列表,可以创建一个别名ll

alias ll='ls -l'

之后,每当你输入ll并按下回车键,Shell就会执行ls -l命令。

当创建一个新的别名时,如果该别名已经存在,新的定义将覆盖旧的定义。这意味着最后一次对某个别名的定义将是有效的,之前的定义会被忽略。这可以用于更新已有别名的命令或修正之前别名的错误。

查看现有的别名

要查看当前Shell会话中定义的所有别名,可以不带任何参数地执行alias命令:

alias

这将列出所有的别名及其对应的命令。

删除别名

要删除已经创建的别名,可以使用unalias命令,其语法如下:

unalias name

这里,name是要删除的别名。例如,要删除上面创建的ll别名,可以执行:

unalias ll

请注意,unalias命令仅在当前Shell会话中删除别名。重新开启一个新的Shell会话后,这个别名又会生效,除非你在配置文件中永久删除它。

在配置文件中设置别名

在Linux系统中,当启动一个Shell时,系统会自动执行一系列配置文件。这些配置文件负责初始化用户环境,包括设置环境变量、别名、函数等。对于Bash Shell,最常见的配置文件包括/etc/profile~/.bash_profile~/.bash_login~/.profile,以及~/.bashrc

  • /etc/profile:这是系统级别的全局配置文件,对所有用户有效。它通常用于设置系统环境变量和启动脚本。
  • ~/.bash_profile~/.bash_login~/.profile:这些是用户级别的登录Shell配置文件,当用户登录时执行。这些文件可以用来个性化用户的Shell环境。如果~/.bash_profile存在,则~/.bash_login~/.profile通常被忽略。
  • ~/.bashrc:对于非登录Shell(如打开一个新的终端会话),~/.bashrc是最常用的配置文件。它用于配置特定于Shell会话的环境,如别名和函数。

为了在每次打开新的Shell时自动加载别名,通常建议将alias命令添加到~/.bashrc(对于Bash用户)或相应的配置文件中(如.zshrc对于Zsh用户)。这样,每当启动一个新的Shell会话时,这些别名就会自动定义。

要让别名在每次打开新的Shell时自动生效,可以把alias命令添加到用户的Shell配置文件中,如.bashrc(对于Bash用户)或.zshrc(对于Zsh用户)。例如,要让ll别名在每次启动Bash时自动生效,可以在~/.bashrc文件的末尾添加以下行:

alias ll='ls -l'

修改配置文件后,为了让更改立即生效,可以执行以下命令来重新加载配置文件:

source ~/.bashrc

或者,简单地关闭并重新打开终端。

绕过别名

如果你需要临时绕过别名执行原始命令,可以在命令前加上反斜线\。例如,如果ls被定义为别名ls --color=auto,你可以通过输入\ls来绕过这个别名,直接执行原始的ls命令。这是因为反斜线告诉Shell忽略紧随其后的命令的任何别名定义,直接执行该命令。

假设你定义了一个grep的别名来包含一些常用的选项,例如:

alias grep='grep --color=auto'

这个别名让grep命令自动带上--color=auto选项,以彩色高亮显示匹配结果。然而,如果在某个特定情况下,你想要执行原始的grep命令而不使用任何别名定义的额外选项,你可以通过在grep前加上反斜线来绕过别名:

\grep 'pattern' file

这样,Shell会忽略grep的别名定义,直接执行原始的grep命令。这种方法特别有用,当你需要临时取消别名的效果而不想永久更改或删除已有的别名定义。

参考链接

  • Bash手册:https://www.gnu.org/software/bash/manual/bash.html
  • Linux命令手册:https://man7.org/linux/man-pages/

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

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

相关文章

Leetcode算法训练日记 | day20

一、合并二叉树 1.题目 Leetcode:第 617 题 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新…

基于SSM的电影网站(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的电影网站(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,通过Spring SpringMv…

196算法之谜在 JSP 中使用内置对象 request 获取 form 表单的文本框 text 提交的数据。

(1)编写 inputNumber . jsp ,该页面提供一个 form 表单,该 form 表单提供一个文本框 text ,用于用户输入一个正整数,用户在 form 表单中输入的数字,单击 submit 提交键将正整数提交给 huiwenNumber . jsp 页…

开源项目ChatGPT-Next-Web的容器化部署(四)-- k8s容器部署使用configmap配置

一、接着上文 本文的内容是在k8s容器中,如何使用configmap对.env文件进行挂载,实现环境的差异化配置。 二、源码结构 项目ChatGPT-Next-Web使用了.env文件来配置不同环境下的值: 所以,我们同理新增两个配置文件,见下…

windows上使用influx2.7学习

参考 官方文档:https://docs.influxdata.com/influxdb/v2/ 下载 需要下载两样东西:influxd.exe和influx.exe influxd:influx数据库的服务端。下载地址:https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.5-windows.zipinflux:连…

Linux 计算机网络

目录 一、网络协议 1、 "协议" 是一种约定 2、协议分层 二、网络模型 1、OSI七层模型 2、TCP/IP五层(或四层)模型 三、网络传输基本流程 四、数据包封装和分用 五、网络中的地址管理 六、网络编程套接字 1、理解源IP地址和目的IP地址 2、端口号 理解 &q…

Prototype 原型

意图 用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。 结构 Prototype声明一个复制自身的接口。ConcretePrototype实现一个复制自身的操作。Client让一个原型复制自身从而创建一个新的对象。 适用性 当一个系统应该独立于他的产品创建、构成和…

第四百五十三回

文章目录 1. 问题描述2. 优化方法2.1 缩小范围2.2 替代方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取AppBar的高度"相关的内容,本章回中将介绍关于MediaQuery的优化.闲话休提,让我们一起Talk Flutter吧。 1. 问题描述 我们在…

微信小程序uniapp+vue电力巡线任务故障报修管理系统2q91t

uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 前端开发:vue 语言:javapythonnodejsphp均支持 运行软件:idea/eclipse/vscode/pycharm/wamp均支持 框架支持:Ssm/django/flask/t…

《看漫画学C++》第12章 可大可小的“容器”——向量

在C编程的世界里,数组是一种基础且广泛使用的数据结构。然而,传统的静态数组在大小固定、管理不便等方面的局限性,常常让开发者感到束手束脚。幸运的是,C标准库中的vector类为我们提供了一种更加灵活、高效的动态数组解决方案。 …

Socks5代理IP使用教程

当我们在互联网上浏览网页、下载文件或者进行在线活动时,隐私和安全问题常常被提及。在这样的环境下,一个有效的解决方案是使用Sock5IP。本教程将向您介绍Sock5IP的使用方法,帮助您保护个人隐私并提升网络安全。 一、什么是Sock5IP&#xff1…

4月9号总结

java学习 一.steam流 1.介绍 Stream 是 Java 8 中引入的一种处理集合数据的新抽象。它提供了一种高效且便利的方式来处理集合中的元素,支持函数式编程的特性,使得集合操作变得更加简洁和灵活。 2.创建 List和Set可以直接调用接口的steam方法转换为流 …

互联网大厂ssp面经(操作系统:part1)

1. 什么是进程和线程?它们之间有什么区别? a. 进程是操作系统中运行的一个程序实例。它拥有独立的地址空间和资源,可以独立执行。 b. 线程是进程内的一个执行单元,一个进程可以包含多个线程。 c. 线程共享进程的资源,…

Unity之PlayableGraph实现动画的正播和倒播

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity之PlayableGraph实现动画的正播和倒播 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取&am…

3d模型有边界框怎么去除---模大狮模型网

在3D建模软件中,边界框通常是用来表示模型的边界和外轮廓的,但有时候在渲染或导出模型时可能不希望显示这些边界框。以下是一些去除3D模型边界框的方法: 隐藏边界框选项: 在大多数3D建模软件中,边界框的显示可以通过简…

【从浅学到熟知Linux】冯诺依曼体系结构及进程概念详谈!

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程等内容。 🎯每天努力一点点,技术变化看得见 文章目录 冯诺依曼体系结构操作系统如何理解管理操作系统概念设计操作系统目的系统调用和库函数概念 进程基本概念描…

移位寄存器

移位寄存器是如何工作的? 移位寄存器按照移位方向可分为左移位寄存器、右移位寄存器、双向移位寄存器。图11-15所示为用D触发器构成的4位左移位寄存器。待存数码由触发器F0的输入端D0输入,在移位脉冲作用下,可将数码从高位到低位向左逐步移入…

基于springboot+vue实现的艺术水平考级报名管理系统

作者主页:Java码库 主营内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】:Java 【框架】:spring…

信息收集笔记

1 简介 渗透的本质是信息收集 信息收集也叫做资产收集 信息收集是渗透测试的前期主要工作,是非常重要的环节,收集足够多的信息才能方便接下来的测试,信息收集主要是收集网站的域名信息、子域名信息、目标网站信息、目标网站真实IP、敏感/目…

2024.4.8Morris中序遍历(线索二叉树)学习

这次博主在学习完知识点和代码之后,准备对这个知识重新进行整理总结。站在一个初学者的角度来看待这个知识点,在他人的讲解基础上加一点点自己的理解,并记录下来。以加深自己的理解,并且希望能够帮助到你。博主是一个初学者&#…