15 个命令行别名,节省您的时间

一些别名默认包含在您安装的 Linux 发行版中。
318 位读者喜欢此文章。
3 text editor alternatives to Emacs and Vim

opensource.com

Linux 命令行别名非常适合帮助您更高效地工作。更好的是,一些别名默认包含在您安装的 Linux 发行版中。

这是 Fedora 27 中命令行别名的示例

default alias fedora.png

命令 alias 显示现有别名的列表。 设置别名就像键入一样简单

alias new_name="command"

以下是 15 个命令行别名,可节省您的时间

  1. 安装任何实用程序/应用程序

    alias install="sudo yum install -y"

    在此,sudo-y 是可选的,具体取决于用户的偏好

    install alias.png
  2. 更新系统

    alias update="sudo yum update -y"

  3. 升级系统

    alias upgrade="sudo yum upgrade -y"

  4. 切换到 root 用户

    alias root="sudo su -"

  5. 切换到“用户”,其中“用户”设置为您的用户名

    alias user="su user"

  6. 显示所有可用端口、其状态和 IP 的列表

    alias myip="ip -br -c a"

  7. ssh 到服务器 myserver

    alias myserver="ssh user@my_server_ip"

  8. 列出系统中所有进程

    alias process="ps -aux"

  9. 检查任何系统服务的状态

    alias sstatus="sudo systemctl status"

  10. 重新启动任何系统服务

    alias srestart="sudo systemctl restart"

  11. 按名称终止任何进程

    alias kill="sudo pkill"

    kill process alias.png
  12. 显示系统的总已用和可用内存

    alias mem="free -h"

  13. 显示系统的 CPU 架构、CPU 数量、线程等

    alias cpu="lscpu"

  14. 显示系统的总磁盘大小

    alias disk="df -h"

  15. 显示当前系统 Linux 发行版(对于 CentOS、Fedora 和 Red Hat)

    alias os="cat /etc/redhat-release"

    system_details alias.png

29 条评论

alias 非常挑剔的一件事是,在别名名称和等号之间,或者在等号和命令开头的引号之间,都不能有任何空格。

这是 bash,而不是 alias 本身。 别名只是一种特殊的 bash 变量,在编写带有 vars 的脚本时也必须小心空格。

回复 作者:Greg P

对于第 7 个,我发现一个更有用的方法是将短名称添加到您的 ~/.ssh/config 文件中。 这样,短名称可以与所有 ssh 相关工具(如 scp、rsync 等)一起使用。 您还可以在个人缩短的主机基础上添加默认用户交换。

我相信 install 已经是一个 posix 命令。

“kill”也是。

回复 作者:Tyler Christian (未验证)

是的,kill 也是,所以我不会推荐这些别名。

此外,恕我直言,别名应该简短:键入“process”或“ps -aux”哪个更有效率?
两者都是 7 个字符长,不包括制表符补全 :)

回复 作者:Tyler Christian (未验证)

我同意 kill 和 install 可能有点问题,至于短别名,我想选择那些可以被初学者轻松使用和记住的别名,学习不同的命令对于新的 linux 用户来说可能是一个挑战

回复 作者:Ricardo J. Barberis

或者

alias updg="for ops in update upgrade; do sudo apt $ops -y; done;

很好!! 感谢分享 :)

回复 作者:Carlos91 (未验证)

非常有帮助...

Bash 函数比别名灵活得多。 特别是,别名不能接受参数。

一些具体的挑剔

alias root="sudo su -"

我会使用“sudo -i”。

alias myserver="ssh user@my_server_ip"

后缀“_ip”似乎意味着使用 IP 地址而不是 DNS 名称。 很少有理由这样做。

alias kill="sudo pkill"

“kill”已经是内置的 shell 命令。 将其别名化为使用 sudo 的东西是灾难的根源。 如果您想要“sudo pkill”,您可能应该直接键入“sudo pkill”。

这些别名中的几个用于我宁愿直接键入的命令。 当然,这会因人而异。

我也同意其中大多数看起来既危险又过头。 你为什么要将使用 sudo 的东西别名化为不使用 sudo? 此外,如果他们是系统管理员,每个人都应该学习/了解这些命令。

无意关闭 OP,只是我的看法。

回复 作者:Keith Thompson (未验证)

> “kill”已经是内置的 shell 命令。 将其别名化为使用 sudo 的东西是灾难的根源。 如果您想要“sudo pkill”,您可能应该直接键入“sudo pkill”。

您不能再正确了 - 对于初学者(即,实际上使用别名的人,因为他们通常在同一主机上),当绝望的 `kill -9 $PID` 没有任何作用时,这将更加令人困惑...

回复 作者:Keith Thompson (未验证)

正确,我必须说 kill 和 install 是一些有问题的别名,所以我只会将它们更改为其他东西。 此外,如果像我这样的经验丰富的用户正在别名 sudo,那么我知道后果并会相应地使用它

回复 作者:Gray

最后一个应该是 /etc/os-release,它适用于任何发行版。

当您有不同的软件包管理器时,这是否会潜在地发生冲突? 即,使用 flatpak 从 flathub 安装软件包

flatpak install flathub org.gnome。

将变成

flatpak sudo yum install -y flathub org.gnome。

正确,它会发生冲突,所以也许我会将 install 别名更改为类似 sinstall(软件安装)或 ainstall 或其他任何东西

回复 作者:Nathan Blaubach

我不建议对现有函数(如 `kill`)使用别名 - 这会破坏预期的功能:`which kill` 打印了忘记别名的用户想要调用的路径,但它不是实际调用的内容,因此,除非用户记得检查 `alias`,否则当 `kill -9 $PID` 没有效果时,会出现一些混淆。

我同意,也许我会将它更改为其他内容,以便它不会与现有的内置命令发生冲突

回复 作者:Gray

“ip -br -c a”应该做什么?

我尝试了它,但看到
“选项“-br”未知,请尝试“ip -help”。

-br 代表 brief

以下是“ip”命令的手册页条目
-br,-brief
仅以表格格式打印基本信息以获得更好的
可读性。 此选项目前仅受 ip addr 支持
显示和 ip link show 命令。

回复 作者:Gary

当我在 bash 中运行一个别名时,它工作正常。 但是,当我将所有别名输入到一个可执行文件“#!/bin/bash”中时,没有创建任何别名。 有什么提示吗?

当您运行脚本 ex- "./alias.sh" 时,它会在子 shell 中执行,您需要使用 "source alias.sh" 运行它,以便脚本所做的更改应用于当前 env

回复 作者:leder11011 (未验证)

是否有任何 casual 发行版,其中 policykit 未设置为允许普通用户“systemctl reboot”?

Creative Commons 许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.