lishaokang 2020-06-08
- 硬件:整个系统中的实体工作者,包含硬盘,显卡,网络卡,cpu等。
- 内核:真正控制硬盘工作的,有cpu进程,内存管理,磁盘输入输出等工作。
- shell:狭义的shell只命令行方面的软件;广义的是指只要能够操作应用程序接口的都叫做shell,本文讲的是命令行界面的shell(bash)。
- 命令记忆功能:(history)
- 命令补全功能 :(tab)键
- 命令别名设置功能:(alias)
- 作业控制,前台,后台控制
- 程序脚本:shell script
- 变量名只能是英文字母与数字,但不能以数字开头
- 变量名与变量内容之间用=号连接,不能直接接空格字符
- 变量内容若有空格符,可使用单引号或双引号,注意单引号不解析变量,原样输出
- 可使用转义字符“\”转义特殊字符
- 该变量增加变量内容时,例如:PATH="$PATH":/home/zj
- 若该变量需要在其它子进程执行,则需要以export来使变量变成环境变量,例如:export PATH
- 取消变量:unset 变量名
- 查看环境变量:env
- 自定义变量转成环境变量:export
- 子进程仅会继承父进程的环境变量,不会继承父进程的自定义变量
从前面开始删除:
- #:删除最短的 例如:echo ${path#/:} 把path中/到:最短的删除,号为通配符
- ##:删除最长的 例如:echo ${path##/:} 把path中/到:最长的删除,号为通配符,即前面的目录都删除了,仅保留最后一个目录。
从后面开始删除:
- %:删除最短的 例如:echo ${path%/:} 把path中/到:最短的删除,号为通配符
- %%:删除最长的 例如:echo ${path%%/:} 把path中/到:最长的删除,号为通配符
变量的替换:
例如:把path变量中的sbin替换为大写的SBIN echo ${path/sbin/SBIN} 只替换第一个 echo ${path//sbin/SBIN} 替换所有
- 以相对绝对路径执行命令
- 由alias找到命令来执行
- 由bash的内置命令来执行
- 通过$PATH这个变量的顺序找到的第一个命令来执行
- loginshell 取得bash时需要完整的登入流程,需要用户输入登入账号与密码:系统整体设置文件/etc/profile与~/.bash_profile
- non-login shell 取得bash的接口方法不需要重复登入,以图形界面启动终端机,并不需要再次输入账号与密码:~/.bashrc
tar -cvf - /home | tar -xvf - 将home里面的文件打包经管道传送给后面的tar -xvf -