printenv:打印环境变量
我们每一次输入一个命令,bash会从环境变量的PATH去寻找,从第一个到最后一个,第一个找到的就执行。
[[email protected] ~]# printenv
PATH=/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
但是我们每次执行完以后,会在缓存里面缓存这个命令,下一次使用该命令,会直接从缓存里面查找是否有该命令,如果有就执行。
从缓存中寻找命令比在路径中寻找速度要快N倍,该思想会贯穿整个系统调优的过程。缓存为王!
hash:查看缓存中命中使用命令的次数
[[email protected] ~]# hash
hits command
1 /sbin/ifconfig
1 /usr/bin/printenv
6 /bin/ls
which:寻找bash命令的完整路径
[[email protected] ~]# which ifconfig
/sbin/ifconfig
[[email protected] ~]# which ls
alias ls=‘ls --color=auto‘
/bin/ls
type:查看一个命令的类型
[[email protected] ~]# type mount
mount is /bin/mount<>外部命令
[[email protected] ~]# type type
type is a shell builtin<>bash内置命令
[[email protected] ~]# type ls
ls is aliased to `ls --color=auto‘<>命令别名
alias:设置指令的别名
语 法:alias[别名]=[指令名称]
[[email protected] ~]# alias la=‘ls -al‘
[[email protected] ~]# la
total 120
dr-xr-x---. 13 root root 4096 Apr 28 19:40 .
dr-xr-xr-x. 24 root root 4096 Apr 28 03:56 ..
-rw-------. 1 root root 16261 Apr 28 22:33 .bash_history
-rw-r--r--. 1 root root 18 May 20 2009 .bash_logout
-rw-r--r--. 1 root root 176 May 20 2009 .bash_profile
unalias:取消命令别名
[[email protected] ~]# unalias la
[[email protected] ~]# la
-bash: la: command not found
参 数 :若不加任何参数,则列出目前所有的别名设置。
[[email protected] ~]# 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‘
若要每一个用户的每次登录命令别名都生效,需要将配置写入到配置文件
[[email protected] ~]# tail -3 /etc/bashrc
fi
# vim:ts=4:sw=4
alias la=‘ls -al‘
[[email protected] ~]# la
total 120
dr-xr-x---. 13 root root 4096 Apr 28 19:40 .
dr-xr-xr-x. 24 root root 4096 Jun 6 01:37 ..
-rw-------. 1 root root 15334 Apr 29 03:58 .bash_history
若要给某一个单独的用户配置命令别名,每次登录都生效,需要将配置写入到该用户家目录下的bashrc文件中
[[email protected] ~]# tail ~/.bashrc
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘
alias la=‘ls -al‘
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi