用大寫字母輸入 Linux 命令,實現以 sudo 用戶許可權運行

来源:https://www.cnblogs.com/yychuyu/archive/2019/11/20/11898152.html
-Advertisement-
Play Games

我們知道,一些 Linux 命令是要通過 sudo 許可權才能運行的,這需要我們每次使用這些命令時在前面加一個 sudo ,十分繁瑣。今天給大家介紹一個好用的工具 ,它只需要我們用大寫字母鍵入 Linux 命令,然後它就會自動地以 sudo 許可權運行,非常方便不是嗎? 安裝 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」獲取最新最全的技術資料,回覆「入群」進入高手如雲技術交流群。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • System.Net.Mail.SmtpClient發送郵件,當附件名包含中文且附件名超過41個utf8 byte時,會錯誤的進行2次編碼導致亂碼。 ...
  • 1、前言 當前,前後端分離大行其道,我本人之前不少項目也是純前後端分離,但總有些場景,春前後端分離整起來比較痛苦,比如我手頭這個公眾號項目吧,它涉及到第三方鑒權,第三方憑證,以及微信憑證這些,都不適合放到前端去做,外加一些本身業務層面的認證授權,這些終歸是放服務端處理合適一些的。另一層面原因,是不想 ...
  • #!/bin/bash# 學生管理系統# @version 1.0 #設置全局變數##學生信息和學院信息#學院相關變數school_num=""school_name="" #學生相關變數stu_num=""stu_name=""stu_des="" #成績相關變數course=""score="" ...
  • "點我查看秘籍連載" 進程基礎 程式和進程 什麼是程式?什麼是進程?程式和進程之間的關係?相信在任何介紹進程基礎的地方都會解釋一下程式和進程之間的關係,這是一個常識性的知識。 單獨來看程式和進程,它們的概念都非常的簡單。粗略去看,程式是一個或多個文件,進程是操作系統上能做某些事情的東西。 更標準一點 ...
  • 一、添加資料庫數據: 1、修改Excel表格,添加欄位 2、修改資料庫,添加欄位 3、修改程式 4、使用Excel生成Tabletotable文件,並修改生成文件的內容。 (1)刪除cpp文件所有的H131_L2_; (2)刪除cpp文件中HANDLE_CSP_ALL::checkStructLen ...
  • 前言 本篇文章主要介紹的是Nginx Linux環境和Windows的安裝教程。 Nginx 介紹 Nginx("engine x")是一款是由俄羅斯的程式設計師Igor Sysoev所開發高性能的 Web和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。 HTTP基礎功能: ...
  • 近日因測試安全產品需要,想調整mariadb的啟動用戶為root, 經歷一番波折後終於成功! 註意:以root身份啟動mysql是一項非常危險行為,相當於給了資料庫操作用戶(資料庫管理員或黑客)一個通過mysql對系統直接操作的通道! 實際上是官方不允許root啟動的, 因此在一般啟動方式下root ...
  • 輕量級監控平臺之cpu監控腳本 !/bin/bash 進程監控腳本 功能需求: 上報機器的硬體層面 cpu負載數據 . /etc/profile . ~/.bash_profile pushurl="https://lightmonitorapi.test.cn/push/cpuload" 抓取cp ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...