1、命令别名
[root@localhost ~]# alias 别名='原命令’
#设定命令别名
[root@localhost ~]# alias
# 查询命令别名
详细介绍:
1)别名就是给系统中的某个命令起个新名称,方便用户根据自己的习惯进行输入
2)但使用别名需要注意以下问题:
命令的执行顺序:
a、第一顺位执行用绝对路径或相对路径执行的命令;
b、第二顺位执行别名;
c、第三顺位执行Bash的内部命令;
d、第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。
什么意思呢?
示例:
1)先查询当前系统中定义了哪些别名呢?
[root@localhost ~]# alias
alias cp='cp -i'
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@localhost ~]#
也就是说,我当前在执行cp命令时,实际执行的是“cp -i "命令,cp就是原命令“cp -i”的别名
--color 就是执行时,结果相应的颜色显示,auto表示和系统默认一直
2)如何自行定义一个命令的别名呢?
》临时生效的方式(重启失效)
alias rm='rm -i'
》让别名永久生效
[root@localhost ~]# vi /root/.bashrc
在该文件中进行配置(具体格式可仿照原文件格式)
[root@localhost ~]# vi /root/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
~
~
3)如何理解命令的执行顺序呢?
我们先用whereis 命令查询下cp 所在的绝对路径
然后根据cp所在的绝对路径进行调用,该调用会调用实际命令为“cp” 这个命令;
如果当前直接调用(执行)cp命令,则系统执行时,cp会被当做别名优先执行于原命令“cp”的方式而调用“cp -i ”;
或者如下理解:
如果随意输入字串,系统优先判断是否是某命令的绝对路径,如果不是,再判断是否是某个命令的别名,如果不是,再判断是否是Bash中定义的某个命令,如果还不是,会从环境变量配置文件中确认是否是此处定义的某个命令,如果还不是,则提示错误,表示命令找不到。
4)注意Bash内部命令是看不到文件的。
5)一般不建议随意设置别名,除非你能保证系统中没有以欲定义的别名为名称的命令,
否则根据命令执行顺序,该别名直接使用时会把原命令的功能给覆盖。
6)#删除别名
[root@localhost ~]# unalias 别名
2、Bash常用快捷键
快捷键 | 作用 |
Ctrl +A | 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用 |
Ctrl +E | 把光标移动到命令行结尾 |
Ctrl +C | 强制终止当前的命令 |
Ctrl +L | 清屏,相当于clear命令 |
Ctrl +U | 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键更加方便 |
Ctrl +K | 删除或 剪切光标之后的内容 |
Ctrl +Y | 粘贴Ctrl+U 或ctrl +K 剪切的内容 |
Ctrl +R | 在历史命令中搜索,按下Ctrl+R会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索出来 |
Ctrl +D | 退出当前终端 |
Ctrl +Z | 暂停,并放入后台。这个快捷键牵扯工作管理的内容,我们在系统管理章节详细介绍 |
Ctrl +S | 暂停屏幕输出(注意建议少使用该命令,因为命令并没有被杀死,多了会减慢系统运行) |
Ctrl +Q | 恢复屏幕输出 |
快捷键规律:
都是某个字母键和Ctrl的组合