在 Linux 中使用 alias 命令提高效率

众所周知,Linux 和 Unix 是作为基于命令行的系统创建的,这意味着控制输入的命令基本上是成为 *nix 的最重要的事情 系统操作.

这就是“别名”命令出现的地方,它非常有用,尤其是出于安全目的和简化系统管理员的工作。

Linux别名命令

贝壳 别名 只是一种引用另一个命令的方法。 它可用于避免重复长键入命令和 shell 行并简化工作,甚至使事情变得更安全或防哑。

举个简单的 example 您必须使用 ls 命令以逆时间顺序显示所有内容。 您可以一直输入 ls -lrta 或者创建一个别名(比如)’ll’,它等同于 ls -lrta。 它将为您节省几个按键。

以类似的方式,您可以通过在 Linux 中使用别名来将长而复杂的命令替换为小而简单的命令。

让我们看看怎样在 Linux 中创建别名。

怎样在 Linux 中创建别名

我会继续同样的 example 我上面用过。

alias ll="ls -lrta"

您必须注意以下几点:

  • 替换命令总是在引号 (‘) 下使用。
  • alias 命令中的等号前后不能有空格。 如果你错误地输入了一个空格,你会看到这样的错误 找不到别名.
  • 选择别名时要小心。 没有保留关键字,因此您可以用完全不相关的命令替换现有命令。

您可以使用 type 命令检查某个命令是否实际上是别名。 为了 example, 在 Ubuntu 中, ls 实际上是一个别名,用于向您展示彩色输出。

type ls
ls is aliased to `ls --color=auto'

如果您想使用没有别名版本的原始命令,请在其周围使用单引号。

现在,您只是临时的别名。 如果退出 shell,您将丢失别名。 您需要使别名永久。

使别名永久

为了添加可以一直在系统中工作的别名,您只需编辑您的用户(或任何其他用户)的 .bashrc 文件。 某些发行版可能会建议使用专用的 .bash_aliases 文件来存储别名。

此文件位于您的 /home// 文件夹中。 您可以使用 vim 命令在终端中编辑文件。

[email protected]:~$ vim ~/.bashrc

这将立即打开您的 .bashrc 文件,您必须在文件末尾开始添加别名,就在文件的最后一行之后。 然后,您应该获取 bashrc 文件。

source ~/.bashrc

我建议为每个创建的别名创建块或至少在文件中添加注释,以便将来更容易了解维护目的的每件事。

为所有用户创建全局别名

如果您希望 Linux 系统上的所有用户都可以使用这些别名,您应该在 /etc/ 中添加别名bash.bashrc 文件。

如果您没有此文件,请创建它。

怎样查看 Linux 系统上为您设置的所有别名

如果你想为你查看系统上设置的所有别名,你可以检查你的 shell 的配置文件,如 ~/.bashrc、~/.zshrc 等。

但是,查看所有别名的一种更简单的方法是简单地运行不带任何参数的 alias 命令。

alias

默认情况下,典型的 Ubuntu 系统具有以下别名设置。

alias
alias alert="notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e "''s/^s[0-9]+s//;s/[;&|]s*alert$//''')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l="ls -CF"
alias la="ls -A"
alias ll="ls -lrt"
alias ls="ls --color=auto"

怎样删除别名

如果要删除别名,可以按以下方式使用 unalias 命令:

unalias your_alias_name

您可以使用 -a 选项一次删除所有别名:

unalias -a

与 alias 命令一样,unalias 命令的更改也是临时的。 如果您想永久删除别名,您应该从 bashrc 文件中删除它。

我在 Linux 中最喜欢的别名我不能没有

让我分享一些我经常用来在 Linux 中更有效地工作的别名。

1. 让“rm”更安全

众所周知,rm 命令每天都非常常用,如果使用不当,也会对系统造成非常大的破坏和破坏。

这就是为什么我使用以下别名:

#make rm command safer
alias rm="rm -i" 

这使得“rm”命令更安全,因为无论何时使用它,它都会在继续之前询问您是否确定要执行臭名昭著的删除操作,为您提供第二次也是最后一次机会,不会无意中破坏事物。

2. 使ssh到其他系统更容易、更快捷

有时,尤其是当您使用私钥而不是凭据登录到其他 Linux 系统时,使用助记名称为每个系统设置别名会更容易。

作为 SysOp,我使用 SSH 登录到不同的 Linux 服务器,并且我有几个私钥,具体取决于我的客户端,因此它可以帮助我使用别名,例如:

#alias for servers SSH
alias sshserver1='ssh -i ~/Documents/IT/SSH-keys/server1.pem [email protected]'
alias sshserver2='ssh -i ~/Documents/SSH-keys/server2.pem [email protected]'
alias sshplexserverhome="ssh [email protected]"
alias sshclientserver="ssh -i ~/Documents/IT/SSH-keys/client.pem [email protected]"

如您所见,我将所有私钥都放在我自己用户文件夹中名为“SSH-keys”的文件夹中,然后我只需按照“ssh”+“服务器名称”的标准创建别名来连接每个私钥”。

这样我只需要记住我想要连接的服务器的名称,而不是密钥所在的位置、每个密钥的名称(如果它们不同)甚至每个服务器连接时需要使用的用户名。

3. 显示日常事务的时间或日期

有些人要么因为他们编写使用特定时间的脚本,要么需要查询时间和/或日期并希望使用特定格式,可以通过执行以下操作来获得别名的一些好处:

alias nowtime="date +"%T"" #this will show the current time in 24hrs format as HH:MM:SS
alias nowdate="date +"%d-%m-%Y"" #this will show the current date in format dd-MM-YY

4.轻松管理你的iptables信息

让我们面对现实吧:iptables 或 nftables 不是世界上最简单也最友好的东西,即使它不难,第一次处理它也不是那么容易。 这就是为什么使用这些别名可以让事情变得更容易:

#Displaying iptables information the easy way :)
alias iptlist="sudo /sbin/iptables -L -n -v --line-numbers" #this will display all lines of your current iptables
alias iptlistin='sudo /sbin/iptables -L INPUT -n -v --line-numbers' #this will display all your INCOMING rules in iptables
alias iptlistout="sudo /sbin/iptables -L OUTPUT -n -v --line-numbers" #this will display all your OUTGOING rules in iptables

5. 用一个命令更新基于 Debian 的服务器

我自己使用 Ubuntu,但您可以将其调整为任何 Red Hat、CentOS 服务器和“yum”命令。 在 Debian/Ubuntu 上,可以通过如下别名在单个命令中更新服务器:

# update on one command
alias update="sudo apt-get update && sudo apt-get upgrade"

6. 添加别名以运行别名 sudo

您不能使用别名运行 sudo 默认情况下。 如果要使用 root 访问权限运行别名命令,则必须使用以下命令创建别名 sudo 像这样:

sudo='sudo '

结论

如您所见,这完全取决于您的工作和您的创造力,但您基本上可以花时间根据日常任务的需要创建尽可能多的别名,并通过使用这个有用的“别名”命令使它们更容易Linux。