1.概述

alias常用于重命名已有命令、定义组合命令等

2.格式

格式:alias [name]=[value]。如alias cp=’cp -v’,这样重命名后复制会有信息输出。

特别注意:[name]和[value]与等号之间不能有空格!!!

1
2
3
4
5
[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]的命令,同时也可以检测是否已定义某个变量。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[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 ../.. 切换到上级目录的上级目录

1
2
3
4
5
6
7
[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:

1
2
[root@smart Desktop]# cp cd.txt cd.txt.bak2
[root@smart Desktop]#

如果要在所有终端生效,我们可以编辑~/.bashrc文件,增加一行 alias cp=’cp -v’。然后重启终端或执行一次source ~/.bashrc即可生效。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[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'