1、linux系统启动过程linux
1)内核的引导。ios
当计算机打开电源后,首先是BIOS(检查计算机的硬件设备如CPU、内存风扇速度等,找到启动盘)开机自检,按照BIOS中设置的启动设备(一般是硬盘)来启动。shell
首先读取硬盘的第一个512bytes,存放的主引导记录MBR(前446引导信息,中间64是分区信息,后两位是结束标志位),告诉你从这个设备的某一个 分区vim
装载引导加载程序(Boot loader,存储有操做系统的相关信息好比操做系统名称及操做系统内核的位置),经常使用的boot loader 有grub和lilo缓存
boot loader会帮助咱们找到内核(kernel),以后操做系统就运行起来了。bash
操做系统接管硬件之后,首先读入 /boot 目录下的内核文件。ssh
2)运行 init。编辑器
init 进程是系统全部进程的起点,你能够把它比拟成系统全部进程的老祖宗,没有这个进程,系统中任何进程都不会启动。加密
init 程序首先是须要读取配置文件 /etc/inittab。spa
许多程序须要开机启动。它们在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就会复位,这样密码就没有了
2、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中第一个字符表明这个文件是目录、文件或连接文件等等。
对于文件来讲,它都有一个特定的全部者,也就是对该文件具备全部权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件全部者之外的用户又能够分为文件全部者的同组用户和其余用户。
所以,Linux系统按文件全部者、文件全部者同组用户和其余用户来规定了不一样的文件访问权限。
r:能够指令ls命令
w:能够执行建立mkdir 删除rmdir命令
x:能够执行cd命令
3、文件的合并归档和压缩
>是覆盖
>>是追加
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)
4、vim编辑器
vi 1.txt 进入文件
i 编辑文件
:wq退出编辑
5、进程管理(动起来的文件叫作进程)
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 反向匹配