举例说明 alias 和 unalias 命令
创始人
2024-03-02 01:07:34
0

如果不是一个命令行重度用户的话,过了一段时间之后,你就可能已经忘记了这些复杂且冗长的 Linux 命令了。当然,有很多方法可以让你 回想起遗忘的命令。你可以简单的 保存常用的命令 然后按需使用。也可以在终端里 标记重要的命令,然后在任何时候你想要的时间使用它们。而且,Linux 有一个内建命令 history 可以帮助你记忆这些命令。另外一个记住这些如此长的命令的简便方式就是为这些命令创建一个别名。你可以为任何经常重复调用的常用命令创建别名,而不仅仅是长命令。通过这种方法,你不必再过多地记忆这些命令。这篇文章中,我们将会在 Linux 环境下举例说明 aliasunalias 命令。

alias 命令

alias 使用一个用户自定义的字符串来代替一个或者一串命令(包括多个选项、参数)。这个字符串可以是一个简单的名字或者缩写,不管这个命令原来多么复杂。alias 命令已经预装在 shell(包括 BASH、Csh、Ksh 和 Zsh 等) 当中。

alias 的通用语法是:

alias [alias-name[=string]...]

接下来看几个例子。

列出别名

可能在你的系统中已经设置了一些别名。有些应用在你安装它们的时候可能已经自动创建了别名。要查看已经存在的别名,运行:

$ alias

或者,

$ alias -p

在我的 Arch Linux 系统中已经设置了下面这些别名。

alias betty='/home/sk/betty/main.rb'
alias ls='ls --color=auto'
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
alias update='newsbeuter -r && sudo pacman -Syu'

创建一个新的别名

像我之前说的,你不必去记忆这些又臭又长的命令。你甚至不必一遍一遍的运行长命令。只需要为这些命令创建一个简单易懂的别名,然后在任何你想使用的时候运行这些别名就可以了。这种方式会让你爱上命令行。

$ du -h --max-depth=1 | sort -hr

这个命令将会查找当前工作目录下的各个子目录占用的磁盘大小,并按照从大到小的顺序进行排序。这个命令有点长。我们可以像下面这样轻易地为其创建一个 别名:

$ alias du='du -h --max-depth=1 | sort -hr'

这里的 du 就是这条命令的别名。这个别名可以被设置为任何名字,主要便于记忆和区别。

在创建一个别名的时候,使用单引号或者双引号都是可以的。这两种方法最后的结果没有任何区别。

现在你可以运行这个别名(例如我们这个例子中的 du )。它和上面的原命令将会产生相同的结果。

这个别名仅限于当前 shell 会话中。一旦你退出了当前 shell 会话,别名也就失效了。为了让这些别名长久有效,你需要把它们添加到你 shell 的配置文件当中。

BASH,编辑 ~/.bashrc 文件:

$ nano ~/.bashrc

一行添加一个别名:

保存并退出这个文件。然后运行以下命令更新修改:

$ source ~/.bashrc

现在,这些别名在所有会话中都可以永久使用了。

ZSH,你需要添加这些别名到 ~/.zshrc文件中。Fish,跟上面的类似,添加这些别名到 ~/.config/fish/config.fish 文件中。

查看某个特定的命令别名

像我上面提到的,你可以使用 alias 命令列出你系统中所有的别名。如果你想查看跟给定的别名有关的命令,例如 du,只需要运行:

$ alias du
alias du='du -h --max-depth=1 | sort -hr'

像你看到的那样,上面的命令可以显示与单词 du 有关的命令。

关于 alias 命令更多的细节,参阅 man 手册页:

$ man alias

unalias 命令

跟它的名字说的一样,unalias 命令可以很轻松地从你的系统当中移除别名。unalias 命令的通用语法是:

unalias 

要移除命令的别名,像我们之前创建的 du,只需要运行:

$ unalias du

unalias 命令不仅会从当前会话中移除别名,也会从你的 shell 配置文件中永久地移除别名。

还有一种移除别名的方法,是创建具有相同名称的新别名。

要从当前会话中移除所有的别名,使用 -a 选项:

$ unalias -a

更多细节,参阅 man 手册页。

$ man unalias

如果你经常一遍又一遍的运行这些繁杂又冗长的命令,给它们创建别名可以节省你的时间。现在是你为常用命令创建别名的时候了。

这就是所有的内容了。希望可以帮到你。还有更多的干货即将到来,敬请期待!

祝近祺!


via: https://www.ostechnix.com/the-alias-and-unalias-commands-explained-with-examples/

作者:SK 选题:lujun9972 译者:dianbanjiu 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不一致的严格类型别名规则
在 TypeScript 中,严格类型别名规则要求类型别名不能引用...
2025-01-11 09:00:09
不一致的NumPy数组别名...
在NumPy中,如果给一个数组创建一个别名,对别名进行的操作会影响...
2025-01-11 08:30:31
不同类型的浅拷贝【已解决:...
不同类型的浅拷贝可以通过别名和拷贝两种方式来实现。别名(Alias...
2025-01-09 08:01:34
不同ID但相同类别的Bea...
在Spring框架中,如果有多个相同类别的Bean但具有不同的ID...
2025-01-09 03:31:31
不同的别名模板可以解决跨库...
不同的别名模板可以解决跨库潜在的ODR(One Definitio...
2025-01-08 12:01:57
不同别名语法的含义是什么,...
要解决这个问题,我们可以使用以下两个示例别名来演示它们的含义和字符...
2025-01-08 08:30:55

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...