一般來說,sudo會忽略通過.bashrc文件、.bash_aliases文件或者alias命令設(shè)置的別名命令(aliased commands)。
比如,我們經(jīng)常將ll用作ls -lh命令的別名。然后,我們輸入ll,終端將會返回一個關(guān)于當(dāng)前目錄的長列表。但是,當(dāng)我們輸入sudo ll時,終端將會返回:
$sudoll
=>sudo:ll:commandnotfound
解決方案
我們給shutdown命令創(chuàng)建一個別名,當(dāng)普通用戶運(yùn)行的時候嘗試輸入這個別名去關(guān)機(jī),我們可以看到系統(tǒng)不會關(guān)機(jī)。想要運(yùn)行/sbin/shutdown需要root權(quán)限,然而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. 如果別名值的最后一個字符是空格,將會檢查”跟在別名后的下一個命令”是否也是別名擴(kuò)展。
下面是我機(jī)器.bash_aliases文件中的一些別名設(shè)置:
#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'
審核編輯 :李倩
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
原文標(biāo)題:sudo后使用別名
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
相關(guān)推薦
編輯 .bashrc文件,該文件主要用于保存一些個性化的設(shè)置,如命令別名、路徑等。
發(fā)表于 10-25 15:53
?599次閱讀
)的命令,按F1就會直接彈出幫助。CAD命令別名則有所不同,命令別名輸入后會出現(xiàn)在命令行,需要按回車鍵確認(rèn)才能執(zhí)行,比如輸入L后,不按回車鍵的話是不會有任何動作的,按回車鍵后才會執(zhí)行直
發(fā)表于 06-05 17:18
位帶及位帶別名區(qū)的關(guān)系:位帶是指在存儲區(qū)中可以按位操作的地帶;位帶別名區(qū)(Bit Band Alias)是指存儲區(qū)的另一個區(qū)域,該區(qū)域中的每1個字與位帶中的1個位一一對應(yīng)。對位帶區(qū)的1個位的操作
發(fā)表于 08-10 06:05
?- 用戶列表或已經(jīng)設(shè)置的用戶別名。host_list?- 主機(jī)列表或用戶可以在其上運(yùn)行 sudo 的主機(jī)別名。effective_user_list?- 以該用戶或別名運(yùn)行的用戶列表
發(fā)表于 04-02 14:48
?1078次閱讀
udo命令允許您以其他用戶身份運(yùn)行命令與程序,默認(rèn)是root用戶。如果您是個命令行用戶,那么sudo是您將經(jīng)常使用的命令之一。
發(fā)表于 12-09 17:46
?1975次閱讀
sudo命令允許您以其他用戶身份運(yùn)行命令與程序,默認(rèn)是root用戶。如果您是個命令行用戶,那么sudo是您將經(jīng)常使用的命令之一。
發(fā)表于 12-09 17:47
?4885次閱讀
對于那些不喜歡 sudo 并覺得它臃腫的人,可以嘗試使用幾種 sudo 替代方法。 sudo 可能是最常用的 Linux 命令之一。它允許您在 Linux 機(jī)器上獲得管理或提升的權(quán)限。 您通常需要
發(fā)表于 01-06 10:54
?1643次閱讀
Linux 下面有兩個概念可能大家接觸的比較多,一個是 sudo 命令,還有一個是 root 賬戶。Sudo 命令可以以最高權(quán)限執(zhí)行命令,而 root 賬戶下所有命令都有最高權(quán)限,也就是相當(dāng)于所有命令都默認(rèn)加了 sudo。
發(fā)表于 03-29 09:17
?911次閱讀
在 Linux 系統(tǒng)中,有兩個常用的命令用于切換用戶身份和執(zhí)行特權(quán)操作,它們分別是 su 和 sudo。雖然它們都可以實(shí)現(xiàn)權(quán)限提升,但在使用方式、安全性和適用場景等方面存在一些區(qū)別。本文將介紹 su 和 sudo 命令的區(qū)別,以幫助用戶正確選擇和使用這兩個命令。
發(fā)表于 08-14 14:14
?239次閱讀
sudo-rs項(xiàng)目則是用 Rust 編寫的 sudo 和 su 的、面向安全和內(nèi)存安全的實(shí)現(xiàn)。官網(wǎng)聲明中顯示,sudo-rs 目前僅針對基于 Linux 的操作系統(tǒng);運(yùn)行 sudo-r
發(fā)表于 09-01 15:59
?694次閱讀
sudo rm -rf 是一個linux的命令行命令,用于在系統(tǒng)中刪除文件和目錄。sudo表示以管理員權(quán)限運(yùn)行該命令。
發(fā)表于 10-24 18:25
?2613次閱讀
來給它固定住。 重新插拔 USB1端口的設(shè)備后,變?yōu)椋?可以看到變成了/dev/ttyUSB2 端口號發(fā)生了變化 創(chuàng)建設(shè)備別名需要寫一個腳本文件,如下: echo 'KERNEL== "ttyUSB
發(fā)表于 11-17 18:07
?587次閱讀
大家在自己實(shí)驗(yàn)服務(wù)器上可能不會用到su與sudo命令,因?yàn)橐恢庇弥鴕oot用戶進(jìn)行操作。
發(fā)表于 11-27 09:31
?861次閱讀
微軟已在 Windows 11 Insider Preview Build 26052 中發(fā)布適用于 Windows 的 Sudo,并將其在 MIT 協(xié)議下進(jìn)行開源。
發(fā)表于 03-19 09:20
?653次閱讀
一、什么是IP地址別名 IP地址別名是將多個IP地址與一個網(wǎng)絡(luò)接口關(guān)聯(lián)起來的一種方式。實(shí)現(xiàn)在網(wǎng)絡(luò)上的一個節(jié)點(diǎn)可以與網(wǎng)絡(luò)建立多個連接,每個連接可以用于不同的用途。 就像在一臺服務(wù)器上,可以使用IP地址
發(fā)表于 09-05 14:11
?100次閱讀
評論