Linux 基础

2018/08/13

####如果你是某种语言的开发者,你从事这个行业,不管你怎么学习下去,Linux 永远绕不开。从简单的各种语言开发,到后期的服务器部署,分布式,集群环境,数据库相关等,Linux 都在等着你。

2. OS启动

  1. OS系统启动大体分为5部分:内核的引导,运行init,系统初始化,建立终端,用户系统登录.

2.1 内核引导

  1. 开启电源
  2. BIOS自检,按照BIOS中的设置启动设备(通常是硬盘)。
  3. 启动设备上的grub程序引导linux。
  4. 引导程序完成后,Linux接管CPU控制权。
  5. CPU开始执行Linux的核心映像代码,开始Linux启动过程(极内核引导)。
  6. Linux内核做了一系列工作,最后内核调用加载init程序。

2.2 运行init

  1. init进程是系统所有进程的起点。
  2. 首先,init程序读取配置文件/etc/inittab(不可执行文件,由若干指令组成)。
  3. 包含几个重要指令:
    • id 入口标识符
    • action 描述process的运行方式
    • process 具体的执行程序

2.3. 系统初始化

  1. 系统初始化主要是执行/etc/rc.d/rc.sysinit脚本。
  2. 主要完成的工具有:激活交换分区,检查磁盘,加载硬件模块以及其他需要优先执行的任务。

2.4 建立终端

  1. rc执行完毕后,返回init。
  2. 基本系统环境已经设置好,各种守护进程都已启动,
  3. 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 用户系统登录

  1. 文本方式登录,看到mingetty的登录界面时,就可以输入用户名和密码来登录系统。
  2. Linux的账号验证程序是login,login会接收mingetty传来的用户名进行分析。
    • 如果是root,且存在/etc/nologin,则拒绝访问输出nologin的内容。
    • 如果是root,在/etc/securety中登记后才允许登录。
  3. 忘记密码,重启系统。

3. Linux远程登录

  1. 使用ssh服务登录,配置文件为/etc/ssh/sshd_config
  2. 使用HostName(IP地址)登录。
  3. 使用密钥认证登录。比如GitHub就是使用ssh key认证。

4. Linux文件

  1. 绝对路径,由根目录写起,如/usr/local/mysql
  2. 相对路径,没有由根目录写,如cd test
  3. ./当前目录;../指当前目录的上级目录。
  4. 创建目录或文件夹
    • mkdir [-mp]创建一个目录(make directory), -p递归创建目录mkdir -p test/tmp
    • open file 打开文件
    • touch file 创建文件,touch {0,1,2}.wav 创建多个文件
  5. rmdir删除目录(remove directory),只能删除目录不能删除文件。
  6. rm删除文件,-f删除1个不存在的文件时不会报错,-i删除1个文件时会提示,-r删除目录时添加
  7. which查找一个命令的绝对路径
  8. alias设置别名,语法alias[别名]=[指令名称],如alias rm = 'rm -i',使用绝对路径时不受别名影响。
  9. 环境变量 PATH
  10. whereis [-bmsu] [filename]比较少用,用于查找文件
  11. locate也用于查找文件
  12. find [路径] [参数]用的最多,如find . -name test; 也可通过type去查找,如find . -type (f,b,c,d,l,s)

5. 系统用户

  1. /etc/passwdroot:x:0:0:root:/root:/bin/bash:包含7个字段,root用户名,x口令,uid,gid,注释,家目录,shell.
  2. /etc/shadowroot:$1$8x8E$UT5.mg50/L15092:0:99999:7::::包含9个字段,root用户名,用户密码,上次更新密码日期,密码到期时间,密码到期警告期限7天,账号失效期限,账号生命周期,作为保留用的。

参考

  1. Linux学习

文内导航