一、linux系统启动过程
1)内核的引导。
当计算机打开电源后,首先是BIOS(检查计算机的硬件设备如CPU、内存风扇速度等,找到启动盘)开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
首先读取硬盘的第一个512bytes,存放的主引导记录MBR(前446引导信息,中间64是分区信息,后两位是结束标志位),告诉你从这个设备的某一个 分区
装载引导加载程序(Boot loader,存储有操作系统的相关信息比如操作系统名称及操作系统内核的位置),常用的boot loader 有grub和lilo
boot loader会帮助我们找到内核(kernel),之后操作系统就运行起来了。
操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
2)运行 init。
init 进程是系统所有进程的起点,你可以把它比拟成系统所有进程的老祖宗,没有这个进程,系统中任何进程都不会启动。
init 程序首先是需要读取配置文件 /etc/inittab。
许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。
3)系统初始化。
在init的配置文件中有这么一行: si::sysinit:/etc/rc.d/rc.sysinit 它调用执行了/etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell的脚本,它主要是完成一些系统初始化的工作,rc.sysinit是每一个运行级别都要首先运行的重要脚本。
它主要完成的工作有:激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。
4)建立终端 。
rc执行完毕后,返回init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。
init接下来会打开6个终端,以便用户登录系统。在inittab中的以下6行就是定义了6个终端
5)用户登录系统。
一般来说,用户的登录方式有三种:
(1)命令行登录
(2)ssh登录
(3)图形界面登陆
默认我们登录的就是第一个窗口,也就是tty1,这个六个窗口分别为tty1,tty2 … tty6,你可以按下Ctrl + Alt + F1 ~ F6 来切换它们。
6)grub加密
vim etc/grub.conf 里面有启动信息
linux启动之后如果忘记密码可以通过单用户模式进入系统中直接修改密码
linux启动读秒是,按下e
之后选择单用户模式kernel(内核)
按下e空格输入1就进入了之后就可以改密码了
grub -md5 -crypt 之后就会输入密码
7)bios加密
系统启动后按F2,救援模式启动,依然可以进入操作系统,不需要密码,此时可以找到grub.conf 文件删除它,就可以启动了,因此需要bios加密
F2进入bios,在sercurity 中,选择Set Supervisor Password 设置密码,想再进入bios就需要设置密码了
如果想破解bios加密,需要将bios硬件的电池拿下来放电,bios就会复位,这样密码就没有了
二、linux文件基本属性:ls -l
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
实例中,bin文件的第一个属性用"d"表示。"d"在Linux中代表该文件是一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档(link file);
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
r:可以指令ls命令
w:可以执行创建mkdir 删除rmdir命令
x:可以执行cd命令
三、文件的合并归档和压缩
>是覆盖
>>是追加
wc -l 统计文件行数 I是管道符
文件的归档是指把多个文件合并放到一个文件里面 俗称tar 打包
tar -cf test.tar a.txt b.txt c.txt 把abc 文件归档为test.tar
tar -tf test.tar 查看tar中的文件
tar -xvf /test/test.tar 解包test.tar 再加一个-C解包到指定得文件夹下面
gzip test.tar 压缩 (bzip2)
gunzip test.tar 解压缩(bunzip2)
四、vim编辑器
vi 1.txt 进入文件
i 编辑文件
:wq退出编辑
五、进程管理(动起来的文件叫做进程)
1)top 动态查看进程信息,一般不用,因为占用内存比较大,需要实时刷新
2)buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的速度而设计的。
3)cache(缓存)从CPU角度考虑,是为了提高cpu和内存之间的数据交换速度而设计的
4)free查看内存的信息free -m是以M为单位,free -h是以G 为单位
5)进程是程序的一次动态执行
6)守护进程在后台运行并提供系统服务的一些进程
7)父进程、子进程:当一个进程创建另一个进程时,第一个进程被称为新进程的父进程,而新进程被称为子进程
8)ps命令:显示当前进程的状态 ps aux I head -1查看所有进程中的第一行
9)pstree 以树状图查看进程状态
10)kill 结束进程及pkill
11)grep过滤命令 ls -l I grep ‘txt’ 过滤出带有txt的文件 ;grep -v 反向匹配