1.查看shells:/etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
2.修改默认解释器: usermod -s /bin/ root
3.查看解释器:grep root /etc/passwd
4.bash是ksh优化后的结果
5.快捷键:Ctrl + A 将光标移至行首
:Ctrl + E 将光标移至行尾
:Ctrl + C 终止
:Ctrl + D 终止输入
:Ctrl + M 回车
:Ctrl + U 删除光标至行首所有内容
:Ctrl + W 删除光标前一个单词(空格分割)
:Ctrl + S 挂起,冻结终端
:Ctrl + Q 解除冻结终端
:Alt + . 使用前命令的最后一个单词
6.补齐需要安装:bash-completion软件包
7.历史命令:history工具
默认历史记录:1000条
位置:/root/.bash_history
控制历史命令的数量:/etc/profile
查看:grep ^HISTSIZE /etc/profile
!88:执行第88条命令
!ping:使用最近的一次ping命令
history -c 临时删除历时记录
8.alias 目录:/root/.bashrc
9.交互式硬件设备
类型 设备文件 文件描述号 默认设备
标准输入 /dev/stdin 0 键盘
标准输出 /dev/stdout 1 显示器
标准错误输出 /dev/stderr 2 显示器
重定向输入: < 1.tx
重定向输出: > >> 1.txt
重定向错误: 2> 2>> 1.txt 只收集错误
混合重定向: &> &>> 1.txt 正确错误都收集
10. bash 再次开启一个进程
. 不开启新进程,直接执行 = source 脚本名称(.后面有空格)
sh -X 调试变量
11.写一个自动配置yum的脚本(清除多于的repo)
12.环境变量$(PWD HOSTNAME USER PATH SHELL)
位置变量:$0(显示脚本或进程的名称) $1 $2...$n
预定义变量:$#(个数) $*(都是谁) $?(命令是否成功,0成功,非0失败)$$(当前脚本的进程)
自定义变量:用户自主设置,修改及使用
取消自定义变量:unset a 查看:echo $a
shell 变量 var1=CentOS
若已存在,则覆盖;等号两边不要有空格;区分大小写;由字母、数字、下划线组成;不能一数字开头,不要使用关键字和特殊字符
echo ${var1}6.5 ---> CentsOS6.5 变量容易混淆时,以{}界定
13.` ` = $() 将所取得的结果作为参数(反撇号)
14.按照自己的要求显示日期:date +%Y-%m-%d 2018-12-07
15."" 与 ' '的相同点:都可以完整的输出一段话
区别:' '可以屏蔽特殊的含义,""做不到
16.定义全局变量:export a 取消:export -n a
17.env 列出所有的环境变量
set 列出所有变量
18.stty-echo 不显示密码
read -p "xxxx" name #name前面一定要有空格
stty echo
19.$PS1 $PS2
20.read -t :可指定超时秒数