1.概述
alias常用于重命名已有命令、定义组合命令等
2.格式
格式:alias [name]=[value]。如alias cp=’cp -v’,这样重命名后复制会有信息输出。
特别注意:[name]和[value]与等号之间不能有空格!!!
[root@smart Desktop]# cp ls.txt ls.txt.bak
[root@smart Desktop]# rm -rf *.bak
[root@smart Desktop]# alias cp='cp -v'
[root@smart Desktop]# cp ls.txt ls.txt.bak
`ls.txt' -> `ls.txt.bak'
3.已重命名变量输出
alias -p ,可以输出所有已重命名的变量。
alias -p [name],可以检测重命名为[name]的命令,同时也可以检测是否已定义某个变量。
[root@smart Desktop]# alias -p
alias cp='cp -v'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
[root@smart Desktop]# alias -p cp
alias cp='cp -v'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias cp='cp -v'
[root@smart Desktop]# alias -p test
alias cp='cp -v'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
bash: alias: test: not found
4.生效范围
如果在终端中使用该命令,在新启动的终端命令行将无法找到该重命名的变量。如下:
终端A:
cd ../.. 切换到上级目录的上级目录
[root@smart Desktop]# alias cp='cp -v'
[root@smart Desktop]# cp
aa cd.txt ls.test test.log test.txt
alias.txt linux/ ls.txt test.md wireshark.desktop
cat.txt ls (copy).test~ ls.txt.bak test.md~
[root@smart Desktop]# cp cd.txt cd.txt.bak
`cd.txt' -> `cd.txt.bak'
终端B:
[root@smart Desktop]# cp cd.txt cd.txt.bak2
[root@smart Desktop]#
如果要在所有终端生效,我们可以编辑~/.bashrc文件,增加一行 alias cp=’cp -v’。然后重启终端或执行一次source ~/.bashrc即可生效。
[root@smart Desktop]# cat ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@smart Desktop]# vim ~/.bashrc
[root@smart Desktop]# cat ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
alias cp='cp -v'
[root@smart Desktop]# source ~/.bashrc
[root@smart Desktop]# cp test.txt test.txt2
`test.txt' -> `test.txt2'
Enjoy!
2017/11/6