您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux中alias命令怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
設置簡短的別名,相當于縮短命令,方便操作
alias [-p] [name[=value] ...]
簡化較長的命令。
定義一個或多個別名。
修改一個或多個已定義別名的值。
顯示一個或多個已定義別名。
顯示全部已定義的別名。
-p:顯示全部已定義的別名。
name(可選):指定要(定義、修改、顯示)的別名。
value(可選):別名的值。
alias返回true除非您要顯示的別名未定義。
# 顯示全部已定義的別名 alias alias -p # 顯示已定義的別名(假設當前環境存在以下別名) alias ls alias ls grep # 定義或修改別名的值 alias ls='ls --color=auto' alias ls='ls --color=never' grep='grep --color=never'
直接在shell里設定的命令別名,在終端關閉或者系統重新啟動后都會失效,如何才能永久有效呢?
使用編輯器打開~/.bashrc
,在文件中加入別名設置,如:alias rm=’rm -i’,保存后執行source ~/.bashrc
,這樣就可以永久保存命令的別名了。
因為修改的是當前用戶目錄下的~/.bashrc
文件,所以這樣的方式只對當前用戶有用。如果要對所有用戶都有效,修改/etc/bashrc
文件就可以了。
請注意,以下內容可能與您實際使用的系統有出入:
在CentOS7下,這個文件是
/etc/bash.bashrc
。此外在CentOS7下,細看~/.bashrc
文件,會發現有這樣一段代碼:if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi這個代碼的意思就是如果存在那么就加載
.bash_aliases
文件,所以也可以在用戶根目錄下新建該文件用于單獨存放命令別名設置。
要顯示的別名未定義。
當您定義(修改)別名的值的時候,由于值的字符串有空格但您沒有用單引號擴起,那么會導致嚴重的問題:
# 為方便演示,刪除全部別名 unalias -a # 沒有用單引號擴起 alias rm=rm -rf # 執行命令后報錯 bash: alias: -rf: not found # 這時使用alias查看rm的別名時返回 alias rm='rm'
# 更具有迷惑性的例子 # 為方便演示,刪除全部別名 unalias -a # 仍然沒有用單引號括起 alias ls=ls --color=never # 執行命令后看起來沒有報錯 # 使用alias查看全部別名會發現運行結果如下: # alias --color=never # alias ls='ls' # alias處理時將它們看成了兩組
Q:如果我要顯示一到多個別名,但不知道其中是否有未定義的該怎么辦?
A:正常執行就是了,alias不會因為有一個未定義的別名就結束對剩余參數的執行。
Q:如果我這么定義alias cd='ls' ls='cd'
,會有什么后果?
A:運行cd依然會切換目錄,運行ls依然會列出文件夾的內容;不要這樣定義。
執行腳本時請注意:
使用
source
命令執行的bash腳本如果執行了alias
或unalias
命令,那么有可能會對終端環境的別名設置產生影響;終端環境的別名設置也可能改變運行結果;通過
sh
方式調用的bash腳本或直接運行當前用戶有執行權限的腳本不受終端環境的別名影響。
刪除別名,請查看unalias
命令。
建議您不要對mv cp rm
等命令的別名設置危險的-f
選項,比如alias rm='rm -f'
。
需要注意別名是否和其他命令有沖突的情況。
該命令是bash內建命令,相關的幫助信息請查看help
命令。
關于“Linux中alias命令怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。