Linux入门

Posted by Tfly on 2020-02-22

系统启动流程

文件系统

文件系统:物理空间的组织方式
在linux系统中,所有设备都当做文件操作。所以需要挂载操作:

1
mount /dev/device /mnt/device

分区表示:例sda5
sd:SATA接口的硬盘
a:第一块硬盘
5:第一个逻辑分区(1,2,3,4为主分区)

用户

shell

shell是什么:命令解释器,用户与操作系统交互的接口

如何获取命令帮助:

  1. whatis command:查找命令帮助
  2. apropos 关键字:查找匹配关键字命令

shell类型:登录shell、非登录shell

什么时候创建子shell:

  1. 直接执行脚本时
  2. 非shell内置命令
  3. command & 后台运行
  4. (command1;command2)

. 脚本:表示在当前shell执行脚本

子shell与父shell关系:

重定向

管道

作用:一个命令的输出作为下有一个命令的输入
语法:command1 | command2
使用前提:command1输出为标准输出,command2输入为标准输入
command2如何读取输入:read line

shell编程

变量

expr命令

选择结构

if-else语法:

1
2
3
4
5
6
7
if command1; then
commands
elif command2; then
commands
else
commands
fi

if-else后的条件可以使用逻辑&&、||

if-else后命令退出状态为0为真,否则为假。其他几种形式:

case语法:

1
2
3
4
5
case variable in
pattern1 | pattern2) command1;;
pattern3) command2;;
*) default command;;
esac

循环结构

bash for语法:

1
2
3
for var in list; do
commands
done

list来源:

  1. 值:Alabama Alaska Anzona
  2. 命令:$(cat $file)
  3. 通配符读取目录:/Users/不能少)

c for语法:

1
2
3
for(( a=0; a<10; a++)){
commands
}

while语法:

1
2
3
while command; do
commands
done

典型使用while循环读取文件例子:

1
2
3
while read line; do
echo $line
done < $file

每条记录怎么分隔?IFS
IFS:内部字段分隔符

用户输入

输入输出

函数

函数是一个小型脚本,可以像脚本一样接收和处理参数