我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell alias给命令设置别名的实现方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Shell alias给命令设置别名的实现方法

给命令设置别名,你可以把它当作命令的"小名",但是这样做有什么意义呢?

比如笔者刚接触 linux 时,使用的编辑器是 Vi,但是现在 Vim 的功能明显比 Vi 的功能更加强大,所以现在流行的编辑器变成了 Vim。但是笔者已经习惯了输入 vi 命令,而不习惯输入 vim 命令,别看小小的一个"m"的区别,在执行命令时总觉得别扭,这时别名就可以起作用了。只要定义 vim 命令的别名为 vi,这样以后执行的 vi 命令实际上运行了的是 vim 命令。

命令格式:


[root@localhost ~]# alias
#查询命令别名
[root@1ocalhost ~] # alias 别名='原命令'
#设定命令别名

例如:


[root@localhost ~]# alias
#查询系统中已经定义好的别名
alias cp='cp -i'
alias l='ls -d .* --color=auto'
alias ll='ls -1 --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@localhost ~]# alias vi='vim' #定义vim命令的别名是vi
[root@localhost ~]# alias
#重新查询别名
alias cp='cp -i'
alias l.='ls -d .* --color=auto'
alias ll='ls -1 --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias vi='vim'
#别名已经生效
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

大家需要注意一点,命令别名的优先级要高于命令本身。所以,一旦给 vim 命令设置了别名 vi,那么原始的 vi 命令就不能使用了。所以,除非你确定原命令是不需要的,否则别名不能和系统命令重名。再举个例子:


[root@localhost ~]# alias sto='/usr/local/apache2/bin/apachectl stop'
[root@localhost ~]# alias sta='/usr/local/apache2/bin/ apachectl start'

我们在配置和使用 apache 时,需要不断地重启 apache 服务。这时定义"sta"为 apache 启动命令的别名,"sto"为 apache 停止命令的别名,可以有效地加快 apache 服务的重启速度。

当然,前提是已经确定了系统中没有"sta"和"sto"命令,所以这两个别名不会覆盖系统命令。那么如何确定系统中没有"sta"和"sto"命令呢?还记得 whereis 和 which 命令吗?另外,使用 Tab 键命令补全功能也能够确定是否有这两个命令。

既然我们说别名的优先级比命令高,那么命令执行时具体的顺序是什么呢?命令执行时的顺序是这样的:
第一顺位执行用绝对路径或相对路径执行的命令。
第二顺位执行别名。
第三顺位执行 Bash 的内部命令。
第四顺位执行按照 $PATH 环境变量定义的目录査找的第一条命令。

别名就是这样简单,不过如果我们使用命令定义别名,那么这个别名只是临时生效,一旦注销或重启系统,这个别名就马上消失了。为了让这个别名永久生效,可以把别名写入环境变量配置文件 ~/.bashrc 中。命令如下:


[root@localhost ~】# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias vi='vim'
alias sto='/usr/local/apache2/bin/apachectl stop' alias sta='/usr/local/apache2/bin/apachectl start'
#Source global definitions
if [ -f /etc/bashrc ];then
./etc/bashrc
fi

这样,GfztQaEN这些别名就可以永久生效了。那么,环境变量配置文件又是什么呢?所谓环境变量配置文件,顾名思义,就是用来定义我们的操作环境的,别名当然也是操作环境,我们会在后续章节详解介绍这个文件的作用。

设定好的别名可以删除吗?只要执行 unalias命令 就可以方便地删除别名,命令如下:


[root@localhost ~]# unalias vi

当然,如果确定要删除别名,则也要删除环境变量配置文件中的相关项才可以。

到此这篇关于Shell alias给命令设置别名的实现方法的文章就介绍到这了,更多相关Shell alias命令设置别名内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell alias给命令设置别名的实现方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell alias给命令设置别名的实现方法

给命令设置别名,你可以把它当作命令的"小名",但是这样做有什么意义呢? 比如笔者刚接触 linux 时,使用的编辑器是 Vi,但是现在 Vim 的功能明显比 Vi 的功能更加强大,所以现在流行的编辑器变成了 Vim。但是笔者已经习惯了输入
2022-06-04

Shell alias怎么给命令设置别名的方法

本篇内容主要讲解“Shell alias怎么给命令设置别名的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell alias怎么给命令设置别名的方法”吧!给命令设置别名,你可以把它当作命
2023-06-09

Mac终端给命令设置别名alias的办法

在Mac里使用curl https://www.google.com,运行后得不到期望看到的google首页的HTML source code。vi ~/.bashrc, 输入下面两行内容。以后每次用jcurl, 即自动执行别名alias定
2023-06-06

Shell中的命令别名、命令历史和命令替换的方法

命令别名可以使用jBVntwfRLj alias 命令查看和修改命令别名。 下面是一个查看系统中命令别名的示例:$ alias alias alert='notify-send --urgency=low -i "$([ $ = 0 ] &
2022-06-04

Linux系统 为命令配置别名的方法

什么是别名 在管理和维护linux系统的过程中,将会使用到大量命令,有一些很长的命令或用法经常被用到,重复而频繁的输入某个很长命令或用法是不可取的。这时可以使用 别名 功能将这个过程简单化。 Linux系统下 有的命令 如 rm cp m
2022-06-04

shell命令返回值判断的方法实现

目录1.判断命令是否存在优雅方法1优雅方法2优雅方法32.返回错误退出1.||exit退出2.使用-e3.set-e3.返回错误提示一般方法:优雅方法1.判断命令是否存在 优雅方法1 首先,检查命令是否有效的惯用方法直接在if语句中。 if
2022-06-05

hive-shell批量命令执行脚本的实现方法

如下所示:#!/usr/bin/bash HADOOP_HOME="/opt/module/cdh-5.3.6-ha/hadoop-2.5.0-cdh5.3.6" HIVE_HOME='/opt/module/cdh-5.3.6-ha/hi
2022-06-04

Vite配置路径别名的简单实现方法

Vite项目中我们可以手动将src路径设置**@**路径别名,可以省下很多引入路径的冗余路径,下面这篇文章主要给大家介绍了关于Vite配置路径别名的简单实现方法,需要的朋友可以参考下
2023-05-14

webpack5 import动态导入实现按需加载并给文件统一命名的配置方法

这篇文章主要介绍了webpack5 import动态导入实现按需加载并给文件统一命名的配置,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-21

Linux 中shell脚本设置开头固定格式的实现方法

linux 之shell脚本设置开头固定格式 每次进入shell都要设置开头,很麻烦,现修改vim配置文件即可。[root@node01 ~]vim .vimrc 将下列内容复制进文件set ignorecase
2022-06-04

Shell脚本批量重命名文件后缀的3种实现方法介绍

本篇内容主要讲解“Shell脚本批量重命名文件后缀的3种实现方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本批量重命名文件后缀的3种实现方法介绍”吧!需求:家目录下有一些sq
2023-06-09

shell命令实现当前目录下多个文件合并为一个文件的方法

当前目录下多个文件合并为一个文件 1、将多个文件合并为一个文件没有添加换行符find ./ -name "iptv_authenticate_201801*" | xargs cat > iptv_authenticate.txt2、设置换
2022-06-04

编程热搜

目录