Linux alias實現命令別名
需要經常進入/srv/www/app/account這個目錄,每次都得重複的輸入這一長串路徑進入該目錄,顯得麻煩而費時,因此可以將“cd /srv/www/app/account”這樣一個命令取一個別名,每次只需輸入該別名就可以進入該目錄
Linux系統提供了一個有用的工具叫alias,可以讓我們將一些需要頻繁使用的但又過於冗長的命令設置一個別名,以後只需輸入一個簡短的別名就可以達到同樣的作用。
用法:alias [-p] [name[=value] ... ] 注意‘=’和字符串之間不能包含空格
alias命令的用法:
1.顯示當前設置的所有別名:
[work@hadoop01 ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
2.只顯示某個別名代表的含義可輸入alias name,比如:
[work@hadoop01 ~]$ alias 'll'
alias ll='ls -l --color=auto'
[work@hadoop01 ~]$ alias 'ls'
alias ls='ls --color=auto'
3.爲命令設置別名可輸入alias 新命令='原命令 選項/參數',比如:
[work@hadoop01 bin]$ alias cdpybin='cd /home/work/softwares/Python-3.7.7/Output/bin'
[work@hadoop01 bin]$ alias
alias cdpybin='cd /home/work/softwares/Python-3.7.7/Output/bin'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
測試例子:
[work@hadoop01 ~]$ pwd
/home/work
[work@hadoop01 ~]$ cdpybin
[work@hadoop01 bin]$ pwd
/home/work/softwares/Python-3.7.7/Output/bin
4.取消命令別名:unalias 命令別名
取消前:
[work@hadoop01 bin]$ alias
alias cdpybin='cd /home/work/softwares/Python-3.7.7/Output/bin'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
取消命令:
[work@hadoop01 bin]$ unalias cdpybin
取消後:
[work@hadoop01 bin]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
5.一次執行多個命令
希望進行如下操作:
1).進入目錄/root
2).查看目錄下文件
3).切換回根目錄/。
通常這需要三條命令 cd /root、ls、cd / ,如果需要經常使用那麼我們可以通過自定義命令的方式用一條命令完成全部操作
a.首先使用命令 type 自定義命令名 ,查看自定義命令名是否被系統佔用。從圖中可以看出test命令名已被系統佔用,所以不能使用,而loo這個命令名經查詢可以使用。
[work@hadoop01 bin]$ type ls
ls is aliased to `ls --color=auto'
[work@hadoop01 bin]$ type test
test is a shell builtin
[work@hadoop01 bin]$ type loo
-bash: type: loo: not found
b.使用命令alias創建自定義命令:alias loo='cd /home/work;ls;cd /'。需要注意命令的使用格式,分號與分號之間是沒有空格的。
[work@hadoop01 ~]$ alias loo='cd /home/work;ls;cd /'
[work@hadoop01 ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias loo='cd /home/work;ls;cd /'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
c.測試一下自定義命令,當輸入命令 loo 時,發現系統依次完成了 cd /root、ls、cd / 三條命令,說明設置成功。
同時也可直接使用命令 alias 查詢系統中是否添加了loo這個自定義命令。
[work@hadoop01 ~]$ pwd
/home/work
[work@hadoop01 ~]$ loo
Desktop Documents Downloads Music Pictures Public softwares Templates Videos
[work@hadoop01 /]$ ls /home/work/
Desktop Documents Downloads Music Pictures Public softwares Templates Videos
[work@hadoop01 /]$ pwd
/
d.如果希望刪除這個自定義命令,可以使用命令 unalias 自定義命令名 來完成。執行之後發現,loo命令已不存在,同時自定義命令庫中也沒有loo命令。
取消前
[work@hadoop01 ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias loo='cd /home/work;ls;cd /'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
取消操作
[work@hadoop01 ~]$ unalias loo
取消後
[work@hadoop01 ~]$ loo
bash: loo: command not found...
[work@hadoop01 ~]$ alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mypip3='/home/work/softwares/Python-3.7.7/Output/bin/pip3.7'
alias mypython3='/home/work/softwares/Python-3.7.7/Output/bin/python3.7'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
6、一個非常有用的別名
alias whole_pwd='echo `whoami`@`hostname`:`pwd`'
[work@hadoop01 ~/workdir/yz/softwares/python27]$ whole_pwd
work@hadoop01:/home/hdp/workdir/yz/softwares/python27
備註:
通過這種方式設置的別名命令只對當前登錄環境下有效,退出後重新登錄就無效了,如何才能使別名命令一直有效呢,
那就是修改rc配置文件,把設置別名的過程加入到系統啓動後初始化用戶的腳本中, 用戶只需要修改 ~/.bashrc文件, 加入你要設置的別名命令即可
想要添加一個命令 oo 輸入oo就能直接進入/mnt/hgfs/D/work/project/ASID/5.code/trunk/ASID/ASID/wms目錄
方法:1、vi /etc/bashrc 或者 vi ~/.bashrc
在文件末尾添加alias oo='cd /mnt/hgfs/D/work/project/ASID/5.code/trunk/ASID/ASID/wms/'並保存退出
2、執行source /etc/bashrc 使配置生效
完成!
參考:https://www.cnblogs.com/qmfsun/p/6114820.html