1,shell介绍。
shell是一个命令解释器,它提供用户和机器之间的交互。
支持特定语法,比如逻辑判断循环。if,else,while,for….
每个用户都有自己特定的shell。
Centos7默认的shell是bash(Bourne Again Shell) 。
还有zsh、ksh等。
2,命令历史。
我们执行过的命令linux都会记录,预设可以记录1000条历史记录,按向上的方向键可以查看之前的命令。可以用命令history查看之前保存的命令。这些命令保存在用户家目录的.bash_history文件中。需要注意的是,只有当用户正常退出当前shell时,在当前shell中的命令才会保存至.bah_history文件中。history -c:清除当前内存里面的命令历史记录清空,但是不能清除配置文件里面的历史记录。
1000条历史记录是由系统内置的环境变量$HISTSIZE配置的,可以在/etc/profile中修改它的值。将HISTZISE改5000。
source之后变量才会生效。
修改命令历史格式的参数,HISTTIMEFORMAT=”%Y%m%d %H:%M:%S ”
在/etc/profile中保存。
永久保存:chattr +a ~/.bash_history
!!:表示上一条指令。
!n:这里的n是数字,表示执行命令历史中的第n条指令。
!字符串:执行命令历史中最近一次以该字符串开头的命令。
3,命令补全和别名。
按tab键就可以帮我们补全一个指令、一个路径、或一个文件名。连续两次按tab键,系统就会把所有的命令或者文件名都列出来。
参数补全需要安装包bash-completion然后reboot。
别名,alias,它也是bash所特有的功能之一。我们可以通过alias把一个常用的并且很长的指令另取名为一个简单易记得指令。如果不想用了,还可以使用unalias命令解除别名功能。
直接执行alias命令可以看到目前系统预设的别名。
自定义命令的别名。格式为alias 命令别名=’具体的命令’。
各用户家目录下面都有自己配置别名的文件~/.bashrc。自定义的alias放在这个文件里面。还有一些在/etc/profile.d/下面。
4,通配符。
在bash下,可以用*来匹配零个或多个字符,用?匹配一个字符,[ ]来范围匹配,{a,b,c}取abc其中之一。
5,输入输出重定向。
输入重定向用来改变命令的出入,输出重定向用来改变命令的输出。输出重定向更为常用,它经常用于将命令的结果输入到文件中而不是屏幕上。输入重定向的命令是<,输出重定向的命令是>。另外还有错误重定向命令2>,追加重定向命令>>。
输出重定向会>删除目标文件的内容,追加重定位>>不会删除目标文件的内容而是添加上去。
错误重定向2>会把一个命令参数的错误信息指定输入到指定文件中。错误追加重定向2>>同理不会删除原文件中的内容。
&>=> + 2>,错误和正确的输出信息全部输入到指定文件中去,还支持重定向&>>。
还可以加正确的和错误的输出内容分开来。
输入重定向<,将目标文件的内容输出到左边的命令中。