什么是shell
命令解释器,提供用户和机器之间的交互
支持特定语法,比如逻辑判断、循环
每个用户都有特定的shell
centos默认的shell版本是bash
命令历史
history命令
最大保存一千条 echo $HISTSIZE
history -c 清除当前内存中的命令历史
/etc/profile 修改命令历史最大数值
HISTTIMEFORMAT="%Y/%m%wd %H%M%S"
永久保存命令历史 chattr +a ~/.bash_history
!! 表示执行上一条命令
!n n指数字,表示执行历史中第n条命令
!字符串 例如!pw表示执行命令历史中最近一次以pw开头的命令
命令补全和文件补全
tab命令
连续敲两次会把所有的命令或者文件名都列出来
yum install -y bash-completion 重启系统自动补充参数
alias 别名
别名存放地址 .bashrc /etc/profile.d/ colorgrep.sh
取消自定义的别名 unalias restat
通配符
- 来匹配零个或多个字符
?匹配一个字符
【】范围
{}范围要加逗号
输入/输出重定向重定向 2>错误重定向
追加 2>>错误追加
+2> == &>
< 输入重定向 (文件到命令)
管道符、作业控制
ctrl z 暂停进程
ctrl c 结束进程
fg 命令恢复 bg 使它到后台运行
jobs 列出后台的进程
& 一次性到后台运行
变量
path,shell预设的一个变量
shell预设的变量都是大写的
path代替了所有常用命令的绝对路径的设定
env 列出系统预设的全部变量
set 不仅可以显示系统预设的变量,也可以显示用户的自定义变量(该变量只能在当前shell中生效)
变量名规则:字母、数字(不能在首位)、下划线
变量值有特殊符号时需要用单引号括起来
全局变量 export 变量名=等于变量值
unset 取消变量
环境变量配置文件
bash可以重新打开一个shell
/etc/profile 这个文件预设了几个重要变量
/etc/bashrc 这个文件主要预设umask以及ps1
\u指用户,\h指主机名,\w指当前目录,\$指字符#(如果是普通用户,则显示为$)
.bash_profile 该文件定义了用户的个人化路径与环境变量的文件名称
.bashrc 该文件包含专属于自己的shell的bash信息,当登录或每次打开新的shell时,该文件会被读取
.bash_history 该文件用于记录命令历史
.bash_logout 当退出shell时,会执行该文件
转载于:https://blog.51cto.com/14016832/2312761