Linux Bash Alias 教程 :处理别名命令

举报
Tiamo_T 发表于 2022/02/06 16:21:08 2022/02/06
【摘要】 别名命令是用一个文本替换另一个文本的简单字符串,当它用作简单命令的第一个单词时。 在本文中,让我们了解一下如何永久和临时设置/取消设置 bash 别名。让我们还回顾一些可以在 bash 启动文件中使用的有用 bash 别名示例。

别名命令是用一个文本替换另一个文本的简单字符串,当它用作简单命令的第一个单词时。

在本文中,让我们了解一下如何永久和临时设置/取消设置 bash 别名。让我们还回顾一些可以在 bash 启动文件中使用的有用 bash 别名示例。


如何设置别名

可以使用以下语法在命令行、.bash_profile 或 .bashrc 中定义别名:

$ alias name='unix command with options'
  • alias - 是一个内置的 shell
  • name – 任何用户定义的别名的简单名称。
  • command – 任何 unix 命令,可能带有选项。

这意味着 name 是命令的别名。每当将 name 作为命令键入时,bash 将替换相应的命令及其位置的选项。

注意:等号两边都没有空格。如果被别名的字符串包含多个单词,则需要在 command 周围加上引号。


在命令行中执行此命令使其成为临时别名。也就是说,此别名在您退出 shell 之前可用。将别名存储在 bash 启动文件中使其成为永久别名。

以下别名可能有用。您可以在 ~/.bashrc 文件中设置这些别名。

最常见的别名示例

以下别名可供您立即使用。你最喜欢的别名是什么?

在 vim 中打开最后修改的文件

alias Vim="vim `ls -t | head -1`"

查找前 5 个大文件

alias findbig="find . -type f -exec ls -s {} \; | sort -n -r | head -5"

用于 bash 进程的 Grep

alias psg="ps -aux ¦ grep bash"

列表包括带有指示器和颜色的隐藏文件

alias ls='ls -aF --color=always'

长格式列表

alias ll='ls -l'

清除所有历史记录和屏幕

alias hcl='history -c; clear'

使基本命令具有交互性和详细性

alias cp="cp -iv"      # interactive, verbose
alias rm="rm -i"      # interactive
alias mv="mv -iv"       # interactive, verbose
alias grep="grep -i"  # ignore case

易于使用的常用命令的别名

alias x="exit"

清屏并列出文件

alias cls='clear;ls'

文件系统磁盘空间使用

alias dus='df -h'

导航到不同的目录

alias ..='cd ..'
alias ...='cd ../..'


应为您的环境修改的别名示例

本节提供的别名示例在使用前应根据您的环境进行修改。

删除火狐锁

alias rm_fire_lock='/bin/rm .mozilla/firefox/NAME.default/.parentlock' # edit NAME

使用 loginname 通过 ssh 登录到远程机器

alias server_name='ssh 192.168.1.1 -l tom' # change the ip & user name
alias ser2='ssh www.dbserver.com -l kgf' # create as many alias as required.

登录远程 cvs 服务器

export CVS_RSH=/usr/local/bin/ssh
alias cvl='cvs -d :ext:username@cvs.server.com:/usr/local/cvsroot'  # change required.

卸载 cdrom

alias umnt='umount /mnt/cdrom'  # cdrom / thumb drive.

如何查看所有别名

执行不带参数的别名以查看在 shell 中设置的别名列表。

$ alias
alias ..='cd ..'
alias ...='cd ../..'
alias mnt='mount /mnt/cdrom'
alias umnt='umount /mnt/cdrom'
alias dus='df -h'

要查看特定别名,请输入格式为“alias aliasname”的命令,如下所示。

$ alias dus
alias dus='df -h'

如何暂时停止使用别名

当您想调用命令而不是别名时,您必须对其进行转义并调用。

$ \aliasname

例如,别名 cp=”cp -iv” 将询问您是否要覆盖文件。当您复制大量您已经知道要覆盖的文件时,这可能会很烦人。可能您可能想暂时使用常规 cp 命令而不是 cp 别名。

因此,如果存在别名 cp,但您想改用 cp 命令,请暂时转义别名,如下所示:

\cp * /backup/files/

如何删除别名

unalias 是用于删除别名的内置 shell。要删除特定别名:

$ unalias hcl
	where unalias is a shell built-in.
	mnt is an alias name.
$ hcl
-bash: hcl: command not found

如何删除所有别名

unalias 带有 -a 选项,删除所有别名。

$ unalias -a
$ alias

注意:Shell 函数更快。别名在函数之后查找,因此解析速度较慢。虽然别名更容易理解,但对于几乎所有用途,shell 函数都优于别名。您应该非常小心地将标准命令替换为别名或函数。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。