日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解LinuxBash別名

有多少次您在命令行上多次輸入一個長命令,并希望有一種方法將其保存到以后?這就是Bash別名派上用場的地方。它們允許您將長而神秘的命令濃縮成易于記憶和使用的命令,下面為大家詳細講解一下Linux下Bash別名。

image-20211201131023527

在Linux中檢查Bash別名

Bash Alias是一個shell內(nèi)置命令,可以通過運行以下命令進行確認:

$ type -a alias
alias is a shell builtin

在跳轉(zhuǎn)和設(shè)置別名之前,首先需要看到涉及的配置文件。一個別名可以在“用戶級”或“系統(tǒng)級”中進行設(shè)置。

如果調(diào)用系統(tǒng)shell,只需在終端鍵入“ alias ”即可查看已定義別名的列表。

$ alias

(檢查已定義Linux別名的列表)

在**.bashrc文件或.bash_aliases文件中定義用戶級別名。該.bash_aliases文件是將所有的別名到一個單獨的文件,而不是把它在的.bashrc文件以及其他參數(shù)。剛開始,.bash_aliases**是不可用的,所以必須創(chuàng)建它。

$ ls -la ~ | grep -i .bash_aliases       # 檢查文件是否可用
$ touch ~/.bash_aliases                  # 創(chuàng)建一個空的別名文件

(創(chuàng)建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_aliases
fi

你還可以在任何目錄下創(chuàng)建自定義別名文件,并在**.bashrc.profile中添加定義以加載它。但我不喜歡這樣,個人比較喜歡選擇將所有別名分組在.bash_aliases**下。

當(dāng)然,你也可以在**.bashrc文件下添加別名。在.bashrc**文件下查找別名部分,其中帶有一些預(yù)定義的別名。

# enable color support of ls and also add handy aliases
if [ -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 aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias 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系統(tǒng)中創(chuàng)建別名

你可以創(chuàng)建將僅為當(dāng)前會話存儲并在當(dāng)前會話結(jié)束后將被銷毀的臨時別名,也可以創(chuàng)建將是持久性的永久別名。

在Linux中創(chuàng)建別名的命令:

$ alias 
  
   =
   "command to run" 
  

例如,創(chuàng)建以下的別名。

$ alias Hello="echo welcome to idccoupon"

打開終端并創(chuàng)建所需的任何別名命令。注意:如果您打開另一個會話,那么新創(chuàng)建的別名將不可用。

$ 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**文件,才能使更改在當(dāng)前會話中生效。

$ source?/ .bash_aliases

現(xiàn)在,如果我運行**“ nf”(這是“ neofetch”的別名),它將觸發(fā)neofetch**程序。

$ nf

(在Linux中運行Alias)

此外,一個別名可以覆蓋想要想覆蓋任何命令。為了進行演示,這里將使用一個uptime命令,該命令將顯示系統(tǒng)正常運行時間,登錄的用戶數(shù)以及系統(tǒng)平均負載?,F(xiàn)在,我將創(chuàng)建一個別名,該別名將覆蓋uptime命令的行為。

$ uptime
$ cat >> ~/.bash_aliases alias uptime="echo 'I am running uptime command now'"
$ source ~/.bash_aliases
$ uptime

(覆蓋命令的默認行為)

從這個例子中可以得出結(jié)論,在檢查和調(diào)用實際命令之前,優(yōu)先級屬于bash別名。

$ cat ~/.bash_aliases
$ source ~/.bash_aliases
$ uptime

在Linux中刪除別名

現(xiàn)在,從**.bash_aliases文件中刪除正常運行時間條目,然后重新加載.bash_aliases文件,該文件仍將使用別名定義輸出正常運行時間。這是因為別名定義已加載到當(dāng)前的Shell會話中,所以必須啟動新會話或通過運行unalias**命令取消別名定義,如下圖所示。

$ unalias uptime

(在Linux中刪除別名)

注意:Unalias將從當(dāng)前加載的會話中刪除別名定義,而不是從**.bashrc.bash_aliases中刪除**。

添加系統(tǒng)范圍的別名

至此,我們已經(jīng)了解了如何在用戶級別中設(shè)置別名。而如果想要全局設(shè)置別名,可以修改**“ /etc/bash.bashrc”文件并添加將在全局范圍內(nèi)生效的別名。當(dāng)然需要具有提升的特權(quán)才能修改bash.bashrc**文件。

或者,在**“ /etc/profile.d/”下創(chuàng)建一個腳本。當(dāng)?shù)卿浀絪hell時,“ / etc / profile”將在profile.d下運行任何腳本,然后實際運行?/ .profile**。此方法將減少弄亂**/ etc / profile/etc/bash.bashrc**文件的風(fēng)險。

$ sudo cat >> /etc/profile.d/alias.sh
alias ls=”ls -ltra”

以下是從**/ etc / profile獲取的代碼,該代碼負責(zé)運行我們放在/etc/profiles.d/**下的所有腳本。它將查找?guī)в?code>.sh擴展名的所有文件,然后運行source命令。

$ tail / etc / profile

注意:在實際操作之前,最佳做法是備份用戶級或系統(tǒng)級文件。如果萬一出了問題,可以還原備份副本


分享名稱:詳解LinuxBash別名
鏈接分享:http://m.5511xx.com/article/dpedhph.html