溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux中alias命令怎么用

發(fā)布時(shí)間:2022-01-21 09:54:21 來(lái)源:億速云 閱讀:217 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Linux中alias命令怎么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

在Linux系統(tǒng)中執(zhí)行一條很長(zhǎng)的命令挺麻煩的,我們可以在.bashrc文件下設(shè)置alias,對(duì)命令設(shè)置簡(jiǎn)短的別名,相當(dāng)于縮短命令,方便操作

Linux中alias命令怎么用

alias

概要

 alias [-p] [name[=value] ...]

主要用途

  • 簡(jiǎn)化較長(zhǎng)的命令。

  • 定義一個(gè)或多個(gè)別名。

  • 修改一個(gè)或多個(gè)已定義別名的值。

  • 顯示一個(gè)或多個(gè)已定義別名。

  • 顯示全部已定義的別名。

選項(xiàng)

 -p:顯示全部已定義的別名。

參數(shù)

name(可選):指定要(定義、修改、顯示)的別名。

value(可選):別名的值。

返回值

alias返回true除非您要顯示的別名未定義。

例子

 # 顯示全部已定義的別名 alias alias -p 
 # 顯示已定義的別名(假設(shè)當(dāng)前環(huán)境存在以下別名) alias ls alias ls grep 
 # 定義或修改別名的值 alias ls='ls --color=auto' alias ls='ls --color=never' grep='grep --color=never'

知識(shí)點(diǎn)

直接在shell里設(shè)定的命令別名,在終端關(guān)閉或者系統(tǒng)重新啟動(dòng)后都會(huì)失效,如何才能永久有效呢?

使用編輯器打開~/.bashrc,在文件中加入別名設(shè)置,如:alias rm=’rm -i’,保存后執(zhí)行source ~/.bashrc,這樣就可以永久保存命令的別名了。

因?yàn)樾薷牡氖钱?dāng)前用戶目錄下的~/.bashrc文件,所以這樣的方式只對(duì)當(dāng)前用戶有用。如果要對(duì)所有用戶都有效,修改/etc/bashrc文件就可以了。

請(qǐng)注意,以下內(nèi)容可能與您實(shí)際使用的系統(tǒng)有出入:

在CentOS7下,這個(gè)文件是/etc/bash.bashrc。此外在CentOS7下,細(xì)看~/.bashrc文件,會(huì)發(fā)現(xiàn)有這樣一段代碼:

 if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi

這個(gè)代碼的意思就是如果存在那么就加載.bash_aliases文件,所以也可以在用戶根目錄下新建該文件用于單獨(dú)存放命令別名設(shè)置。

錯(cuò)誤用法

  • 要顯示的別名未定義。

  • 當(dāng)您定義(修改)別名的值的時(shí)候,由于值的字符串有空格但您沒有用單引號(hào)擴(kuò)起,那么會(huì)導(dǎo)致嚴(yán)重的問題:

 # 為方便演示,刪除全部別名 unalias -a # 沒有用單引號(hào)擴(kuò)起 alias rm=rm -rf # 執(zhí)行命令后報(bào)錯(cuò) bash: alias: -rf: not found # 這時(shí)使用alias查看rm的別名時(shí)返回 alias rm='rm'
 # 更具有迷惑性的例子 # 為方便演示,刪除全部別名 unalias -a # 仍然沒有用單引號(hào)括起 alias ls=ls --color=never # 執(zhí)行命令后看起來(lái)沒有報(bào)錯(cuò) 
 # 使用alias查看全部別名會(huì)發(fā)現(xiàn)運(yùn)行結(jié)果如下: # alias --color=never # alias ls='ls' # alias處理時(shí)將它們看成了兩組

Q&A

Q:如果我要顯示一到多個(gè)別名,但不知道其中是否有未定義的該怎么辦?

A:正常執(zhí)行就是了,alias不會(huì)因?yàn)橛幸粋€(gè)未定義的別名就結(jié)束對(duì)剩余參數(shù)的執(zhí)行。

Q:如果我這么定義alias cd='ls' ls='cd',會(huì)有什么后果?

A:運(yùn)行cd依然會(huì)切換目錄,運(yùn)行l(wèi)s依然會(huì)列出文件夾的內(nèi)容;不要這樣定義。

注意

  1. 執(zhí)行腳本時(shí)請(qǐng)注意:

使用source命令執(zhí)行的bash腳本如果執(zhí)行了aliasunalias命令,那么有可能會(huì)對(duì)終端環(huán)境的別名設(shè)置產(chǎn)生影響;終端環(huán)境的別名設(shè)置也可能改變運(yùn)行結(jié)果;

通過(guò)sh方式調(diào)用的bash腳本或直接運(yùn)行當(dāng)前用戶有執(zhí)行權(quán)限的腳本不受終端環(huán)境的別名影響。

  1. 刪除別名,請(qǐng)查看unalias命令。

  2. 建議您不要對(duì)mv cp rm等命令的別名設(shè)置危險(xiǎn)的-f選項(xiàng),比如alias rm='rm -f'。

  3. 需要注意別名是否和其他命令有沖突的情況。

  4. 該命令是bash內(nèi)建命令,相關(guān)的幫助信息請(qǐng)查看help命令。

 

關(guān)于“Linux中alias命令怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI