良许 · 2019年11月20日

用大写字母输入 Linux 命令,实现以 sudo 用户权限运行

我们知道,一些 Linux 命令是要通过 sudo 权限才能运行的,这需要我们每次使用这些命令时在前面加一个 sudo ,十分繁琐。今天给大家介绍一个好用的工具 SUDO ,它只需要我们用大写字母键入 Linux 命令,然后它就会自动地以 sudo 权限运行,非常方便不是吗?

安装 SUDO

首先,使用 Git clone 命令下载 SUDO 源码。

$ git clone https://github.com/jthistle/SUDO.git

上面的命令会自动克隆 SUDO Git 仓库中的内容,并保存在当前路径下名为 SUDO 的目录中。

Cloning into 'SUDO'...
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 42 (delta 17), reused 30 (delta 12), pack-reused 0
Unpacking objects: 100% (42/42), done.

然后,我们再切换到 SUDO 目录。

$ cd SUDO/

再使用以下命令安装 SUDU 工具。

$ ./install.sh

上面的命令会在 ~/.bashrc 文件中添加以下信息。

[...]
# SUDO - shout at bash to su commands
# Distributed under GNU GPLv2, @jthistle on github

shopt -s expand_aliases

IFS_=${IFS}
IFS=":" read -ra PATHS <<< "$PATH"

for i in "${PATHS[@]}"; do
    for j in $( ls "$i" ); do
        if [ ${j^^} != $j ] && [ $j != "sudo" ]; then
            alias ${j^^}="sudo $j"
        fi        
    done
done

alias SUDO='sudo $(history -p !!)'

IFS=${IFS_}

# end SUDO

为了防止意外情况发生,它还会自动备份 ~/.bashrc 并将其保存为 ~/.bashrc.old ,以便于意外发生时可以恢复。

最后,使用以下命令生效对 ~/.bashrc 文件的更改。

$ source ~/.bashrc

输入大写字母的命令,以 sudo 用户运行

一般来说,在根目录下创建目录时,我们需要在命令前使用 sudo ,如下:

$ sudo mkdir /test_dir

安装 SUDO 后,对于需要使用 sudo 的命令我们可以直接用大写的形式实现相同的效果,如下所示。

$ MKDIR /test_dir
$ TOUCH /ostechnix/test.txt
$ LS /ostechnix

注意,SUDO 不会绕过 sudo 密码,我们仍然需要输入 sudo 密码才能执行给定的命令。

当然,如果你觉得在命令前面输入 sudo 也完全可以接受,你也可以不使用SUDO 工具,只要你自己用得舒服就好。
-----------------

我是良许,世界500强外企 Linux 开发工程师,专业生产 Linux 干货。欢迎关注我的公众号「良许Linux」,里面分享了 Linux入门、基础、进阶 等系列教程,同时也有 Git、Vim、开源项目 等技术干货。公众号后台回复「1024」获取最新最全的技术资料,回复「入群」进入高手如云技术交流群。

推荐阅读
关注数
0
文章数
13
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息