别名机制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 [各种参数]
来获悉当前路径下的内容
但是我们也知道 ll
这个命令也同样是可以让我们获悉路径中的内容,在Ubuntu-focal中甚至还能知道各项内容的权限和分组:
但是我们使用 man ll
命令却没有任何内容,用 help ll
也是同样的无查询结果,也就是说明 ll
本身不是一个和 ls
等同地位的可执行程序命令,也不是一个系统内置函数。那它到底是什么?
这就是alias别名机制彰显其存在的地方了。
2.别名机制alias:
2.1 什么是alias:
首先alias不是一个独立的可执行程序(你可以man alias
试试,看看是不是没有结果),它是一个shell所带的内置函数。通过man bash
并在内容中搜索alias可以看见alias的详细描述:
介绍中有跟我们说明了:alias是一个可以让我们可以用一个字符串替换一个命令的功能。它有一个由shell维护的别名列表,我们可以通过alias、unalias往其中添加或删除别名。
一言蔽之:alias就是shell提供给我们的让我们少敲一些又臭又长命令的偷懒助手,有了alias我们就可以给那些我们不太愿意敲的(可能很常用的)命令起小名提高效率.
2.2 alias怎么用:
alias的帮助文档:
alias是 shell内置函数,所以查看它的帮助文档命令是
help alias
查看别名:
#查看所有别名: alias alias -p #查看某一别名 alias 别名
根据help的结果,查看alias可以使用的命令为:
alias -p
但是实际操作时单单输入alias
同样也能够获得同样的效果:这里我们就解决了开篇
ll
命令之问:ll
是添加进aliases list中的ls -alF
的别名,理论上我们想把它定义成什么样,就能定义成什么样。定义/删除 我们自己的别名:
定义:
alias 别名=替换命令
我们尝试生成一个
sayhi
别名,每次sayhi的时候就让系统echo helloword!
可见成功添加alias之后,sayhi的结果如我们所预期的一样,并且列表中出现了我们的新命令。
删除:
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命令被覆盖了:
手动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:
Ubuntu-focal:
Debian10:
参考文献:
alias命令_Linux alias命令:给命令定义别名
第二章:Linux服务器系统使用基础
别名机制alias详解——一个让你少敲键盘的偷懒方式相关推荐
- mysql select 缓存_mysql select缓存机制使用详解
mysql Query Cache 默认为打开.从某种程度可以提高查询的效果,但是未必是最优的解决方案,如果有的大量的修改和查询时,由于修改造成的cache失效,会给服务器造成很大的开销,可以通过qu ...
- java 委托机制_通过反射实现Java下的委托机制代码详解
简述 一直对Java没有现成的委托机制耿耿于怀,所幸最近有点时间,用反射写了一个简单的委托模块,以供参考. 模块API public Class Delegater()//空参构造,该类管理委托实例并 ...
- java委托机制教程_通过反射实现Java下的委托机制代码详解
简述 一直对java没有现成的委托机制耿耿于怀,所幸最近有点时间,用反射写了一个简单的委托模块,以供参考. 模块api public class delegater()//空参构造,该类管理委托实例并 ...
- python做插件应用_Python插件机制实现详解
插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地 ...
- python插件使用教程_Python插件机制实现详解
插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地 ...
- java反射机制深入详解_Java反射机制深入详解
原标题:Java反射机制深入详解 一.概念 反射就是把Java的各种成分映射成相应的Java类. Class类的构造方法是private,由JVM创建. 反射是java语言的一个特性,它允程序在运行时 ...
- python加载机制_Python插件机制实现详解
插件机制是代码/功能反向依赖注入到主体程序的一种方法,编译型语言通过动态加载动态库实现插件.对于Python这样的脚本语言,实现插件机制更简单. 机制 Python的__import__方法可以动态地 ...
- 注意力机制Attention详解
注意力机制Attention详解 一.前言 2018年谷歌提出的NLP语言模型Bert一提出,便在NLP领域引起热议,之所以Bert模型能够火出圈,是由于Bert模型在NLP的多项任务中取得了之前所有 ...
- 详解一个ThreadLocal 的谜题
详解一个ThreadLocal 的谜题 多线程如果不理解透彻, 那么 ThreadLocal 始终是有些会有所迷糊的. ThreadLocal 本身的命名有有问题, 这些美国精英整出来的技术,再加上一 ...
最新文章
- 程序员感叹一年只能存下15万太少了……网友:潸然泪下
- 透视鹏程.盘古:首个2000亿参数中文大模型是怎样炼成的?
- 《effective java》类和对象
- golang使用iota
- 2019牛客暑期多校训练营(第三场)F - Planting Trees (枚举 + 单调队列)
- tcpdump抓包分析具体解释
- 小明系列问题――小明序列(LIS)
- 浅谈Node.js(概念、安装、入门例子)
- 等保2.0标准发布一周年,行业用户如何有效落实合规建设
- Ubuntu 8.04 告白登岸德国柏林的地铁零碎
- 银行突发事件演练方案_【工作动态】准旗联社组织开展优质文明服务应急演练,为优质服务保驾护航!...
- 公司电脑可以做无盘系统吗?怎么优化速度?
- swift学习笔记(四)关于类的继承
- 【easy!】LeetCode 14. Longest Common Prefix
- 职称评审英语计算机不作要求,安徽:基层专业技术人员评职称外语计算机不作要求...
- Java /Jsp 执行操作系统命令 windows/Linux
- c语言基础知识孙小红,基于J2EE的C语言在线学习系统的设计与实现
- atitit。企业组织与软件工程的策略 战略 趋势 原则 attilax 大总结
- 小米bl未解锁变砖了如何刷机_如何正确刷机
- 解读《美国国家BIM标准》 – BIM能力成熟度模型 (七)