本文最后更新于 2019-07-16【1695 天前】,文中所描述的信息可能已发生改变,请谨慎使用。如有问题或建议,欢迎在文章底部留言参与讨论!

在 Linux 环境下工作的工程师,一定会对那些繁琐的指令和参数命令行印象深刻吧。而且,可怕的不是繁琐,而是需要大量重复输入这些繁琐的命令,但我们可以利用命令别名来提高效率!

在 Linux 下我们有个别名命令 alias ,可以将那些繁琐的命令自定义为我们容易记住的别名,可以大大提高我们的效率。

但是,alias 命令只对当前终端有效,当终端关闭之后,我们所设置的别名全部失效。所以如果想让这些别名永久有效,我们就需要将它们添加到 .bash_profile 或者 .bashrc 文件里。

本文整理一些非常实用的命令别名,帮助你提高工作效率!

奇淫技巧

一般人情况下我们定义别名都是这样定义的:

alias n='echo "HelloWorld"' 

现在教大家一个更加 666 的定义方法,保证体现出水平,展现不一样的风格:

alias n='f(){echo $1;};f'

这其实相当于定义了一个函数 f,并且在末尾调用它,看到$1了么?这样定义的别名可以传参!!

高能预警,下图的这个别名是千万不能用的!
Linux alias rm rf

自建回收站

Linux 下没有回收站,用 rm 删除之后可就真的没有了,不过我们可以用别名来伪造一个回收站出来,以减少意外事故的发生。

alias rm='move1(){ /bin/mv -S `date +_%Y%m%d_%H%M%S` -f $@ ~/.backup/; };move1 $@'

上述别名,是把原来的 rm 操作变成 mv 到 ~/.backup ,这样就相当于把 ~/.backup 当成了回收站,使用之前需创建对应的文件夹 mkdir -p ~/.backup

列出所有文件

ll 命令想必是 Linux 中使用频率最高的命令之一了,其实 ll 命令默认是 ls -l --color=auto 的别名,系统默认就有的,不需要自己定义,但它不够好用,我们可以自定义一个
推荐理由:方便,llla 是使用频率比较高的

alias ll='ls -lht'  # 按修改时间逆序列出文件
alias la='ls -lhta' # 按修改时间逆序列出所有文件

查看文件/目录大小

当你磁盘空间满了想找出大文件此命令简直是神器!
推荐理由:快速查看文件占用大小,路径修改方便,默认当前目录

alias size='f(){ du -sh $1* | sort -hr; }; f'
# 用法
## size   # 默认查看当前目录大小
## size / # 查看当前根目录大小

查找文件

有时候传一个文件到Linux上,但不知道文件跑哪儿去了,这个命令特别有用!

alias sek='f(){ find / -name $1; }; f'   # 在根目录查找文件
alias sekc='f(){ find ./ -name $1; }; f' # 在当前目录查找文件

快速关闭开放/关闭端口

当你要开放某个端口又不想查繁琐的 iptables 命令,此别名就非常有用了。
推荐理由:快速开放端口,不要查询繁琐 iptables 命令,必须传端口号

alias portopen='f(){ /sbin/iptables -I INPUT -p tcp --dport $1 -j ACCEPT; }; f'
alias portclose='f(){ /sbin/iptables -I INPUT -p tcp --dport $1 -j DROP; }; f'
# 用法:
## portopen 8080       # 打开 8080 端口
## portclose 8080      # 关闭 8080 端口

临时开启 HTTP 服务

当你需要在某目录下载文件或快速访问 html 的时候,你需要它!如果访问不了需要看看端口是否开放!

alias www='f(){ python -m SimpleHTTPServer $1; }; f'
# 用法:
## www       #不传端口,默认8000
## www 8080  #8080端口开启HTTP服务

查看开机启动项

其实这个命令用的应该不多,主要是这个命令太长了。。。

alias auto='systemctl list-unit-files --type=service | grep enabled | more'

查看当前时间

Linux下 默认查看时间是 date 命令,可它返回的时间格式却不太输入:Tue Jul 16 18:03:32 CST 2019,让它格式化输出后好看点~

alias now='date "+%Y-%m-%d %H:%M:%S"'
## 直接调用之后回显:2019-07-16 18:04:23

解压

用过 zip 命令的都知道它有一个兄弟叫 unzip,可是 tar 和 jar 没有。压缩包文件,特别是 tar 文件在 Linux 下使用非常广泛,但是 tar 命令的选项又非常多,也不好记住。所以我们可以将常用的几个选项定义为一个别名 untar ,这样我们需要解压 tar 文件时,直接 untar filename 即可。

alias untar='tar -zxvf '
alias unjar='jar -zxvf '

断点下载

我们下载一个很大的文件时,突然网络异常中断了,我们重新下载是不是很抓狂?别担心,我们的 wget 命令有个 -c 选项,支持断点下载,我们也可以将它设置为别名:

alias wget='wget -c '

随机密码

有时我们需要生成一个 20 个字符的随机数密码,我们可以使用 openssl 命令,但完整的命令又很长很不方便,我们可以设置别名:

alias getpass="openssl rand -base64 20"

文件校验

下载一个文件之后,我们想要校验一下它的 checksum 值,可以将这个命令封装为一个别名 sha ,之后我们 sha filename 就可以校验文件的 checksum 值。

alias sha='shasum -a 256 '

有限次 ping

正常情况下,ping 命令将无限次输出,但其实没多大意义。我们可以使用 -c 命令将其限制为 5 次输出,然后设置为别名 ping ,使用时,ping url 即可。

alias ping='ping -c 5'

网络测速

网速的测试在工作中也经常用到,但 Linux 没有自带命令可用,我们可以借助第三方工具 speedtest-cli 。这个工具可以直接从 Github 上下载,使用方法里面也有详细介绍。我们需要先使用 speedtest-cli 命令来选择离我们最近的服务器,然后设置如下别名:

alias speed='speedtest-cli --server 2406 --simple'

查看 IP

你的公网 IP 是多少?记性好的可以直接背下来,但如果你有 10 台上百台服务器呢?也可以背下来,然后参加最强大脑。其实有个命令可以直接查询,但那个命令太变态,不好记,果断设置为别名。

alias ipe='curl ipinfo.io/ip'

如何知道自己的局域网 IP ?这个命令同样变态,果断设置别名。

alias ipi='ipconfig getifaddr en0'

清屏

我们可以使用 ctrl + l 快捷键,也可以将 clear 命令定义得更短,这样使用起来更直接,更粗暴。

alias c='clear'

推荐别名为 cls 和 Windows 保持一致

最后

设置好这些别名之后,千万不要忘记启用:source ~/.bashrc,这些命令你不一定完全都用得上,因为大家使用 Linux 的方向不一样,工作内容不一样。在你的工作领域也一定有大量复杂繁琐的命令可以定义为别名,善用 alias,提高工作效率吧!

文章目录


推荐使用:阿里云 云翼计划学生优惠、ECS、轻量应用等产品与服务【 点击注册

本文作者:Quanyin Tang

本文链接:利用 Linux alias 命令别名提高工作效率 - https://www.imtqy.com/linux-alias.html

版权声明:如无特别声明,本文即为原创文章,仅代表个人观点,版权归 Quanyin 所有,未经允许禁止转载,经授权转载请注明出处!