Linux alias實現命令別名

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章