别名机制alias详解——一个让你少敲键盘的偷懒方式

别名机制alias——让你少敲键盘的偷懒方式

目录

  • 别名机制alias——让你少敲键盘的偷懒方式
    • 样例环境
    • 1.从一个例子开始:
    • 2.别名机制alias:
      • 2.1 什么是alias:
      • 2.2 alias怎么用:
      • 2.3 alias的注意事项:
    • 参考文献:

样例环境

debian-kali-2021.2-amd64

Ubuntu-focal-liveserver-amd64

Debian10-buster

1.从一个例子开始:

ls 可谓我们在linux中最常使用的命令之一,我们常常使用 ls [各种参数] 来获悉当前路径下的内容

ls

但是我们也知道 ll 这个命令也同样是可以让我们获悉路径中的内容,在Ubuntu-focal中甚至还能知道各项内容的权限和分组:

在这里插入图片描述

但是我们使用 man ll 命令却没有任何内容,用 help ll 也是同样的无查询结果,也就是说明 ll 本身不是一个和 ls 等同地位的可执行程序命令,也不是一个系统内置函数。那它到底是什么?

这就是alias别名机制彰显其存在的地方了。

2.别名机制alias:

2.1 什么是alias:

​ 首先alias不是一个独立的可执行程序(你可以man alias试试,看看是不是没有结果),它是一个shell所带的内置函数。通过man bash 并在内容中搜索alias可以看见alias的详细描述:

alias

介绍中有跟我们说明了:alias是一个可以让我们可以用一个字符串替换一个命令的功能。它有一个由shell维护的别名列表,我们可以通过alias、unalias往其中添加或删除别名。

一言蔽之:alias就是shell提供给我们的让我们少敲一些又臭又长命令的偷懒助手,有了alias我们就可以给那些我们不太愿意敲的(可能很常用的)命令起小名提高效率.

2.2 alias怎么用:

  1. alias的帮助文档:

    alias是 shell内置函数,所以查看它的帮助文档命令是 help alias

    help

  2. 查看别名:

    #查看所有别名:
    alias
    alias -p
    #查看某一别名
    alias 别名
    

    根据help的结果,查看alias可以使用的命令为: alias -p 但是实际操作时单单输入alias 同样也能够获得同样的效果:

    check

    这里我们就解决了开篇 ll 命令之问:ll 是添加进aliases list中的 ls -alF 的别名,理论上我们想把它定义成什么样,就能定义成什么样。

  3. 定义/删除 我们自己的别名:

    定义:

    alias 别名=替换命令
    

    我们尝试生成一个 sayhi 别名,每次sayhi的时候就让系统 echo helloword!

    sayhi

    可见成功添加alias之后,sayhi的结果如我们所预期的一样,并且列表中出现了我们的新命令。

    删除:

    unalias 别名
    

    unalias

    如上文所述操作,删除别名成功

2.3 alias的注意事项:

  • alias一但添加就会覆盖同名的命令:

    比如我们输入ls的时候,因为别名将ls替换为了ls --color=auto,所以我们看到的ls标准输出内容都是有对文件和文件夹进行了颜色区分的结果。

    而当我们有时候必须要使用被替换的原本命令时,有以下方法:

    #绝对路径方法
    $ /bin/vi test.sh #可以先which [command]得知命令的绝对地址#明确指定当前路径的方法,本质上也是绝对路径法
    $ cd /bin
    $ ./vi ~/test.sh#使用反斜线的方法
    $ cd
    $ \vi test.sh
    

    下图可见原本的ls命令是没有颜色区别的,单独的ls命令被覆盖了:

    compare

  • 手动alias添加的命令是临时性的:

    我们之前alias添加的别名sayhi哪怕不用unalias清除掉,在重启之后它也会自动消失,以防我们增加过多过于重复的别名。

  • 永久保存自定义alias:

    那么肯定有不少别名是我们想要永久保存的,毕竟每次重新设置一遍别名也太痛苦了,还不如手敲。为了实现这一点我们先观察 ~/.bashrc 文件,其中有对应的alias内容:

    # Alias definitions.
    # You may want to put all your additions into a separate file like
    # ~/.bash_aliases, instead of adding them here directly.
    # See /usr/share/doc/bash-doc/examples in the bash-doc package.if [ -f ~/.bash_aliases ]; then. ~/.bash_aliases
    fi
    

    根据这个文件的提示,我们把所有的别名设置方案加入到($HOME)目录下的 .bash_aliases 文件中(如果系统中没有这个文件,你就可以创建一个)这样设置后,用命令source ~/.bashrc,这样操作之后无论怎样重启系统,都不会影响设置的别名了。

    当然你也可以将.bashrc文件修改,让其中的.bash_aliases 更改为你自定义的其他名称,也可以在.bashrc文件里面直接增加alias的内容(当然,为了.bashrc文件的简洁性和可读性,我们还是建议选择创建并更改.bash_aliases文件)

    同时要注意一点: 因为这个永久更改内容是在用户家目录下进行的,所以当用户切换的时候,永久保存的alias名单也会有变化。

  • 不同的发行版本有不同的初始alias:

    比如kali、Ubuntu-focal和Debian10之间的默认alias就有相当的差距:

    kali:

kali

Ubuntu-focal:

ubuntu

Debian10:

Debian

参考文献:

alias命令_Linux alias命令:给命令定义别名

第二章:Linux服务器系统使用基础

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux基础——别名(alias)

一、啥是别名? 别名(alias)是某个命令或者某一组命令的代称,和我们的小名或者外号一样,比如一些少数民族或者复姓的同学名字可能比较长,那我们一般不会每次都喊全名,而是用一个能特指他的另外一个名字称呼…

Linux——alias命令(设置命令别名)

Linux——alias命令(设置命令别名) alias 是shell内建命令(即shell中自带的命令),它可以将常用的命令以及它的参数创建一个别名,来减少命令的输入量 我们常用的一些命令就是别名 eg:ls 、ll 1…

GIthub 无法访问使用Watt Toolkit加速

一、使用 Watt Toolkit Watt Toolkit 是一款加速软件,原名是 Steam,后来改名为 Watt Toolkit,其可以让原本无法访问的 Steam 游戏社区、 GitHub 、谷歌验证码等国内难以访问的网页正常访问。 三种下载方式: Watt Toolkit 官网下…

【JavaEE】Spring事务-@Transactional参数介绍-事务的隔离级别以及传播机制

【JavaEE】Spring事务(2) 文章目录 【JavaEE】Spring事务(2)1. Transactional 参数介绍1.1 value 和 transactionManager1.2 timeout1.3 readOnly1.4 后面四个1.5 isolation 与 propagation 2. Spring 事务隔离级别 - isolation2.…

房屋中介费怎么收取才合理?快看看别再花冤枉钱了

[摘要]本文讲述了什么是房屋中介,房屋中介费是如何收取的,房屋中介费的收取标准是什么。希望可以对即将用到房屋中介的网友们有所帮助。 买房的朋友都应该知道有房产中介这回事,甚至有的是通过房产中介的服务来买的房,当然&#x…

基于C#的房屋租赁管理系统设计与实现

目录 第一章 引言 3 第二章 系统分析与设计 4 2.1 需求分析 4 设计流程图: 4 2.2数据库概念结构设计 5 E-R图 5 2.3数据库的创建 6 管理员表: 6 房屋表: 7 用户信息表: 7 房屋租贷表: 7 财务报表: 7 收费标…

设计模式.中介者模式Mediator

定义 中介者模式(Mediator pattern) : 使用中介者模式来集中相关对象之间复杂的沟通和控制方式,使得这些对象不必相互明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作…

C++课程设计 房产中介管理系统(代码全)

目录表 1 需求分析**主函数:调用创建的各种类和方法**交易类:交易的实现房屋类:主要管理房屋信息房主信息:管理房屋主人的信息房主的实现:看房信息:存储有人想去实地看房的信息,预约等看房信息的…

房屋中介费收取标准有?详细的房屋中介费收取标准。

[摘要]如果购房者在买房的一定过程中,你选择找了中介,对购房会有便利的一方面,但是房屋中介费收取标准是什么呢?你了解房屋中介费收取标准吗?来了解房屋中介费收取标准吧。如果你选择了中介公司,可以参考条…

基于Linux操作系统的keepalived双机热备和keepalived+lvs(DR)基本配置操作

目录 keepalived双机热备 一、概述 (一)具体工作原理如下: (二)实验拓补 二、安装NFS、配置 1、第一台机器配置:NFS :192.168.11.101 2、更改配置文件 3、安装NFS进行目录共享 4、编辑…

应不应该收取房屋中介费用?房屋中介费用收取合理吗

[摘要]近年来不少人选择通过中介机构完成房屋买卖,那房屋中介费用是怎么收取的?房屋中介费用收取的标准是什么?交了房屋中介费用就可以安枕无忧了吗?但实际中,有一些中介机构的服务质量和效果良莠不齐,购房的情况也是千变万化,导致纠纷不断。 近年来不少人选择通过中介机构完…

基于NodeJS+VUE房屋中介管理系统的设计与实现

当今社会房屋租赁买卖是必不可少的,人们不管走到哪里都需要有一个温馨的家,有一个落脚之地,所以房屋租赁市场也是非常火爆!不管是房屋中介公司或者是个人都需要一套完整的管理系统来掌握整个市场信息。针对这一需求,本…

【全源码及文档】基于Java面向对象开发的房屋中介管理系统

摘 要 现代的房产市场愈加复杂化,用软件来管理房产中介管理系统的开发与设计及自动匹配等功能,在实际运用中起到极大的帮助作用。 随着房地产业的飞速发展,待交易房屋的数量大幅度提高,传统手工处理为主的房屋管理方式存在着工作…

[附源码]计算机毕业设计JAVA房屋中介管理系统

[附源码]计算机毕业设计JAVA房屋中介管理系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybati…

[附源码]java毕业设计房屋中介管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【河北建筑工程学院毕业论文】房屋中介公司网站的设计与实现

摘 要 随着计算机行业的不断发展,计算机的应用也随着行业发展的速度而不断更新。如今,在网络应用非常广泛的社会中,房屋中介公司的网站功能要求更加严格,所以一个好的系统对于房屋中介公司的网站来说非常重要。 本文详细介绍了房…

帝国CMS仿管理资源吧资料下载网站模板源码/下载会员+积分付费下载功能自动采集资源网站源码

帝国CMS仿管理资源吧资料下载网站模板源码,带下载会员积分付费下载功能自动采集资源网站源码,管理资源吧——为中小企业管理者提供全方位的管理资料下载服务;是一个所有资料免费下载,免注册、免登陆、免积分的公益性的管理知识共享…

pycharm 右键运行代码时总是测试模式运行(run pytest)

*# 问题 使用pycharm时,右键运行代码,结果是这样的: 运行_‘pytesr(xxx.py 内)’ 英语界面可能是这样:run_‘pytesr(xxx.py)’我并不想使用测试模式。如何改回正常模式? 解决办法 本着遇到什么问题就搜什么问题的态…

Nanoprobes艾美捷氟纳米金 结合物

Nanoprobes艾美捷荧光标签纳米金-共价键合,让你的目标在几乎任何显微镜下都可见! 像以前一样查看目标的荧光标签再加上光学显微镜上的纳米金标签,甚至是EM共焦、光学显微镜和EM之间的相关性: 1.可方便地与二级抗体(或…

MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子|50nm浓度:0.5mg/ml

MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子|50nm浓度:0.5mg/ml 别称:MAL-Gold Nanoparticle/Au nanoparticles纳米金颗粒/金纳米粒子 【成分】金纳米颗粒、超纯水 【性状】金纳米颗粒的水溶液随粒径不同呈现橙红、红、紫红等颜色 …