当用户登录linux操作系统时,就进入了当前用户的shell。shell是一个命令解释器,它提供了用户与机器之间的交互。它支持特定语法,比如逻辑判断、循环等。每个用户都可以有自己特定的shell。CentOS 7默认shell为bash。除了bash之外,还有zsh、ksh等shell类型。
在shell中,用户输入命令控制操作系统。在所有可执行命令中,history和alias比较特殊。history命令是用来查看过往输入的命令历史。而alias命令是用来定义命令的别名的。这两者都是为了用户使用方便而存在的命令。
1、history
[root@server01~]#history##查看内存中的命令历史 1logout 2mkdir/root/.ssh 3chmod700/root/.ssh ...... 84yumlist|grep'dev'|more 85history [root@server01~]#cat/root/.bash_history##查看文件中的命令历史 logout mkdir/root/.ssh chmod700/root/.ssh ...... yumlist|grep'dev'|more [root@server01~]#echo$HISTSIZE##查看命令历史最大条目数 1000 [root@server01~]#cat/etc/profile|grepHISTSIZE=##配置文件中定义的最大条目数 HISTSIZE=1000 [root@server01~]#HISTTIMEFORMAT="%Y/%m/%d%H:%M:%S"##命令历史显示格式 [root@server01~]#history 12017/06/2704:46:01logout 22017/06/2704:46:01mkdir/root/.ssh 32017/06/2704:46:01chmod700/root/.ssh ...... 912017/06/2704:51:54HISTTIMEFORMAT="%Y/%m/%d%H:%M:%S" 922017/06/2704:52:02history [root@server01~]#chattr+a~/.bash_history##永久保存 [root@server01~]#!!##执行上一条命令 chattr+a~/.bash_history [root@server01~]#!90##执行第90条命令 cat/etc/profile|grepHISTSIZE= HISTSIZE=1000 [root@server01~]#!cat##执行最近一条cat命令 cat/etc/profile|grepHISTSIZE= HISTSIZE=1000@H_403_13@
2、alias
[root@server01~]#alias##查看命令别名 aliascp='cp-i' aliasegrep='egrep--color=auto' aliasfgrep='fgrep--color=auto' aliasgrep='grep--color=auto' aliasl.='ls-d.*--color=auto' aliasll='ls-l--color=auto' aliasls='ls--color=auto' aliasmv='mv-i' aliasrm='rm-i' aliaswhich='alias|/usr/bin/which--tty-only--read-alias--show-dot--show-tilde' [root@server01~]#aliaswv='w-V'##定义别名 [root@server01~]#wv wfromprocps-ng3.3.10 [root@server01~]#cat~/.bashrc|grepalias##别名配置文件,自定义的alias需要放入 #Userspecificaliasesandfunctions aliasrm='rm-i' aliascp='cp-i' aliasmv='mv-i' [root@server01~]#ls/etc/profile.d/##用户环境变量 256term.cshcolorgrep.cshcolorls.cshlang.cshless.cshwhich2.csh 256term.shcolorgrep.shcolorls.shlang.shless.shwhich2.sh@H_403_13@
除此以外,利用tab键补全命令的方式在实际操作中也很常见。如果需要补全参数,需要安装bash-completion软件包。