1. 程式人生 > >用大寫字母輸入 Linux 命令,實現以 sudo 使用者許可權執行

用大寫字母輸入 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」獲取最新最全的技術資料,回覆「入群」進入高手如雲技術交流群。

相關推薦

大寫字母輸入 Linux 命令實現 sudo 使用者許可權執行

我們知道,一些 Linux 命令是要通過 sudo 許可權才能執行的,這需要我們每次使用這些命令時在前面加一個 sudo ,十分繁瑣。今天給大家介紹一個好用的工具 SUDO ,它只需要我們用大寫字母鍵入 Linux 命令,然後它就會自動地以 sudo 許可權執行,非常方便不是嗎? 安裝 SUDO 首先,使

C#根據輸入字符串輸出大寫字母有幾個小寫字母有幾個

串接 輸出大寫字母 main void 一個 adl ring static char s static void Main(string[] args) { // 根據用戶輸入字符串,輸出大寫字母有幾個,小寫字母有幾個。 Conso

linuxscript及mkfifo命令實現屏幕共享

run 指定 nmp iso 同時 flush linux管理 mkfifo manage script命令 當你在終端或者控制臺工作時,你可能想要記錄在終端中所做的一切。 這些記錄可以用來當作史料,保存終端所發生的一切。 scirpt就是一個命令,可以制作一份記錄輸出到終

Python寫一段程式碼實現接收使用者輸入兩個的數字並輸出數字相加後的結果要求使用者輸入任何內容程式不會報錯

分別採用基礎方法和異常處理方法實現。 基礎方法程式碼如下: num1 = input('請輸入數字1:') if num1.strip() == '': print('輸入錯誤。') exit() elif num1[0] != '.': for

程式來控制一個網頁實現自動輸入等操作

附:看到有朋友自己弄的時候出錯了,所以我做了兩個demo,一個excel版,另一個c#版,有需要的朋友可以到文章最後下載參考一下。另外,文章改了一些疏漏。首先今天要說的東西跟遊戲無關,你是不是有時候會遇到,在某個網頁上重複著幾十次的簡單而又無聊的錄入或點選等工作?比如你的程式

java執行Linux命令支援萬字元(*)

java執行linux或者windows命令,這個需求比較常見。 但是若使用  Runtime.getRuntime().exec(cmd); 會發現,若cmd中含有萬用字元,則無法執行,如cp  /dira/*.txt /dirb 可用如下方式執行: String[]

java寫檔案輸入輸出流實現複製貼上的方法

java中檔案輸入輸出流是FileInputStream和FileOutputStream,檔案輸入流從檔案系統中的某個檔案中獲得輸入位元組,然後可以用輸出流將資料寫入檔案中。 首先建立兩個流的物件: FileInputStream的構造方法有三種過載方式,常用的是F

linux實現按鍵直接輸入(無按enter)

termios的實現中,有大量的引數設定,還有偽終端的說法。原因就在於當初UNIX發明時,(上世紀七十~八十年代),在美國,西歐大學裡面用的都是大型機加客戶終端,學生們用的是串列埠方式與大型機進行交流,通訊。所以,當時很多軟體的設計都是針對這種情況而開發的。包括termio

java工程師linux命令這篇文章就夠了

sep 實戰 reads href 改變 sig 腳本 喜歡 這樣的 精彩內容推薦 一套java架構師學習資源,等你拿 你所需要的大數據視頻教程 微服務資源springboot、springcloud、docker、dubbo項目實戰等傾心分享 shell簡介

Java 呼叫Linux 命令並獲取命令執行結果

1.工具類 public class ExcuteLinux { public static String exeCmd(String commandStr) { String result = null; try { St

switch,case 輸入一個數字輸出相對應的福娃的名字

package p1; import java.util.Scanner; /**     auther:xiuran-hua      function:用switch,case 輸入一個數字,輸出相對應的福娃的名字  

[轉載]verilog寫一段程式碼實現消除一個glitch

  濾掉小於1個週期glitch的原理圖如下:   verilog程式碼實現如下: module digital_filter_(clk_in,rst,host_rst,host_rst_filter); input clk_in; input rst; i

運維請注意:10個“非常危險”的Linux命令果斷收藏!

計算機作業系統是管理計算機軟硬體資源的一個平臺,沒有它,任何計算機都無法正常執行,市面上主流的作業系統有Windows、Unix、Linux、Mac OS X。 這裡主要說一下Linux系統,Linux是一個類Unix的開源版作業系統,主要有以下幾個特點: 開放式作業系統 Linu

whois、nslookup、dig發 黑客必備linux命令

whois 查詢域名註冊資訊 注意域名是不帶www的 whois baidu.com 解析出來的東西比較多,個人感覺比較有用的是這些,這個是名字伺服器,我們訪問www.baidu.com 的時候百度使用這些伺服器將我們的url轉換成固定IP去訪問百度的資源,後面

常用Linux命令記錄一下避免搞忘記!

系統資訊  arch 或 uname -m 顯示機器的處理器架構 uname -r 顯示正在使用的Linux核心版本號 cat /proc/cpuinfo (Linux檢視cpu相關資訊,包括型號、主頻、核心資訊等) lsb_release -a 或 cat /etc/redh

使用Qt Creator作為Linux IDE實現Redis原始碼編譯和斷點除錯

2、原始碼準備 我們解壓原始碼,先使用gcc編譯,主要的目的是把deps庫編譯出來 [[email protected] redis_study]# chmod -R 777 re

Python開發PDF編輯器實現PDF頁面提取頁面合併與替換

大多數PDF軟體閱讀服務是免費的,但是如果你想編輯一個PDF文件,比如從一個PDF文件中提取指定頁面,合併多個PDF頁面或者實現PDF頁面的替換,你一般需要購買收費軟體才可以。這當然難不倒程式設計師們,尤其Python程式設計師們。今天小編我就帶你利用Django+PyPDF2開發一個比較實用的小A

echarts關係圖formatter方法實現同名節點的渲染

echarts關係圖的配置中,有兩個關鍵的資料,data與links,我們在製作關係圖的時候,data陣列中,節點名稱name必須唯一,否則echarts會丟擲 “Cannot set property 'dataIndex' of undefined”的錯誤。但有時我們偏偏需要出現兩個同名的節

shell 之 tee 命令實現重定向到檔案的同時仍能 通過管道 (|)傳給接下來的命令

在下面的命令中 tee 收到來自 stdin 的資料 ,它將 收到的資料 一份副本寫入檔案 out.txt ,同時將另一份副本作為後續命令的 stdin ,cat -n 將從stdin 中接收到的每一行資料加上行號並 寫入 stdout . $cat a* | tee ou

java封裝FFmpeg命令支援原生ffmpeg全部命令實現FFmpeg多程序處理與多執行緒輸出控制(開啟、關閉、查詢)rtsp/rtmp推流、拉流

前言: 之前已經對FFmpeg命令進行了封裝http://blog.csdn.net/eguid_1/article/details/51787646,但是當時沒有考慮到擴充套件性,所以總體設計不是太好,需要改動的地方也比較多,也不支援原生ffmpeg命令,所以本次版本推翻