您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux Bash別名的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
有多少次您在命令行上多次輸入一個長命令,并希望有一種方法將其保存到以后?這就是Bash別名派上用場的地方。它們允許您將長而神秘的命令濃縮成易于記憶和使用的命令。
Bash Alias是一個shell內置命令,可以通過運行以下命令進行確認:
$ type -a aliasalias is a shell builtin
在跳轉和設置別名之前,首先需要看到涉及的配置文件。一個別名可以在“用戶級”或“系統級”中進行設置。
如果調用系統shell,只需在終端鍵入“ alias ”即可查看已定義別名的列表。
$ alias
(檢查已定義Linux別名的列表)
在**.bashrc文件或.bash_aliases文件中定義用戶級別名。該.bash_aliases文件是將所有的別名到一個單獨的文件,而不是把它在的.bashrc文件以及其他參數。剛開始,.bash_aliases**是不可用的,所以必須創建它。
$ ls -la ~ | grep -i .bash_aliases # 檢查文件是否可用$ touch ~/.bash_aliases # 創建一個空的別名文件
(創建Bash別名文件)
打開**.bashrc文件,并注意以下部分。這部分代碼的功用是檢查用戶主目錄下是否存在文件.bash_aliases,**并在每次啟動新的終端會話時將其加載。
# Alias definitions.# You may want to put all your additions into a separate file like# ~/.bash_aliases, instead of adding them here directly.# See /usr/share/doc/bash-doc/examples in the bash-doc package.if [ -f ~/.bash_aliases ]; then . ~/.bash_aliasesfi
你還可以在任何目錄下創建自定義別名文件,并在**.bashrc或.profile中添加定義以加載它。但我不喜歡這樣,個人比較喜歡選擇將所有別名分組在.bash_aliases**下。
當然,你也可以在**.bashrc文件下添加別名。在.bashrc**文件下查找別名部分,其中帶有一些預定義的別名。
# enable color support of ls and also add handy aliasesif [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto'fi# colored GCC warnings and errors#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'# some more ls aliasesalias ll='ls -alF'alias la='ls -A'alias l='ls -CF'# Add an "alert" alias for long running commands. Use like so:# sleep 10; alertalias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
你可以創建將僅為當前會話存儲并在當前會話結束后將被銷毀的臨時別名,也可以創建將是持久性的永久別名。
在Linux中創建別名的命令:
$ alias ="command to run"
例如,創建以下的別名。
$ alias Hello="echo welcome to idccoupon"
打開終端并創建所需的任何別名命令。注意:如果您打開另一個會話,那么新創建的別名將不可用。
$ alias Hello"echo welcome to idccoupon"$ alias$ Hello
要使別名永久化,請將其添加到**.bash_aliases**文件中。你可以使用自己喜歡的文本編輯器,也可以使用cat命令或echo命令添加別名。
$ echo alias nf="neofetch" >> ~/.bash_aliases $ cat >> ~/.bash_aliases $ cat ~/.bash_aliases
(列出定義的別名)
如果想要它起作用,必須重新加載**.bash_aliases**文件,才能使更改在當前會話中生效。
$ source?/ .bash_aliases
現在,如果我運行**“ nf”(這是“ neofetch”的別名),它將觸發neofetch**程序。
$ nf
(在Linux中運行Alias)
此外,一個別名可以覆蓋想要想覆蓋任何命令。為了進行演示,這里將使用一個uptime命令,該命令將顯示系統正常運行時間,登錄的用戶數以及系統平均負載。現在,我將創建一個別名,該別名將覆蓋uptime命令的行為。
$ uptime $ cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"$ source ~/.bash_aliases $ uptime
(覆蓋命令的默認行為)
從這個例子中可以得出結論,在檢查和調用實際命令之前,優先級屬于bash別名。
$ cat ~/.bash_aliases $ source ~/.bash_aliases $ uptime
現在,從**.bash_aliases文件中刪除正常運行時間條目,然后重新加載.bash_aliases文件,該文件仍將使用別名定義輸出正常運行時間。這是因為別名定義已加載到當前的Shell會話中,所以必須啟動新會話或通過運行unalias**命令取消別名定義,如下圖所示。
$ unalias uptime
(在Linux中刪除別名)
注意:Unalias將從當前加載的會話中刪除別名定義,而不是從**.bashrc或.bash_aliases中刪除**。
至此,我們已經了解了如何在用戶級別中設置別名。而如果想要全局設置別名,可以修改**“ /etc/bash.bashrc”文件并添加將在全局范圍內生效的別名。當然需要具有提升的特權才能修改bash.bashrc**文件。
或者,在**“ /etc/profile.d/”下創建一個腳本。當登錄到shell時,“ / etc / profile”將在profile.d下運行任何腳本,然后實際運行?/ .profile**。此方法將減少弄亂**/ etc / profile或/etc/bash.bashrc**文件的風險。
$ sudo cat >> /etc/profile.d/alias.shalias ls=”ls -ltra”
以下是從**/ etc / profile獲取的代碼,該代碼負責運行我們放在/etc/profiles.d/**下的所有腳本。它將查找帶有.sh
擴展名的所有文件,然后運行source命令。
$ tail / etc / profile
注意:在實際操作之前,最佳做法是備份用戶級或系統級文件。如果萬一出了問題,可以還原備份副本
感謝你能夠認真閱讀完這篇文章,希望小編分享的“Linux Bash別名的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。