操作系统的定义:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。
操作系统的内核的定义:操作系统的内核是一个管理和控制程序,负责管理计算机的所有物理资源,其中包括。文件系统、内存管理、设备管理和进程管理。
软件运行:软件--->操作系统---->硬件----->操作系统------->软件
linux操作系统大概可分为2部分:
UNIX的定义: UNIX是一个计算机操作系统,一个用来协调、管理和控制计算机硬件和软件资源的控制程序。
UNIX操作系统的特点:多用户和多任务
GUN计划:是由Richard Stallman在1983年9月27日公开发起的,它的目标是创建一套完全自由的操作系统。
GPL条款:GPL条款是为保证GNU软件可以自由地使用、复制、修改和发布,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授予所有权利给任何人的协议条款。
自由软件意味着:
1.打开计算机电源,计算机会自动从主板的BIOS(Basic Input/Output System)读取其中所存储的程序。这一程序通常知道一些直接连接在主板上的硬件(硬盘,网络接口,键盘,串口,并口)。现在大部分的BIOS允许你从软盘、光盘或者硬盘中选择一个来启动计算机。
2.计算机将从你所选择的存储设备中读取起始的512 bytes(比如光盘一开是的512 bytes,如果我们从光盘启动的话)。这512 bytes叫做主引导记录MBR (master boot record)。MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (kernel)所在位置等。常用的boot loader有GRUB和LILO。
3.boot loader会帮助我们加载kernel。kernel实际上是一个用来操作计算机的程序,它是计算机操作系统的内核,主要的任务是管理计算机的硬件资源,充当软件和硬件的接口。操作系统上的任何操作都要通过kernel传达给硬件。实际上,我们可以在多个分区安装boot loader,每个boot loader对应不同的操作系统,在读取MBR的时候选择我们想要启动的boot loader。这就是多操作系统的原理。
4.如果我们加载的是Linux kernel,Linux kernel开始工作。kernel会首先预留自己运行所需的内存空间,然后通过驱动程序(driver)检测计算机硬件。这样,操作系统就可以知道自己有哪些硬件可用。随后,kernel会启动一个init进程。它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,kernel就完成了在计算机启动阶段的工作,交接给init来管理。
5.init process 启动项
6.输入用户名(比如说vamei)和密码,DONE!在此后的过程中,你将以用户(user)vamei的身份操作电脑。此外,根据你创建用户时的设定,Linux还会将你归到某个组(group)中,比如可以是stupid组,或者是vamei组。
总结
BIOS -> MBR -> boot loader -> kernel -> init process -> login
1) 关闭Linux系统的命令:init 0
2) 什么是Linux终端:Linux终端也称为虚拟控制台。Linux终端采用字符命令行方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制。
3) 切换虚拟终端的方法:Ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2
4) 普通用户登录后系统的提示符:$
5) root用户登录后系统的提示符:#
6) 退出命令:exit
命令 【选项】 【参数】 如:Ls –a /
whoami命令
whoami命令:列出目前登陆Linux系统所使用的用户名(账号)。
who命令
who命令:列出目前哪些用户在系统上工作。
who命令的输出结果:显示当前登录的所有用户,以及当前的日期和时间。
date命令:显示系统当前的日期和时间。
date命令设置时间时间的格式:date 月日时分年。
例如:将时间设定成2013年12月24日上午10点18的命令:date 12241018201
cal命令:显示某月的日历。
灵活应用cal命令列出某一年某月的日历:例如显示2008年8月份日历的命令为:cal 8 2008
清屏快捷键:ctrl+l
su:从当前的用户切换到另一个指定的其他用户。切到root用户的命令:su root
passwd:修改用户(既可以是普通用户,也可以是root用户)的密码,查看用户的密码状态等。
Useradd:添加用户 useradd 用户名 如:usersadd jxl
常用选项:
删除user用户00: 选项 -r:删除干净
passwd:修改用户密码. 修改dog用户密码的命令:passwd dog
man:获取某个Linux命令的使用说明。查看su命令的使用说明的命令为:man su
Linux文件系统的树状结构:
在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构。
顶层根目录的表示:使用“/”来表示根目录
文件系统中的两个特殊目录:
pwd命令:确定现在所在的工作目录
cd命令:切换当前目录
ls命令:列出目录中的内容
常用选项
cp:命令复制文件和目录.cp 源文件 目标文件
常用选项:
mv命令:移动及修改文件和目录名
将当前目录中的lists文件移动到其子目录babydog中的命令:mv lists babydog
将bigdog目录名改为babydog的命令:mv bigdog babydog
mkdir:命令创建目录
mkdir命令的功能:创建一个新目录 mkdir dadgog
touch:命令创建文件
掌握touch命令的功能:可以创建一个空文件,也可以同时创建多个文件。
在当前目录中创建一个名为babydog1的文件的命令:touch babydog1
rm命令:删除文件
常用选项:
cat命令:浏览正文文件的内容
cat命令的功能:将一个或多个文件的内容显示在屏幕上,该命令会不停的以只读的方式显示整个文件的内容。
例:浏览game.txt文件中的全部内容的命令:cat game.txt
head:命令浏览文件中的内容
head命令的功能:默认将显示一个文件的前10行。
常用选项:
tail命令:浏览文件中的内容
tail命令的功能:默认显示文件最后10行的内容。
常用选项:
linux一切皆文件,创建用户就是相当于建立文件.
命令创建用户:
[rootDloca lhost /]# useradd jxl
[rootelocalhost /]# passwd jxl
创建用户信息:
/etc/passwd文件:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。
/etc/passwd文件每个字段的具体含义:
创建用户实际创建了如下几个文件的内容:
1.创建用户密码:
2.创建该用户的组: 这里的信息是组的
组名,组密码(一般没有密码,x为加密),组id
3.组密码:
4.创建jxl用户的家目录
5.创建用户的email
查看用户jxl user_id,group_id(主组),groups(用户所在的组)
创建组 groupadd 组名
删除组 groupdel 组名
给组qq内添加jxl用户(jxl具有qq组的权限),既给jxl添加qq副组
修改用户user_id:
查看文件详细信息: ll 文件名
-rw-r--r--:表示文件的权限信息.总共10位
第一位表示文件类型.
剩下9位.3位一组.3位必须占满
r:读权限
w:写权限
x:执行权限
更改文件权限:chmod
赋值的形式
查看目录权限: ll -d 目录
修改目录权限:chmod 这里修改/tmp/m1/m2目录权限,去掉其他用户进入该目录的权限
修改目录权限与修改文件权限类似,同上.
属主,属组的权限管理: chown 组名.组名 文件
改文件的属主,属组
改目录的属主,属组
只改属主
只改属组
改变目录下所有子目录,子文件的属主,属组 chown -R
作用:
硬盘的逻辑结构:
建立主分区:
建立扩展分区以及其他分区:
删除分区:
在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。在一个硬盘中最多只能存在4个主分区。如果一个硬盘上需要超过4个以上的磁盘分块的话,那么就需要适用扩展分区了。
如果使用扩展分区,那么一个物理硬盘上最多只能3个主分区和1个扩展分区。扩展分区不能直接使用,它必须经过第二次分割成为一个一个的逻辑分区,然后才可以使用。一个扩展分区中的逻辑分区可以任意多个。
fdisk命令: fdisk /dev/sdb b:表示第二块硬盘
常用选项
初始化分区表命令: partprobe命令的功能:重新初始化内存中内核的分区表。
格式化制作文件系统:
格式化;格式化制作文件系统.注意:每一个分区都需要单独的格式化 eg:mkfs.ext4 /dec/sdb1 mkfs:make filesystem ext4:是一种文件系统
常用的文件系统类型
什么是挂载: 在linux操作系统中, 挂载是指将一个设备(通常是存储设备)挂接到一个已存在的目录上。 我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上, 然后通过访问这个目录来访问存储设备。磁盘相对于一个封闭的水桶,要想使用水桶(装水或倒水),需要连接管子.这里的管子相当于一个目录,通过对该目录的增删改达到对磁盘上数据的处理.卸载挂载相当于拔掉管子.
挂载命令: mount 分区 目录 例:mount /dev/sdb1/ /sdb1
df命令:查看挂载信息 参数 : h 查看内存大小
卸载挂载命令: umount -l 目录 :参数:l 代表强制卸载
分区格式化磁盘做的事情,创建系统文件(用于对磁盘应用管理):
eg:
磁盘占满的2中情况:
软连接:符号链接是指向另一个文件的一个文件。相当于windows下的快捷方式
命令:ln-s 源路径 目标路径
特点:
硬链接
硬链接的定义:一个硬链接是一个文件名与一个i节点之间的对应关系,也可以认为一个硬链接是在所对应的文件上添加了一个额外的路径名。
命令:ln 源路径 目标路径
特点:
1) 归档的定义:归档(archiving)就是将许多文件(或目录)打包成一个文件。
2) 归档的目的:归档的目的就是方便备份、还原及文件的传输操作。
3) tar命令的功能:将多个文件(也可能包括目录,因为目录本身也是文件)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件。
4) tar命令的常用选项:
创建归档: tar -cj 归档文件名 需要归档的文件名
查看归档内容:
将归档内容放到其他文件夹内 -C:指定文件位置.
归档压缩
解压:
查看文件全部文件:cat
使用cat进行文件合并
符号: > 覆盖 :将显示的内容覆盖到文件中.当a.txt文件不存在时,会创建出来.
符号: >> 追加:将内容追加到文件末尾
统计多少行数: wc -l :/etc/passwd文件由20行
压缩:压缩就是将一个大的文件通过一些压缩算法变成一个小文件。
压缩的目的:主要是缩小文件的大小,这样会节省存储文件的磁盘或磁带的空间,另外在网络上传输这些小文件也会减少网络的浏览(也就是节省网络的带宽)。
解压缩:解压缩就是将一个通过一些压缩算法的文件恢复到压缩之前的样子。
压缩:gzip
压缩到其他目录
解压:gunzip 解压到当前目录
top命名:系统监视
进程的定义:进程是程序的一次动态执行.加载到内存中,并执行
守护进程的定义:守护进程是在后台运行并提供系统服务的一些进程。
父进程、子进程的定义:当一个进程创建另一个进程时,第1个进程被称为新进程的父进程,而新进程被称为子进程。
僵尸进程: 僵尸进程是当子进程比父进程先结束,而父进程又没有回收子进程,释放子进程占用的资源,此时子进程将成为一个僵尸进程。如果父进程先退出 ,子进程被init接管,子进程退出后init会回收其占用的相关资源.危害: 如果大量的产生僵尸进程,将因为没有可用的进程号而导致系统不能产生新的进程. 此即为僵尸进程的危害,应当避免。
查看内存的详细信息:free 或 free -h
swap: Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
ps( process search) :用来显示当前进程的状态。
ps - aux : 显示所有的与用户相关的完整信息
管道符: | 将前面命令的处理结果给下一条命令处理 ps | grep 'top' 全部进程 --> 过滤掉其他,保存每行内包含'top'内容
过滤: 过滤文件 ==>. grep 内容 文件 :将文件内容过滤出来 参数 -v :反向过滤,去掉内容获取其他部分
终止进程 kill -9 pid :pid为进程id
终止全部进程:pkill -9 进程名 当开启一个软件或同时启动多个进程,子进程,该命令可以同时终止
vi的定义:vi是一个UNIX和Linux系统内嵌的标准正文(文字)编辑器,它是一种交互类型的正文编辑器,它可以用来创建和修改正文文件。
vi编辑器的操作模式,vi编辑器的3中基本模式:
1.命令模式
2.扩展模式.
输入: 从命令模式进入扩展模式,按esc进入返回命令模式
3.编辑模式.
4.快捷键:
ifconfig:配置和显示linux系统网卡的网络参数
ifconfig被用于配置和显示linux内核中网络接口的网络参数,用ifconfig配置的网卡信息,计算机重启后配置就不存在了.要想修改的配置始终不变,就要修改网卡的配置文件.
ifconfig(参数)
网卡的配置文件
配置文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0
1. DEVICE=eth0 网卡的名字
2. HWADDR=00:0c:29:90:89:d9 HWADDR HardWare Address 硬件地址 MAC地址
3. TYPE=Ethernet 网络类型 以太网
4. UUID=ae779ae6-044d-43d5-a33b-48c89e8de10e #UUID 做到系统中独一无二。
5. ONBOOT=yes BOOT ON ? 在开机或重启网卡的时候是否启动网卡
6. NM_CONTROLLED=yes 是否受network程序管理
7. BOOTPROTO=none 网卡是如何获取到ip地址 网卡获取ip地址的方式
a. dhcp 自动获取ip地址
b. none 固定的ip地址
c. static 固定的ip地址
8. IPADDR=10.0.0.100 IPADDR ip地址
9. NETMASK=255.255.255.0 子网掩码 决定这个局域网中最多有多少台机器
10. GATEWAY=10.0.0.2 网关 整个大楼的大门
11. USERCTL=no 普通用户是否能控制网卡
12. /etc/resolv.conf 配置DNS 网卡配置文件的DNS优先于/etc/resolv.conf
13. DNS 域名解析器 阿里的域名解析器:223.5.5.5 223.6.6.6
重启网卡 /etc/init.d/network restart
rpm:是RPM软件包的管理软件
rpm (选项) (参数)
yum:yum是基于rpm的软件包管理软件,能够从指定的服务器下自动的下载rpm包并安装,可以自动处理依赖关系.yum提供了查找,安装,删除某一个,一组甚至全部软件包的命令.
yum(选项) (参数)
wget:wget命令,用于从指定的url下载文件.
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
linux系统默认安装了ssh服务
[root@localhost ~]# rpm -qa | grep openssh #查看ssh服务
openssh-server-7.4p1-16.el7.x86_64
openssh-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64
[root@localhost ~]# service sshd status 服务端启动shh服务.
ssh配置文件: /etc/ssh/sshd.config
xshell5:远程管理软件
输入ip 端口号远程连接服务器.
输入用户密码,远程操控服务.