linux基本功系列之alias命令实战
创始人
2024-05-13 15:38:40
0

本文目录

文章目录

  • 前言🚀🚀🚀
  • 一. alias命令介绍
  • 二. 语法格式及常用选项
  • 三. 参考案例
    • 3.1 查看系统已经存在的别名
    • 3.2 设置别名的操作
    • 3.3 取消别名
    • 3.4 alias的全局生效和当前用户生效
  • 四. 使用命令的注意事项
  • 总结

前言🚀🚀🚀

想要学好Linux,命令是基本功,企业中常用的命令大约200多个,不管是写shell脚本还是管理操作系统,最常用的命令必须要牢牢掌握,像我们以前学乘法口诀一样,烂熟于心,唯有如此,才能打牢基础。
💓 知识最重要的是记忆
💓 入门须知: 想要人生从容,必须全力以赴,努力才是你最终的入场券🚀🚀🚀
💕 最后: 努力成长自己,愿我们都能在看不到的地方闪闪发光 ,一起加油进步🍺🍺🍺

一. alias命令介绍

alias命令用来设置指令的别名。

作用: 我们可以使用该命令可以将一些较长的命令进行简化。

使用alias时,用户必须使用单引号 ‘ ‘ 将原来的命令引起来,防止特殊字符导致错误。

alias命令的作用只局限于该次登入的操作,相当于临时变量。

若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件 /etc/bashrc中。

二. 语法格式及常用选项

先来查看一下帮助文档

[root@mufenggrow ~]# help alias
alias: alias [-p] [名称[=值] ... ]定义或显示别名。不带参数时, `alias' 以可重用的格式`alias 名称=值'在标准输出设备上打印别名列表。否则,对于每个给定值的名称定义一个别名。值末尾的空格会使下一个词被检测作为别名替换展开。选项:-p	以可重用的格式打印所有的已定义的别名退出状态:除非一个没有定义的名字被作为参数提供,否则 alias 返回值为真。

可以看到alias只有一个-p参数

在这里插入图片描述

接下来,我们进行案例的测试:

三. 参考案例

3.1 查看系统已经存在的别名

linux操作系统中,默认预设了一些拥有别名的命令,我们可以使用alias -p进行查看:

[root@mufenggrow ~]# alias -p
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@mufenggrow ~]# 

可以看到,系统中cp -i的别名是cp,也就意味着我们执行cp命令和执行cp -i是一样的。

-i参数通常的是英文 --interactive 的缩写,常见释义如下:

在这里插入图片描述
在我们使用一些危险的命令的时候,比如rm命令删除,有交互提示是否删除,肯定是最保险的选择,所以默认带有i参数。

3.2 设置别名的操作

一些比较长的命令,我们习惯上使用别名,操作会更简单一点。

[root@mufenggrow ~]# alias vimnet='grep IPADDR /etc/sysconfig/network-scripts/ifcfg-ens32 '
[root@mufenggrow ~]# vimnet
#IPADDR=192.168.1.101

可以看到,我们设置了别名后,可以直接执行别名,就可以获得想要的信息。

3.3 取消别名

取消别名我们使用的命令是unalias. unalias命令是是为shell内建命令。

如果需要取消任意一个命令别名,则使用该命令别名作为指令的参数选项即可。

如果使用-a选项,则表示取消所有已经存在的命令别名。

我们查看下这个命令的帮助文档:

[root@mufenggrow ~]# help unalias 
unalias: unalias [-a] 名称 [名称 ...]从别名定义列表中删除每一个“名字‘。选项:-a	删除所有的别名定义.返回成功,除非“名字“不是一个已存在的别名

可以看到,只有一个-a参数

在这里插入图片描述

接下来我们取消下刚才执行的命令:

[root@mufenggrow ~]# unalias vimnet
[root@mufenggrow ~]# vimnet
bash: vimnet: 未找到命令...

可以看到取消完之后,就不会再有原来的命令了。

3.4 alias的全局生效和当前用户生效

对当前用户生效的配置文件在: ~/.bashrc
对所有用户生效的文件在 /etc/bash.rc

先来看看对当前用户生效的时候
在配置文件 ~/.bashrc中添加以下内容:

alias vimnet=‘cat /etc/passwd |wc -l’

在这里插入图片描述

执行查看结果:

[root@mufenggrow ~]# source .bashrc[root@mufenggrow ~]# vimnet 
44

在当前用户可以执行,换成其他用户测试:

mufenggrow ~]# su - mufeng
[mufeng@mufenggrow ~]$ vimnet
bash: vimnet: 未找到命令...
[mufeng@mufenggrow ~]$ 

发现切换到其他用户则无法执行。

接下来,我们切换成全局变量来设置并测试:

在配置文件 /etc/bashrc中进行设置:

[root@mufenggrow ~]# vim /etc/bashrc
在这里插入图片描述
设置完成后,我们进行测试,测试前先要source一下:

[root@mufenggrow ~]# source /etc/bashrc

在root中执行:

[root@mufenggrow ~]# vimnet 
45

以上结果表示在root中可以执行。接下来我们到普通用户mefeng中进行测试:

@mufenggrow ~]# su - mufeng
上一次登录:三 1月 18 12:32:57 CST 2023pts/0 上
[mufeng@mufenggrow ~]$ vimnet 
45
[mufeng@mufenggrow ~]$ 

可以看到在普通用户中也可以执行,说明设置的全局变量生效了。

四. 使用命令的注意事项

别名虽好,但也有它的弊端,比如定义的别名恰好和某个命令重名了,这就麻烦了,Shell 中执行的将永远都是别名。

如果我们想执行真正的那个命令而非别名,该怎么办呢?有三种方法可以解决这个问题:
方案一:使用命令的绝对路径。
方案二:切换到命令所在的目录,执行./command。
方案三:在命令前使用反斜线(\)。

这里仅显示ifconfig命令:

## 设置别名
[root@mufenggrow ~]# alias  ifconfig='ls'
## 执行命令发现执行的是别名
[root@mufenggrow ~]# ifconfig
anaconda-ks.cfg  initial-setup-ks.cfg  公共  模板  视频  图片  文档  下载  音乐  桌面
## 加上反斜杠来解决只能执行别名的情况
[root@mufenggrow ~]# \ifconfig
ens32: flags=4163  mtu 1500inet 192.168.1.101  netmask 255.255.255.0  broadcast 192.168.1.255inet6 fe80::d524:3f3e:45ed:79c3  prefixlen 64  scopeid 0x20ether 00:0c:29:07:39:cc  txqueuelen 1000  (Ethernet)RX packets 662509  bytes 959496840 (915.0 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 178133  bytes 12980086 (12.3 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

总结

💕💕💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!✨ ✨ ✨
🍻🍻🍻如果你喜欢的话,就不要吝惜你的一键三连了~

请添加图片描述
在这里插入图片描述

相关内容

热门资讯

明十三陵概况及神道导游词 明十三陵概况及神道导游词  明十三陵位于北京市昌平区北部天寿山下,因明代迁都北京后,有十三位皇帝埋葬...
九华山导游词作文400字 九华山导游词作文400字  以下是九华山的导游词作文400字范文,希望对大家有帮助!  篇一:九华山...
绍兴兰亭风景区导游词 绍兴兰亭风景区导游词  作为一名乐于助人的导游,常常需要准备导游词,导游词具有极强的实用性,涉及的知...
天下第一宫—黄帝... 天下第一宫—黄帝宫游览区导游词  作为一位兢兢业业的旅游从业人员,总不可避免地需要编写导游词,导游词...
导游词之大九湖 导游词之大九湖  我们今天游览的是被称其为湖北的“呼伦贝尔”的大九湖风景区,大九湖并非湖,而是一片沼...
上饶三清山导游词 上饶三清山导游词(通用9篇)  作为一名乐于助人的导游,通常需要用到导游词来辅助讲解,导游词具有形象...
洪崖丹井导游词 洪崖丹井导游词3篇  作为一名尽职尽责的导游,编写导游词是必不可少的,导游词具有注重口语化、精简凝练...
沈阳新乐遗址导游词 关于沈阳新乐遗址导游词范文  新乐文化遗址位于沈阳市皇姑区黄河北大街北运河北岸黄土高台之上,1977...
西山导游词 西山导游词(15篇)  作为一名专门为游客提供优质服务的导游人员,编写导游词是必不可少的,导游词具有...
介绍北京的导游词 介绍北京的导游词(通用10篇)  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游客交流思想...
小小三峡导游词 小小三峡导游词(精选8篇)  作为一位兢兢业业的旅游从业人员,通常需要准备好一份导游词,导游词由引言...
烟台海昌鲸鲨馆导游词 烟台海昌鲸鲨馆导游词3篇  篇一:烟台海昌鲸鲨馆导游词  来到鲸鲨馆门前,别具一格的螺状建筑展现在眼...
神农架导游词 神农架导游词推荐  神农架于1986年经国务院批准为国家级森林和野生动物自然保护区。  神农架区为湖...
云南九乡导游词 云南九乡导游词  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游客交流思想,向游客传播文化...
五台山殊像寺导游词 五台山殊像寺导游词  导语:对五台山的殊像寺,导游会怎样解说?下面是小编整理的五台山殊像寺导游词,欢...
孝感董永公园导游词 孝感董永公园导游词  董永公园位于孝感市,国家AAAA级旅游景区,位于孝感市城区槐荫大道东段,距武汉...
拜将台的导游词 拜将台的导游词  我们现在就来到了拜将台。拜将台作为汉初三遗址之一,它坐落在汉中城南,是刘邦拜韩信为...
庐陵文化生态园导游词 庐陵文化生态园导游词  庐陵文化生态园位于江西省吉安市吉州区城北、赣江之滨,整个公园是利用螺子山山体...
玉林都峤山导游词 玉林都峤山导游词  作为一位尽职的导游,可能需要进行导游词编写工作,导游词可以加深游客对景点的印象,...
山西省榆次常家庄园简介导游词 山西省榆次常家庄园简介导游词  常家庄园位于榆次西南东阳镇车辋村,距榆次17.5公里。车辋由四个小自...