总结:
1 硬件-内核--shell--用户应用程序(搞清楚位置在哪,才好有的放矢)
2 shell分类 :Graphical user interface ,Command line interface GUI,CLI shell
3 shell交互:直接终端输入输出(交互式),文件读入,执行(非交互式)
4 shell分类:bash,csh,tcsh,ksh,可通过/etc/shells查看系统包含哪几种
5 双引号解析字符串,单引号不解析字符串,都会解析转义字符,如\n
6字符串如何拼接 :方式一 直接放在一起(“我的名字”$name" 。")注意不需要加拼接符号,方式二是直接在双引号内引入变量(“我的名字$name 。”)
7在使用变量字符串时,有一些字符串操作的功能,相当于java中的字符串函数 截取等
8 在终端读入内如 read
9 关于输入输出的重定向 > < >> ,
cat <<EOF .... EOF 的使用
10 if then elif if 放在一行的话,每一句间有分号分隔,注意操作符写时,空格间隔
11 for do ... done
12 关于括号的使用
(())双小括号可以做运算操作,结果可作为条件测试表达式
[]可以做字符串表达式
[[]]双中括号似乎用法更宽泛,写法更灵活, 数字,字符串比较。运算,以及操作符的使用
{} 可做统配扩展即 touch test{1..3}.txt 可在引用变量时避免和其他字符混在一起
13 函数调用时,有一些特殊符号常被用到:
$# 传参个数,$?最后一个命令的执行状态码,$*,$@所有参数,$0文件名,即第一个参数
14 程序后台执行 加&,此时还是会在当前控制台输出,在关闭远程主机session,或者当前终端后,还是会退出,此时使用nohup才是真正的后台运行
15如何退出后台执行: kill pid,只是告知你该退出了(通知),请自行退出,kill -9 pid是强制退出(命令)