bash 别名(alias)只不过是指向命令的快捷方式而已。
-- Nixcraft
本文导航
◈ bash alias 的那些事
03%
◈ 如何列出 bash 别名
04%
◈ 如何定义或者创建一个 bash shell 别名
06%
◈ 如何临时性地禁用 bash 别名
09%
◈ 如何删除 bash 别名
11%
◈ 如何让 bash shell 别名永久生效
14%
◈ 关于特权权限判断
18%
◈ 定义与操作系统类型相关的别名
19%
◈ 30 个 bash shell 别名的案例
21%
◈ #1:控制 ls 命令的输出
22%
◈ #2:控制 cd 命令的行为
24%
◈ #3:控制 grep 命令的输出
26%
◈ #4:让计算器默认开启 math 库
28%
◈ #4:生成 sha1 数字签名
29%
◈ #5:自动创建父目录
29%
◈ #6:为 diff 输出着色
30%
◈ #7:让 mount 命令的输出更漂亮,更方便人类阅读
32%
◈ #8:简化命令以节省时间
33%
◈ #9:创建一系列新命令
34%
◈ #10:设置 vim 为默认编辑器
35%
◈ #11:控制网络工具 ping 的输出
36%
◈ #12:显示打开的端口
37%
◈ #13:唤醒休眠的服务器
38%
◈ #14:控制防火墙 (iptables) 的输出
41%
◈ #15:使用 curl 调试 web 服务器 / CDN 上的问题
46%
◈ #16:增加安全性
47%
◈ #17:更新 Debian Linux 服务器
49%
◈ #18:更新 RHEL / CentOS / Fedora Linux 服务器
52%
◈ #19:优化 sudo 和 su 命令
54%
◈ #20:使用 sudo 执行 halt/reboot 命令
54%
◈ #21:控制 web 服务器
56%
◈ #22:与备份相关的别名
59%
◈ #23:桌面应用相关的别名 - 按需播放的 avi/mp3 文件
66%
◈ #24:设置系统管理相关命令的默认网卡
70%
◈ #25:快速获取系统内存,cpu 使用,和 gpu 内存相关信息
75%
◈ #26:控制家用路由器
78%
◈ #27:wget 默认断点续传
80%
◈ #28:使用不同浏览器来测试网站
82%
◈ #29:关于 ssh 别名的注意事项
84%
◈ #30:现在该分享你的别名了
86%
◈ 总结
92%
编译自 | https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html
作者 | Nixcraft
译者 | lujun9972
bash别名alias只不过是指向命令的快捷方式而已。 命令允许用户只输入一个单词就运行任意一个命令或一组命令(包括命令选项和文件名)。执行 命令会显示一个所有已定义别名的列表。你可以在~/.bashrc
[1]
文件中自定义别名。使用别名可以在命令行中减少输入的时间,使工作更流畅,同时增加生产率。
本文通过 30 个 bash shell 别名的实际案例演示了如何创建和使用别名。
bash alias 的那些事
bash shell 中的 alias 命令的语法是这样的:
如何列出 bash 别名
输入下面的alias 命令
[2]
:
结果为:
命令默认会列出当前用户定义好的别名。
如何定义或者创建一个 bash shell 别名
使用下面语法创建别名
[3]
:
举个例子,输入下面命令并回车就会为常用的 (清除屏幕)命令创建一个别名 :
然后输入字母 而不是 后回车就会清除屏幕了:
如何临时性地禁用 bash 别名
下面语法可以临时性地禁用别名
[4]
:
如何删除 bash 别名
使用unalias 命令来删除别名
[5]
。其语法为:
例如,删除我们之前创建的别名 :
你还需要用文本编辑器删掉~/.bashrc 文件
[1]
中的别名定义(参见下一部分内容)。
如何让 bash shell 别名永久生效
别名 在当前登录会话中依然有效。但当你登出或重启系统后,别名 就没有了。为了防止出现这个问题,将别名定义写入~/.bashrc file
[1]
中,输入:
输入下行内容让别名 对当前用户永久有效:
保存并关闭文件就行了。系统级的别名(也就是对所有用户都生效的别名)可以放在 文件中。请注意, 命令内建于各种 shell 中,包括 ksh,tcsh/csh,ash,bash 以及其他 shell。
关于特权权限判断
可以将下面代码加入 :
定义与操作系统类型相关的别名
可以将下面代码加入使用 case 语句
[6]
:
30 个 bash shell 别名的案例
你可以定义各种类型的别名来节省时间并提高生产率。
#1:控制 ls 命令的输出
ls 命令列出目录中的内容
[7]
而你可以对输出进行着色:
#2:控制 cd 命令的行为
#3:控制 grep 命令的输出
grep 命令是一个用于在纯文本文件中搜索匹配正则表达式的行的命令行工具
[8]
:
#4:让计算器默认开启 math 库
#4:生成 sha1 数字签名
#5:自动创建父目录
mkdir 命令
[9]
用于创建目录:
#6:为 diff 输出着色
你可以使用 diff 来一行行第比较文件
[10]
而一个名为 的工具可以为 diff 输出着色:
#7:让 mount 命令的输出更漂亮,更方便人类阅读
#8:简化命令以节省时间
#9:创建一系列新命令
#10:设置 vim 为默认编辑器
#11:控制网络工具 ping 的输出
#12:显示打开的端口
使用netstat 命令
[11]
可以快速列出服务区中所有的 TCP/UDP 端口:
#13:唤醒休眠的服务器
Wake-on-LAN (WOL) 是一个以太网标准
[12]
,可以通过网络消息来开启服务器。你可以使用下面别名来快速激活 nas 设备
[13]
以及服务器:
#14:控制防火墙 (iptables) 的输出
Netfilter 是一款 Linux 操作系统上的主机防火墙
[14]
。它是 Linux 发行版中的一部分,且默认情况下是激活状态。这里列出了大多数 Liux 新手防护入侵者最常用的 iptables 方法
[15]
。
#15:使用 curl 调试 web 服务器 / CDN 上的问题
#16:增加安全性
#17:更新 Debian Linux 服务器
apt-get 命令
[16]
用于通过因特网安装软件包 (ftp 或 http)。你也可以一次性升级所有软件包:
#18:更新 RHEL / CentOS / Fedora Linux 服务器
yum 命令
[17]
是 RHEL / CentOS / Fedora Linux 以及其他基于这些发行版的 Linux 上的软件包管理工具:
#19:优化 sudo 和 su 命令
#20:使用 sudo 执行 halt/reboot 命令
shutdown 命令
[18]
会让 Linux / Unix 系统关机:
#21:控制 web 服务器
#22:与备份相关的别名
#23:桌面应用相关的别名 - 按需播放的 avi/mp3 文件
#24:设置系统管理相关命令的默认网卡
vnstat 一款基于终端的网络流量检测器
[19]
。dnstop 是一款分析 DNS 流量的终端工具
[20]
。tcptrack 和 iftop 命令显示
[21]
TCP/UDP 连接方面的信息,它监控网卡并显示其消耗的带宽。
#25:快速获取系统内存,cpu 使用,和 gpu 内存相关信息
#26:控制家用路由器
命令可以用来重启 Linksys 路由器
[22]
。
#27:wget 默认断点续传
GNU wget 是一款用来从 web 下载文件的自由软件
[23]
。它支持 HTTP,HTTPS,以及 FTP 协议,而且它也支持断点续传:
#28:使用不同浏览器来测试网站
#29:关于 ssh 别名的注意事项
不要创建 ssh 别名,代之以 这个 OpenSSH SSH 客户端配置文件。它的选项更加丰富。下面是一个例子:
然后你就可以使用下面语句连接 server10 了:
#30:现在该分享你的别名了
总结
本文总结了 *nix bash 别名的多种用法:
☉ 为命令设置默认的参数(例如通过 设置 ethtool 命令的默认参数为 eth0)。
☉ 修正错误的拼写(通过 让 变成 )。
☉ 缩减输入。
☉ 设置系统中多版本命令的默认路径(例如 GNU/grep 位于 中而 Unix grep 位于 中。若想默认使用 GNU grep 则设置别名 )。
☉ 通过默认开启命令(例如 , 等其他命令)的交互参数来增加 Unix 的安全性。
☉ 为老旧的操作系统(比如 MS-DOS 或者其他类似 Unix 的操作系统)创建命令以增加兼容性(比如 )。
我已经分享了多年来为了减少重复输入命令而使用的别名。若你知道或使用的哪些 bash/ksh/csh 别名能够减少输入,请在留言框中分享。
via:https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html
作者:nixCraft
[24]
译者:lujun9972校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出
LCTT 译者
lujun9972
共计翻译:73篇
贡献时间:52 天
领取专属 10元无门槛券
私享最新 技术干货