####如果你是某种语言的开发者,你从事这个行业,不管你怎么学习下去,Linux 永远绕不开。从简单的各种语言开发,到后期的服务器部署,分布式,集群环境,数据库相关等,Linux 都在等着你。
2. OS启动
- OS系统启动大体分为5部分:内核的引导,运行init,系统初始化,建立终端,用户系统登录.
2.1 内核引导
- 开启电源
BIOS
自检,按照BIOS中的设置启动设备(通常是硬盘)。- 启动设备上的grub程序引导linux。
- 引导程序完成后,Linux接管CPU控制权。
CPU
开始执行Linux的核心映像代码,开始Linux启动过程(极内核引导)。Linux
内核做了一系列工作,最后内核调用加载init程序。
2.2 运行init
- init进程是系统所有进程的起点。
- 首先,init程序读取配置文件/etc/inittab(不可执行文件,由若干指令组成)。
- 包含几个重要指令:
id
入口标识符action
描述process
的运行方式process
具体的执行程序
2.3. 系统初始化
- 系统初始化主要是执行
/etc/rc.d/rc.sysinit
脚本。 - 主要完成的工具有:激活交换分区,检查磁盘,加载硬件模块以及其他需要优先执行的任务。
2.4 建立终端
- rc执行完毕后,返回init。
- 基本系统环境已经设置好,各种守护进程都已启动,
-
init会打开6个终端,以便用户登录系统。
1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
2.5 用户系统登录
- 文本方式登录,看到mingetty的登录界面时,就可以输入用户名和密码来登录系统。
- Linux的账号验证程序是login,login会接收mingetty传来的用户名进行分析。
- 如果是root,且存在
/etc/nologin
,则拒绝访问输出nologin的内容。 - 如果是root,在
/etc/securety
中登记后才允许登录。
- 如果是root,且存在
- 忘记密码,重启系统。
3. Linux远程登录
- 使用ssh服务登录,配置文件为
/etc/ssh/sshd_config
- 使用HostName(IP地址)登录。
- 使用密钥认证登录。比如GitHub就是使用ssh key认证。
4. Linux文件
- 绝对路径,由根目录写起,如
/usr/local/mysql
- 相对路径,没有由根目录写,如
cd test
./
当前目录;../
指当前目录的上级目录。- 创建目录或文件夹
mkdir [-mp]
创建一个目录(make directory),-p
递归创建目录mkdir -p test/tmp
- open file 打开文件
- touch file 创建文件,touch {0,1,2}.wav 创建多个文件
rmdir
删除目录(remove directory),只能删除目录不能删除文件。rm
删除文件,-f
删除1个不存在的文件时不会报错,-i
删除1个文件时会提示,-r
删除目录时添加which
查找一个命令的绝对路径alias
设置别名,语法alias[别名]=[指令名称]
,如alias rm = 'rm -i'
,使用绝对路径时不受别名影响。- 环境变量 PATH
whereis [-bmsu] [filename]
比较少用,用于查找文件locate
也用于查找文件find [路径] [参数]
用的最多,如find . -name test
; 也可通过type去查找,如find . -type (f,b,c,d,l,s)
5. 系统用户
/etc/passwd
如root:x:0:0:root:/root:/bin/bash
:包含7个字段,root用户名,x口令,uid,gid,注释,家目录,shell./etc/shadow
如root:$1$8x8E$UT5.mg50/L15092:0:99999:7:::
:包含9个字段,root用户名,用户密码,上次更新密码日期,密码到期时间,密码到期警告期限7天,账号失效期限,账号生命周期,作为保留用的。