Linuxshell编程
重点回顾:
1、由于核心的内存中是受保护的区块,因此我们必须要透过“shell”将我们输入的指令与Kernel沟通,好让Kernel可以控制硬件来正确无误的工作
2、学习shell的原因主要有:文字接口的shell在各大distribution都一样;远程管理时文字接口速度较快;shell是管理linux系统非常重要的一环,因为Linux内很多控制都是以shell撰写的
3、系统合法的shell均写在/etc/shells档案中
4、用户默认登入取得的shell记录于/etc/passwd的最后一个字段;
5、bash的功能主要有:命令编修能力;命令于档案补全功能;命令别名设定功能;工作控制,前景背景控制;程序化脚本;通配符
6、type可以用来找到执行指令为何种类型,亦可用于于whicH相同的功能
7、变量就是以一组文字或符号等,来取代一些设定或者是一串保留的数据
8、变量主要有环境变量与自定义变量,或称为全局变量与局部变量
9、使用env于export可观察环境变量,其中export可以将自定义变量转化成环境变量
10、set可以观察目前bash环境下的所有变量;
11、$?亦为变量,是前一个指令执行完毕后的回传值,在Linux回传值为0代表智慧型成功;
12、local可用于观察语系资料
13、可用read让用户由键盘输入变量的值
14、ulimit可用以限制用户使用系统的资源情况
15、bash的配置文件主要分为login shell与non-login shell. login shell主要读取/etc/profile与~/.bash_profile,non-login shell 则仅读取 ~/.bashrc
16、通配符主要有:*,?,[]等等
17、数据流重导向透过>,2>,<之类的符号将输出的信息转换到其他档案或装置去;
18、连续命令的下达可透过:&&||等符号来处理
19、管线命令的重点是:管线命令仅会处理standard output,对于standard error output会予以忽略
管线命令必须要能够接受来自前一个指令的数据称为standard input继续处理才行。
20、本章介绍的管线命令主要有:cut, grep,sort,wc, uniq,tee,tr,col,join,paste,expand,split,xargs等。