一、什么是shell
1.是命令解释器
2.支持特定的语法(逻辑判断、循环)
3.每个用户可以有自己特定的shell
4.CentOS7默认shell为bash(Bourne Agin Shell)
5.其他的shell :zsh、ksh
二、命令历史
1.按向上方向键查看历史命令
2.历史命令文件存在于用户家目录下的.bash_history文件夹下(root用户存放路径:/root/.bash_history)
3. history命令可以查看历史命令;-c 清空历史命令(内存中),但是删除不了文件中的历史命令记录
4.$HISTSIZE变量用于设置历史命令保留数量
5.只有退出终端时,历史命令会由内存写入文件
6.$HISTSIZE环境变量在/etc/profile文件下修改(source 后配置方能生效)
7.通过更改HISTTIMEFORMAT变量可以更改history显示的格式(HISTTIMEFORMAT="%Y/%M/%D %H:%M:%S")
8.永久更改history的方式:修改/etc/profile文件,在$HISTSIZE下面添加HISTTIMEFORMAT="%Y/%M/%D %H:%M:%S"(年月日时分秒),然后source一下。
9.永久保存历史命令chattr +a ~/.bash_history
10.!n(n为历史命令的序号)可以运行指定的历史命令
11.!echo 倒序查以echo开头的历史命令
三、命令补全
1.tab键,按一下会自动补全命令,如果有多条以该字母开头的命令按两下会将其全部显示出来
2.参数补全。linux默认不支持,需要安装bash-completion包后重启系统
3.别名 alias 别名=‘实际命令’ 直接输入alias会显示系统中所有别名
4.alias的配置文件存在于家目录的bashrc和/etc/profile.d中,如果想要永久生效需要在这些文件中修改,修改了家目录的bashrc文件只对当前用户有用,修改了/etc/profile.d文件则全局生效。unalias 别名 可以删除别名
四、通配符
1.* 表示通配
2.? 表示一个任意的字符
3.[0-9] 表示一个范围0到9 或者a到z
4.{1,2} 表示数组,需要加逗号,或的意思
五、输入输出重定向
1. > 正确内容重定向(覆盖)
2. >>正确内容重定向(追加)
3. 2>错误内容重定向(覆盖)
4. 2>>错误内容重定向(追加)
5. &>所有内容重定向(覆盖)
6. < 输入重定向 输入的对象必须是命令