一般來說,sudo會忽略通過.bashrc文件、.bash_aliases文件或者alias命令設置的別名命令(aliased commands)。
比如,我們經常將ll用作ls -lh命令的別名。然后,我們輸入ll,終端將會返回一個關于當前目錄的長列表。但是,當我們輸入sudo ll時,終端將會返回:
$sudoll
=>sudo:ll:commandnotfound
解決方案
我們給shutdown命令創建一個別名,當普通用戶運行的時候嘗試輸入這個別名去關機,我們可以看到系統不會關機。想要運行/sbin/shutdown需要root權限,然而sudo會完全忽略shutdown的這個別名。解決辦法是,我們需要添加另一個別名:
aliassudo='sudo'
sudo后面的那個空格將會告訴bash,去檢查跟在空格后面的命令是否也是一個別名。bash手冊(通過man bash查看)上面是這么描述的:
If the last character of the alias value is a blank, then the next command word following the alias is also checked for alias expansion. 如果別名值的最后一個字符是空格,將會檢查”跟在別名后的下一個命令”是否也是別名擴展。
下面是我機器.bash_aliases文件中的一些別名設置:
#Shortcuts
aliasll='ls-lh'
aliasla='ls-lhA'
aliasl='ls'
aliasc='clear'
aliasx='exit'
aliasq='exit'
#Don'trunshutdownifrtorrentisrunning-aslongasthere'sascreenwith"tor"initsname,shutdownwon'trun(unlessyoucall/sbin/shutdown,orunaliasit)
aliasshutdown='/home/james/scripts/safe.shutdown.sh'
#Whenusingsudo,usealiasexpansion(otherwisesudoignoresyouraliases)
aliassudo='sudo'
審核編輯 :李倩
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
原文標題:sudo后使用別名
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
相關推薦
編輯 .bashrc文件,該文件主要用于保存一些個性化的設置,如命令別名、路徑等。
發表于 10-25 15:53
?646次閱讀
)的命令,按F1就會直接彈出幫助。CAD命令別名則有所不同,命令別名輸入后會出現在命令行,需要按回車鍵確認才能執行,比如輸入L后,不按回車鍵的話是不會有任何動作的,按回車鍵后才會執行直
發表于 06-05 17:18
位帶及位帶別名區的關系:位帶是指在存儲區中可以按位操作的地帶;位帶別名區(Bit Band Alias)是指存儲區的另一個區域,該區域中的每1個字與位帶中的1個位一一對應。對位帶區的1個位的操作
發表于 08-10 06:05
?- 用戶列表或已經設置的用戶別名。host_list?- 主機列表或用戶可以在其上運行 sudo 的主機別名。effective_user_list?- 以該用戶或別名運行的用戶列表
發表于 04-02 14:48
?1124次閱讀
udo命令允許您以其他用戶身份運行命令與程序,默認是root用戶。如果您是個命令行用戶,那么sudo是您將經常使用的命令之一。
發表于 12-09 17:46
?2097次閱讀
sudo命令允許您以其他用戶身份運行命令與程序,默認是root用戶。如果您是個命令行用戶,那么sudo是您將經常使用的命令之一。
發表于 12-09 17:47
?5092次閱讀
對于那些不喜歡 sudo 并覺得它臃腫的人,可以嘗試使用幾種 sudo 替代方法。 sudo 可能是最常用的 Linux 命令之一。它允許您在 Linux 機器上獲得管理或提升的權限。 您通常需要
發表于 01-06 10:54
?2074次閱讀
Linux 下面有兩個概念可能大家接觸的比較多,一個是 sudo 命令,還有一個是 root 賬戶。Sudo 命令可以以最高權限執行命令,而 root 賬戶下所有命令都有最高權限,也就是相當于所有命令都默認加了 sudo。
發表于 03-29 09:17
?990次閱讀
在 Linux 系統中,有兩個常用的命令用于切換用戶身份和執行特權操作,它們分別是 su 和 sudo。雖然它們都可以實現權限提升,但在使用方式、安全性和適用場景等方面存在一些區別。本文將介紹 su 和 sudo 命令的區別,以幫助用戶正確選擇和使用這兩個命令。
發表于 08-14 14:14
?296次閱讀
sudo-rs項目則是用 Rust 編寫的 sudo 和 su 的、面向安全和內存安全的實現。官網聲明中顯示,sudo-rs 目前僅針對基于 Linux 的操作系統;運行 sudo-r
發表于 09-01 15:59
?798次閱讀
sudo rm -rf 是一個linux的命令行命令,用于在系統中刪除文件和目錄。sudo表示以管理員權限運行該命令。
發表于 10-24 18:25
?3137次閱讀
來給它固定住。 重新插拔 USB1端口的設備后,變為: 可以看到變成了/dev/ttyUSB2 端口號發生了變化 創建設備別名需要寫一個腳本文件,如下: echo 'KERNEL== "ttyUSB
發表于 11-17 18:07
?740次閱讀
大家在自己實驗服務器上可能不會用到su與sudo命令,因為一直用著root用戶進行操作。
發表于 11-27 09:31
?1167次閱讀
微軟已在 Windows 11 Insider Preview Build 26052 中發布適用于 Windows 的 Sudo,并將其在 MIT 協議下進行開源。
發表于 03-19 09:20
?844次閱讀
一、什么是IP地址別名 IP地址別名是將多個IP地址與一個網絡接口關聯起來的一種方式。實現在網絡上的一個節點可以與網絡建立多個連接,每個連接可以用于不同的用途。 就像在一臺服務器上,可以使用IP地址
發表于 09-05 14:11
?209次閱讀
評論