欢迎访问生活随笔!

生活随笔

您现在的位置是:首页 > 形式科学 > 操作系统 > Linux

Linux

如何快速以管理员权限运行Linux命令?

发布时间:2022-06-09Linux 系统管理员
今天给大家介绍一个好用的工具 SUDO ,它只需要我们用大写字母键入 Linux 命令,然后它就会自动地以 sudo 权限运行,非常方便不是吗?

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

安装 SUDO

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

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

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

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

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

  1. $ cd SUDO/ 

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

  1. $ ./install.sh 

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

  1. [...] 
  2. # SUDO - shout at bash to su commands 
  3. # Distributed under GNU GPLv2, @jthistle on github 
  4.  
  5. shopt -s expand_aliases 
  6.  
  7. IFS_=${IFS} 
  8. IFS=":" read -ra PATHS <<< "$PATH" 
  9.  
  10. for i in "${PATHS[@]}"; do 
  11.     for j in $( ls "$i" ); do 
  12.         if [ ${j^^} != $j ] && [ $j != "sudo" ]; then 
  13.             alias ${j^^}="sudo $j" 
  14.         fi       
  15.     done 
  16. done 
  17.  
  18. alias SUDO='sudo $(history -p !!)' 
  19.  
  20. IFS=${IFS_} 
  21.  
  22. # end SUDO 

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

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

  1. $ source ~/.bashrc 

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

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

  1. $ sudo mkdir /test_dir 

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

  1. $ MKDIR /test_dir 
  2. $ TOUCH /test_dir/test.txt 
  3. $ LS /test_dir 

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

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