系统启动流程
文件系统
文件系统:物理空间的组织方式
在linux系统中,所有设备都当做文件操作。所以需要挂载操作:1
mount /dev/device /mnt/device
分区表示:例sda5
sd:SATA接口的硬盘
a:第一块硬盘
5:第一个逻辑分区(1,2,3,4为主分区)
用户
shell
shell是什么:命令解释器,用户与操作系统交互的接口
如何获取命令帮助:
- whatis command:查找命令帮助
- apropos 关键字:查找匹配关键字命令
shell类型:登录shell、非登录shell
什么时候创建子shell:
- 直接执行脚本时
- 非shell内置命令
- command & 后台运行
- (command1;command2)
. 脚本:表示在当前shell执行脚本
子shell与父shell关系:
重定向
管道
作用:一个命令的输出作为下有一个命令的输入
语法:command1 | command2
使用前提:command1输出为标准输出,command2输入为标准输入
command2如何读取输入:read line
shell编程
变量
expr命令
选择结构
if-else语法:1
2
3
4
5
6
7if command1; then
commands
elif command2; then
commands
else
commands
fi
if-else后的条件可以使用逻辑&&、||
if-else后命令退出状态为0为真,否则为假。其他几种形式:
case语法:1
2
3
4
5case variable in
pattern1 | pattern2) command1;;
pattern3) command2;;
*) default command;;
esac
循环结构
bash for语法:1
2
3for var in list; do
commands
done
list来源:
- 值:Alabama Alaska Anzona
- 命令:
$(cat $file)
- 通配符读取目录:/Users/(不能少)
c for语法:1
2
3for(( a=0; a<10; a++)){
commands
}
while语法:
1 | while command; do |
典型使用while循环读取文件例子:1
2
3while read line; do
echo $line
done < $file
每条记录怎么分隔?IFS
IFS:内部字段分隔符
用户输入
输入输出
函数
函数是一个小型脚本,可以像脚本一样接收和处理参数