赞
踩
**
**
磁盘基本概述
- Linux中磁盘的命名方式与磁盘的接口有关,规则如下:
- 传统IDE接口硬盘:/dev/hd[a-z]
- SCISI接口硬盘:/dev/sd[a-z]
- 虚拟化硬盘:/dev/vd[a-z]
- 在设备名称的定义规则如下,其他分区可以以此类推
- 系统的第一块 SCSI 接口的硬盘名称为/dev/sda
- 系统的第二块 SCSI 接口的硬盘名称为/dev/sdb
- 系统中分区由数字编号表示,1-4留给主分区使用和扩展分区,逻辑分区从5开始
- 实例
- /dev/sda 第一块磁盘
- /dev/sda1 第一块磁盘的第一个分区
- /dev/sdb1 第二块磁盘的第一个分区
- 我们可以使用lsblk查看磁盘分区
MRB的特点
MBR支持最大2TB磁盘,他无法处理大于2TB容量磁盘
只支持最多多4个主分区。若想想要更多分区,需要创建扩展分区,并其在创建
GPT
支持128个主分区
大于2TB容量磁盘
磁盘容量检查
使用df命令查看磁盘容量,不参加
lsblk 查看分区情况。当使用磁盘时必须进行分区,必须查看分析情况
磁盘分区
fdisk分区
fdisk -l:列出所有磁盘的分区情况
-m :输入常用的命令
n:新建一个分区
d:删除一个分区
l:列出已知的分区类型
t:更改分区类型
w:保存分区的内容退出
q:不保存内容退出
partprobe:刷新分区表
root密码:Asimov
普通用户密码:redhat
root用户执行:yum -y install ansible
普通用户执行:exam-setup
# 开始考试
查看网卡:nmcli connection show 查看以太网连接网卡是哪个,modify参数需要写的是Connection的名字,而不是device的名字
配置网卡 nmcli connection modify Connetioname ipv4.address 略 autoconnect yes
启动网卡 nmcli connection up Connetioname
gdisk分区
安装gdisk工具:yum -y install gdisk
磁盘格式化
使用mkfs命令格式化磁盘,创建文件系统
mkfs.xfs 格式化为xfs类型
mkfs.ext3 格式化为ext3类型
mkfs.ext4 :格式化为ext4类型
mkswap 格式化swap类型
磁盘挂载
命令mount挂载磁盘,实质为文件指定访问入口
临时挂载命令:mount 磁盘,挂载点
blkid:查看UUID号
UUID=“22afb0e2-54db-47e6-9548-0fe2c540a8d9” /abc xfs defaults 0 0
磁盘名/UUID 挂载点 格式化 不备份
永久挂载磁盘命令: blkid查看UUID号 fstab配置文件介绍 参数 卸载挂载磁盘 交换分区swap 创建swapfile 格式化swap分区 检测当前swap分区情况 开启新建的swap分区 关闭新建的swap分区 首先进行分区,选择空余磁盘进行分区 进行格式化mkswap 磁盘名 进行挂载使用,挂载点为swap 进行生效使用,swapon。swapon 磁盘名, swapon 磁盘名,开启swap分区 swapoff 磁盘名 ,关闭swap分区 查看交换分区 swapon -s 或者是free -m
**

**
进程是已启动可执行程序的运行中实例
/proc目录下以数字为名的目录,每一个目录代表一个进程,保存着进程的属性信息。每一个进程的PID是唯一的就算进程退出了,其他进程就不会占用其PID
进程的组成部分
已分配内存的地址空间
安全属性,包括所有权凭据和特权
程序代码的一个或多个执行线程
进程状态
ready:准备状态 ,命令输入在命令行但是没有执行
exec:执行状态,,了已经输入回车
stopped:已经停止,相当于是发送ctr+z
ready:又回到了准备状态,相当于执行力ctr+c
unitnerruptible:不可中断的睡眠,有任务和没任务都不去执行一直处于睡眠状态
interruptible:可中断的睡眠,没有任务处于睡眠,有任务被唤醒执行任务
zombie:僵尸进程,子进程任务完成之后没有全部退出
进程睡眠的原因
当一个执行中的进程,需要加载额外的io资源的时候,由于io设备的速度太慢,使用会转入睡眠状态等待,交出CPU给其他进程,一免浪费剩余执行时间
在多任务处理处置系统中,每个CPU(或CPU核心)在一个时间点上处理一个进程,在进程运行时,他对CPU时间和资源分配的直接要求会有变化,进程分配有一个状态,它随着环境要求而改变。
Linux进程的分类
前台进程:
守护进程
Linux进程状态 R:TASK_RUNNING,可运行状态 S:可中断睡眠 D:不可中断睡眠 K:处于睡眠状态 Linux进程优先级 进程优先级范围:0-139,数字越小,优先级越高 0-99:实时优先级,内核调整 100-139:静态优先级,用户可控制 进程优先级高的特点 获得更多的CPU运行时间 更优先获得CPU运行的机会 要修改进程的优先级可以通过调整进程的nice值来实现,nice值越小,优先级越高: nice值的范围是(-20,19),-20对应100,19对应139 相对优先级 nice级别越高,表示优先级越低(该进程容易将其CPU使用量让给其他进程) nice级别越低,表示优先级越高(该进程更加不倾向于让出CPU) 让给不存在资源争用(例如当前活动进程数少于可用CPU核心数时),即使nice级别高的进程也将仍使用 PS() 用户标识符(uid),他确定 PS支持三种格式: UNIX(POSIX)选项,可以分组但必须以连字符开头 BSD选项,可以分组但不可与连字符同用 GNU选项,以双字符开头 进行管理命令 PS aux:(用户 PID) USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 用户 进程号 CPU使用百分比 内存百分比 虚拟内存大小 常驻内存集 终端 进程状态 开启的时间 PS-elf PS-o(是小写字母o不是数字零,指定需要显示的字段) PS -o user,pid:代表只显示进程的用户以及进程号 F S UID PID PPID (父进程号) C (CPU编号)0PRI(优先级) NI(nice值) ADDR SZ(大小)) WCHAN STIME TTY (终端) TIME (时间)CMD(命令) 进程状态 用户 进程号 1 I root 3 2 0 60 -20 - 0 - 21:37 ? 00:00:00 [rcu_gp] # vmstat 动态查看虚拟内存情况 # vmstat:只能查看当前内存状态 # vmstat 3 :没三秒刷新一次,会无限次数的刷新 # vmstat 3 5:没三秒刷新一次,一共刷新5次 [root@localhost ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 1573732 4284 792276 0 0 21 3 178 147 2 2 97 0 0 僵尸进程 命令 & 把前台的命令放在后台运行 jobs:命令用于显示当前所有的后台作用 fg:命令用于将后台作业调至前台运行 bg:使用bg命令+作业好可使后台停止的作业重新执行 kill:加上作业号可以动手杀死指定作业 把后台命令调用到前台 fg fg %n (n不是经常号,而且通过jobs命令查看中括号里面的数字) 把后台命令调用到前台 bg bg %n (n不是经常号,而且通过jobs命令查看中括号里面的数字) kill %n 杀死某个后台进程
监控进程活动
实时进程监控
intitle程序的类型
sysv风格:int(centos5),实现系统初始化时,随后的初始操作都是借助于脚本来实现的
特点
脚本中含有大量的命令,每个命令都要启动一个进程,命令执行完以后就要终止这个进程。如此一来,系统初始化时将大量的创建进程,销毁进程,工作效率会非常低。
服务间可能会存在依赖关系,不许严格按照一定的顺序来启动服务,前一个服务没启动完后面的服务就无法执行启动过程。并不能进行。
配置文件:/etc/inittab
Upstar风格:int(centos6),由Ubuntu研发的,通过总线形式以接近于并行的方式工作效率比sysv高 特点 基于总线方式能够让进程间互相通信的一个应用进程 不用等俯卧撑启动完成,只要一初始化后可以把自己的状态返回给其他进程 配置文件:/etc/inittab,/etc/int/*.conf systenmd风格:systemd(centos7) 特点:启动速度比sysv和upstart都快 不需要通过任何脚本启动服务,system自身就可以启动服务,其本身就是一个强大的解释器。启动服务时不需要sh/bash的参与 systemd不真正在系统初始化时区启动任何一个服务 只要服务没用到,他就告诉你启动了,实际上并没有启动。仅当第一次去访问时才会真正启动服务 配置文件:/usr/lib/systemd/system,/etc/systemd/system socket(套接字) 系统启动和服务器进程由systemd系统和服务管理器进行管理。此程序提供了一种方式,可以在启动时和运行中的系统上激活系统资源、服务器守护进程和其他进程 守护进程时在执行各种任务的后台等待或运行的进程。为了侦听连接,守护进程使用套接字。套接字(socket表示也可以)可以由守护进程创建,或者与守护进程分离,并且可能由另一个进程创建随后在客户端建立连接时将套接字传递到守护进程 服务通常指的时一个或多个守护进程,但启动或停止一项服务可能会对系统的状态进行一次性更改(如配置网络接口),不会留下守护进程之后继续运行。
Systemd的新特性
系统引导时实现服务并行启动
按需激活进程
系统状态快照
基于依赖关系定义控制逻辑
systemd的核心概念unit
systemd使用unit
0代表关机
1:代表单用户模式
2/3/4:多用模式
5:图形化
6:重启
unit关键特性 socket与服务程序分离 基于bus的激活机制: 使用使用dbus实现进程间通信的服务 不兼容特性 systemctl命令固定不变 非由systemd启动的服务,systemctl无法与之通信 只有已经启动的服务在级别切换时才会执行stop,在centos6以前是所有s开头的服务全部start,使用k开头的服务stop 系统服务不会读取任何来自标准输入的数据流 每个服务的unit操作均受5分钟超时时间限制 6版本以及之前 开启服务:service 服务名字 start 停止服务:开启服务:service 服务名字 stop 重启服务:开启服务:service 服务名字 restart 设置服务开机自启:chkconfig --add 服务名 设置服务不开机自启:chconfig 服务名 off 关机:shutdown -h now 重启:reboot 7以及之后的版本 开启服务:systemctl start 服务名字 停止服务:systemctl stop 服务名字 重启服务:systemctl restart服务名字 查看服务状态:systemctl status服务名字 设置开机自启:systemctl enable 服务名字 不开机自启:systemctl diaable 服务名字
使用systemctl管理服务
语法:systemctl COMMAND name[.service | ]

权限简介
文件的权限主要针对三类对象进行定义
owner:属主,u
group:属组,g
other:其它,o
三种权限 r=4:文件 ----可读,可以使用类似cat等命令查看文件内容 w=2:文件 ----可写,可以编辑或删除除此文件 x=1:文件:可执行,eXacutable,可以在命令提示符下当做命令提交给内核运行 r:可以对此目录执行ls以列出内部的所有文件 w:目录---可以在此目录创建文件,也可删除目录中的文件 x:目录 ---可以使用cd切换进此目录,也可以使用ls -l 查看内部文件的详细信息 修改权限的命令chmod 语法:chmod 权限 文件 -R 递归修改权限 chown -R tom abc/ 修改某类用户或某些类用用户权限: u,g.o.a chmod 修改所有者的权限:chmod u+/ - /=权限 文件名 这个所属组的权限:chmod g+/- /=权限 文件名 修改其他人的权限:chmod o+/-/=权限 文件名 修改文件所有者:chmod 用户名 文件名 chown tom 123 修改文件123的所有者为tom用户 修改所有者和所属组:chown 用户名 :组名 文件 修改所属组:chown .组名 文件 chgrp 修改文件的所属组,并且只能够修改所属组 语法 文件:chgrp 组名 文件名 目录:chgrp -R 组名 目录名
遮罩码umask
文件最终权限:666-umask
目录最终权限:777-umask
进程访问文件时的权限取决于进程的发起者:
进程的发起者是文件的属主时,则应用文件属主权限
进程的发起者是文件的属组时,则应用文件属主权限
应用文件“其它”权限
duid:如果没有特殊权限。进程谁发其就属于谁。加了特殊权限之后,不再是进程谁发起的属于谁,而是看文件峰所有者是谁
特殊权限
SUID(4),运行程序时,这个程序启动的进程的属主时程序文件自身的属主而不是启动者为属
chmod u+s file
chmod u-s 4755
如果file本省原来就有执行权限,则suid显示为s。否则显示为s
SGID(2),程序时,这个程序启动的进程的属组是程序文件自身的属组,而不是启动者所属的基本组
如果没有添加特殊权限,那么目录是创建的他的所有者和所属组就属于谁,加了特殊权限之后,那么目录的所属组会继承父目录的所属组
chmod g+s 目录
chmod 2755 目录
Sticky(1):
如果没有添加特殊权限,那么所有人都可以参加文件或者目录,只有有对应的权限都可以执行相关的操作,添加了特殊权限之后,所有人只能删除组件的文件,不能删除其他人的文件
chmod o+t 目录:(必须保证所有人都要rwx 三种权限)
chmod o-t 1777 目录
7755:SUID,SGID,Sticky,文件权限为755
文件系统访问控制列表facl
facl(Filesystem Access Control List):代表文件访问控制列表,针对具体的某个用户来设置权限
语法:setfacl -m u:用户名/用户id:对应的权限 ,能够访问的文件
setfacl -m d:u:用户名/用户id:对应的权限 ,能够访问的文件
取消权限:setfacl -x u:用户名/用户id 文件(-x取消取消,取消的后面所指定的用户权限)
setfacl -b 文件名 代表的是取消文件中我们所设置的所有权限,默认的不会取消
setfacl -m u:用户名/用户id:对应的权限 ,能够访问的文件
setfacl -m du:用户名/用户id:对应的权限 ,能够访问的文件
setfacl -m g:组名/组id:对应的权限 ,能够访问的文件
sudo(授权)
sudo的配置文件:/etc/sudoers
使用visudo配置sudo
大部分配置文件#号都代表注释,少部分情况代表其他的符号代表注释
who which_hosts=(runas)command
who:user_alias,表示运行命令者的身份
which_hosts:host_alias,通过哪些主机
runas:Runas_alias,以哪个用户的身份
command:Cmnd_Alias,运行哪些命令
给普通用户提权 先创建普通用户,给普通用户设置密码 找到命令的绝对路径 ALL 授权的用户ALL=(ALL) 需要授权的命令(绝对路径) 切换普通用户验证,执行命令前必须加上sudo才能执行成功 管理命令 w 显示当前登录到系统的用户有哪些,以及其转让那个在做什么 sleep 睡眠 sleep NUMBER[SUFFIX]... SUFFIX: s:秒,默认 m:分 h:小时 d:天 last显示用户登录历史及系统重启历史 -n 显示最近#次的相关信息 lastb:显示用户错误的登录尝试 lastlog:显示每个用户最近一次成功登录信息 -u:显示特定用户最近的登录信息 basename:显示路径基名 别名分类 用户别名 主机别名
**

**
获取程序包的途径
系统发行版的光盘或官方的服务器
http:mirrors.aliyun.com
http:mirrors.sohu.com
http:mirrors.163.com
项目官方
第三方组织
Fedora-EPEL(推荐)
搜索引擎
http:pkgs.org
http:rpmfind.net
http:rpm.phone.net
软件包管理器的职责
将二进制程序,库文件,配置文件,帮助文件打包成一个文件
安装软件时按需将二进制文件,库文件,配置文件,帮助文件放到相应的位置
生成数据库,追踪所安装的每一个文件
软件卸载时根据安装时生成的数据库将对应的文件删除
软件包管理器的核心功能
制作软件包
安装软件
卸载软件
升级软件
查询软件
校验软件
软件包管理
程序的组成清单(每个包独有)
文件清单
安装或卸载时运行的脚本
数据库(公共)
程序包名称及版本
依赖关系
功能说明
安装生成的各文件的文件路劲及校验码信息
软件包分类
二进制格式(编译好的,装上就可以用)
rpm包作者下载源程序,编译配置完成后,制作成rpm包
why would we do that ?because:
有些特性是编译时选定的,如果编译时未选定此特性,将无法使用
rpm包的版本会落后于源码包,甚至落后很多
源码格式(需要编译,也叫定制)
命令方式:name-VERSION.tar.gz
VERSION:major.minor.release
软件包管理工具
分类
前端工具,常用的前端工具以下这些
yum
apt-get
zypper(suse上的rpm前端管理工具)
dnf(Fedora 22 +rpm前端管理工具)
后端工具。常用的后端工具有以下这些
rpm
dpt
注意:
前端工具是依赖于后端工具的
前端工具是为了自动解决后端工具的依赖关系而存在的
软件安装方式
前端工具安装yum、dnf
后端工具rpm
编译安装(需要自己来去定义的,比如安装的位置,配置文件存放的位置,功能是否开启),前端工具是为了解决工具的依赖关系而存在的
rpm包命令规范
bash(软件名称)-4.2(版本号).46-28(发布次数).el7.x86(硬件平台)_64.(扩展名,表示适用于64位系统)rpm
包的组成
主包:bind-9.7.1-1.el5.i586.rpm
子包:bind-libs-9.7.1-1.el5.i586.rpm bind-utils-9.7.1-1.el5.i586.rpm
rmp包管理
什么是rpm及其作用
rpm是Redhat package manager的简称,用于管理软件包
rpm有一个强大的数据库/var/lib/rpm
rpm的管理工作包括软件的安装、卸载、升级、查询、校验、重建数据库、验证软件包来源合法性等等
rpm包安装
rpm管理命令
安装之前执行mount /dev/sr0 /mnt 代表把光盘映像文件挂载到/mnt,临时挂载,重新系统失败
rpm软件安装:rpm -ivh 软件包的具体路径(/挂载点/BaseOS/Packages/软件包)
rpm -ivh --test /mnt/AppStream/packages/vsftpd-3.0.3-31.el8.x86_64.rpm
/mnt 作为挂载点
mount 挂载
/dev/sr0也就是/dev/cdrom 就是代表光盘印象文件的挂载到
-i:安装 -v:显示详细信息 -h:显示安装进度条 --test:测试安装,但不真正执行安装过程 --nodeps:忽略依赖关系 --replacepkgs:重新安装,替换原有安装 oldpackage:降级 force:强行安装,可以实现重装或降级 nodigest:不检查包的完整性 nosignature:不检查包的来源合法性 noscripts:不执行程序包脚本片断 %pre:安装前脚本 --nopre %post:安装后脚本 --nopost %preun:卸载前脚本 --nopreun , %postun:卸载后脚本 --nopostun rpm -ivh --nodeps 包的路径
rpm包查询
rpm -q 包名,查询软件包是否安装
rpm -qa, 包名,查询使用已安装的包
rpm -qi 包名,查询软件包的详细信息
rpm -ql,包名,列出软件包的文件列表
rpm -qf ,命令的路径,查看命令是有哪一个软件包提供的
rpm -q --whatprovides /usr/bin/cat,命令的路径
rpm -qc ,包名,查看软件包的配置文件所在的位置
rpm -qd,包名,查看软件包的帮助文件存放的位置
rpm-q --provides 包名,查看软件包提供的命令有哪些
升级
rpm -Uvh 软件包具体路径,如果有老版本的软件包则进行升级,如果老版本的软件包没有那就安装
rpm Fvh 软件包具体路径,如果有老版本的软件包则进行升级,如果没有老版本的软件包则退出
如果老版本的然后把配置文件发生了变化,那么升级时不会进行覆盖而是另外生成一个.rpmnew结尾的新文件
卸载
rpm -e ,软件包名字
rpm包检验
yum reolist all:看是否为enabled
**

**
网卡命令
system对网络设备的命令方式
如果firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测,根据此索引进行命令,如eno1
ipcongfig 查看详细网卡详细
ifconfig ens160 网卡名 单独查看某张网卡
ifconfig -a 查看详细网卡信息,包括网卡的启用和禁用
ip link show 查看网络接口情况
ip link show 网卡名 单独查看某一个网卡信息
ip -s link show 查看网络接口报文情况
启用/禁用网卡:
启用网卡:ip link set dev 网卡名 up
禁用网卡:ip link set dev 网卡名down
添加IP地址:IP addr add ip地址 /网段 dev 设备名
删除IP地址:ip addr del ip地址 /网段 dev 设备名
查看路由:route
添加路由
route add -net 网段 gw 有效的网关 dev 设备名字
删除路由
route del -net 网段
网络接口配置文件
网络接口即网卡。配置文件的路劲是/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
TYPE=Ethernet
BOOTPROTO=static
NAME=eth1
NetworkManager管理网络
提供的命令行和图形工具对网络进行设定,设定保存的盘配置文件在etc/sysconfig/network-scripts/
nmcli device show ens160(网卡名):查看具体某个网卡状态
nmcli device ,查看网络状态
nmcli connection show(网卡名):单独查看某张网络连接状态
nmcli connection:查看网络连接状态
网络检测工具与故障排除
ping:命令的目的在于测试另一台主机是否可达,如果ping不到某台主机
-c :指定ping的次数
-i :指定ping包的发送间隔
-w :如果ping没有回应,则在指定超时间间后退出
host与nslooup:命令用于查询DNS记录
host www.baidu.com
nslooup www.baidu.com
netstat:
netstat -antlp:(a代表所有,n代表数字形式显示,t代表tcp,1代表监听端口号,p代表进程号)
netstat -autlp:(a代表所有,n代表数字形式显示,u代表udp,1代表监听端口号,p代表进程号)
ss是一种网络
ss -antl(a代表所有,n代表数字,t代表tcp,l代表listen监听端口号)
http:80
https:443
ssh:22
ftp:20,21
mysql:3306
网络故障排除
网络故障分为硬件/软件故障
网卡损坏
链路故障
网卡驱动不兼容
网络排查思路
ping本地环回口,确定本机tcp/ip协议栈是否正常
ping本机ip地址,确定本地设备以及驱动是否正常
ping同网段主机,确定二层网络是否正常工作
ping网关地址,确定本地与网络是否正常
ping公网地址,确定本地路由是否正常
ping公网域名,确定dns客户端是否正常
服务故障排除思路
**

**
网络进阶管理
链路聚合
网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度
网卡的链路聚合的两种方式:
bond:最多可以添加两块网卡
team:最多可以添加八块网卡
bond的常用两种模式:
bond0(balance -rr)
bond0用于负载轮询(2个网单独都是100MB,聚合为1个网络传输带宽为200MB)
bond1(active -backup)
bond1用于高可用
桥接网络
桥接网络也即网卡
链路聚合配置
桥接网络配置
**

**
Linux系统介绍与安装配置用户和组权限管理
Linux的优缺点
优点:
Linux有庞大的开源软件支持,web服务器,缓存服务器,数据库服务器,这些都是免费的选择,都是稳定成熟的产品
免费:Linux免费或少许收费,节省成本,Windows操作系统不是免费的
稳定(安全):面对服务器,受病毒和黑客攻击非常少,安全稳定,可以连续运行多年而不发生任何重大问题
运行速度快,占用系统资源小,对硬件需求低
缺点: 有些专业软件没有Linux版本 与Windows的区别 免费与收费 正版Windows,需要付费购买,Linux免费或少许费用 软件与支持 Windows大部分软件为收费软件,有微软官方提供重要支持和服务 Linux上大都为开源自由软件,用户可以支持修改定制和再发布,基本免费,由全球所有的Linux开发者和自由软件社区提供支持 安全性 Windows三天两头补丁安装系统安全更新 Linux相对来说比Windows平台更加安全,使用Linux不用装杀毒软件等 使用习惯 Windows:普通用户基本上都是纯图形界面小操作,用户上手容易,入门简单 Linux:兼具图形界面操作和完全的命令行操作,新手入门较困难 应用范畴 在Windows使用百度、谷歌、淘宝时支持这些软件和服务的是后台成千上万的Linux服务器主机,它们时时刻刻都在忙碌地进行数据处理和运算,可以说世界上大部分软件和服务器都是在Linux系统之上 配置静态ip地址 cd /etc/sysconfig/network-scripts/进入网卡配置文件目录(cd代表进入某个地方) 编辑网卡配置文件 vi ifcfig-ens160(vi是编辑器,用来编辑文件内容的) 输入小写字母i代表编辑内容(i其实就是insert插入) BOOTPROTO="static"(把DHCP换成static,也就是改成静态的) ONBOOT="yes"(确认是否为yes,如果是no需要手动改) 最后一行添加内容: IPADDR=192.168.88.130(指定虚拟机的静态ip) NETMASK=255.255.255.0(指定子网掩码(PREFIX=24)) GATEWAY=192.168.88.2(指定网关) DNS1=114.114.114.114 (指定dns(注意dns后面有1)) 改完配置文件之后如何保存退出,先按esc键,在输入:wq!保存退出 只要是修改了配置文件都需要重启服务生效!!! 重启网卡服务 systemct1 restart NetworkManager 在执行reboot重启生效(重启虚拟机生效) shell是Linux的一个特殊程序,是内核与用户的接口 Linux命令的命令格式 命令+[选项]+[参数] 只要是中括号括起来的都是可有可无的 (选择分成短选项(-)和长选项(--)。短选项一般情况下跟上上次使用,而长选择一般情况下跟帮助文档使用) 短选项是可以组合使用的 -A-B=-AB 命令行的辅助操作: Linux中:ctr+c代表的是终止命令 ctr+z代表的是停止 ctr+l清屏 ctr+u清空行首 ctr+k清空行尾 反斜杠/:强制换行 home跳到行首 end跳到行尾· Linux的获取方式 命令 --help(适合绝大多数外部命令) man 命令 目录操作命令 pwd (print work directory)打印工作目录 ---显示当前位置 cd (change directory)改变目录 ---进入某一个目录 cd+位置 代表进入某一个位置 cd 退回到最开始的位置 cd ..代表回到当前位置所在的上一级命令(Linux中两个点代表上一级命令,一个点代表当前位置) ls (list列出) ---列出目录下的文件 ls -a(列出所有的文件和目录,包括隐藏的) ls -l 以长格式的形式列出文件和目录 等于 ll -rw-------.1 root root 第一位代表的类型,是文件还是目录(-代表的普通文件,d代表的是目录) 第二位-第十位 rw- --- ---每三段为一组,每一组对应不同的人员 第一段代表所有者的权限,第二段代表所属组的权限,第三段代表其他人的权限 root root两个root代表的所属者和所属组 1374代表文件的大小 sep 28 11:15代表日期和时间 ls -h h代表human以人可读的方式显示 ls -1 -h等于 ls -1h mkdir (make diretory创建目录)---创建目录 语法:mkdir 需要创建的目录 -p mkdir -p 123/456 创建目录时如果父目录不存在可以一起创建 -v 显示创建目录的过程 文件操作目录 touch 创建文件(如果创建文件不存在那就是创建新文件,如果创建的文件村长那就是更新的文件的时间戳) 语法:touch+文件名 cp (copy 复制) 复制 语法:cp 需要复制的文件 需要复制到什么地方去 -r 代表递归复制,当复制的是目录时必须使用 rm (remove移动) 删除文件 删除目录 -f force强制 rm -f 强制删除文件不询问 -r 递归删除,目录使用 rm -rf 强制删除目录不询问(千万不要执行rm -rf /*) 文件层级系统 /bin 是用来存放普通用户的命令 /sbin 是用来存放管理员的命令 /boot 启动 跟系统启动相关的文件存放目录 /dev (device) 跟系统设备相关 /etc 用来存放配置文件的 /home 是 普通用户的家目录 /root 是管理员的家目录 /lib /lib64 都是库文件 /media 以前是挂载点 /mnt 挂载点目录 /opt 以前存放第三方软件的位置 /usr 选择存放第三方软件的位置 / proc 伪文件目录,系统启动之前是空的,启动后才有内容,数字目录代表是进程号,除了进程l是运行的,其他都是睡眠 /run 跟系统运行相关的目录 srv serxice服务缩写 ,跟服务相关的目录 /sys 伪文件目录,系统启动之前是空的,启动后才有内容 /tmp 临时目录,用来存放临时文件的 /var variables可变的,一般情况下是用来存放日志文件的 mv (move)移动 语法:mv 需要移动的文件或者目录 需要移动到的位置 rmdir (remove directory)删除目录 只能删除空目录 语法:rmdir+需要删除的目录 find 用于查找文件或目录 语法:find 查找位置 查找条件 find / -name /123.txt ---代表的是从根开始找,找一个名字叫做123.txt的 find / usr yc --- 代表是是从根开始找,找一个所有者是yc的 find /tmp -type f ---代表的是从/ tmp开始找,,找类似是文件 find / tmp -size +2M ----代表的是从/tmp 开始找,找大小超过2M的 cat 查看文件内容的,但是不适用于文件内容较多的时候,适合文件内容较少的时候使用 语法:cat+需要查看的文件名 head 从头部开始打印文件内容,默认打印10行 -n 指定要打印的行数,可以是-n, 15也可以是-15 head -5 文件名,代表要打印前五行 tail:查看文本文件尾部内容 -n 指定要打印的行数,可以是-n, 15也可以是-15 tail -5:文件名,代表打印后五行 文本处理 cut 截取文本内容 -d 指定字段分隔符,默认是空格 - f 指定要显示的字段 -f 1,3 显示1和3 -f 1-3 显示1到3 cut -d':' -f 1,3 /etc/passwd 代表的是截取/etc/passwd文件中第一字段和第三字段 sed 基于行的过滤和转换文本的流编辑器 -i 修改文件内容 sed -i ‘s/源字符串/新字符串/g' file :字符串替换源字符串,替换正行使用匹配到的字符串 sed -i ‘s/源字符串/新字符串/' file :字符串替换源字符串,只替换每行第一个匹配到的字符 awk 基于列的文本报告工具 -F'' 选择分隔符;分隔符用引号引起来 ‘/root' 匹配关键字root行 awk -F':' ' '{print $1,$3}' /etc/passwd 代表截取etc/passwd 文件中第一字段和第三字段 文本排序 sort: 文本排序,默认为升序,不是按数值大小排序 - -n 根据数值大小排序 - -r 逆序排序 - -t 字段分隔符 - -k 以哪个关键字段进行排序 - -u 去重,相同行只显示一次 - -f 排序时忽略大小写 uniq 报告重复的行(连续且完全相同方为重复) -c 显示文件中行的重复的次数 -d 显示行数 -u 只显示未重复的行 文本统计 wc(word count) -c 显示字节数 -l 显示行数 -w 显示单词数 大小统计 du 查看文件或目录占用的磁盘大小 -h 以人类友好的方式显示大小 -s 显示总的占用空间大小 du sh +具体的文件 ,代表查看具体某个文件/目录所占磁盘空间的大小 df 报告文件系统磁盘空间使用情况 -i 显示 inode信息 df -h 代表的是查看磁盘空间使用情况,磁盘挂载情况 主机名管理 hostname 查看或永久修改主机名,重开终端有效,重启失效 hostname 单独执行是查看当前主机名 hostname 需要设置的主机名 再去在执行bash生效 hostname1 查看或永久修改主机名,重开终端失效,重启依然有效 hostname set-hostname需要设置的主机名,再去在执行bash生效 其他 time 显示命令的执行时间,例如time ls /etc clear 清屏 whoami 显示当前登录用户 w 显示当前在线用户并显示其在运行的命令 who 查看当前在线用户 which 显示指定哪里的绝对路径 Linux中路径分成了两种:绝对路径 相对路径 /etc/sysconfig/network-scripts ../network-stripts date 显示或设置日期与时间 不带参数的date用于显示当前系统日期与时间 -s 以字符串方式设置时间 格式化输出时间:+ %Y 年 %m 月 %d 日 %H 时 %M 分 %S 秒 less 查看文件内容(全屏显示内容,乡下翻一页按空格,往上翻按b键,想退出按q,看完不会自动退出) 语法:less+需要查看文件的名字 more 查看文件内容(全部显示内容,看完自动退出,不支持翻页,看完自动退出) 语法:more+查看需要文件的名字 grep 过滤 过滤文件中的指定内容 语法:grep [ 选项] 过滤的内容 目标文件 grep -i 'abc' 1.txt -----(-i代表忽略大小写,代表的是1.txt文件中过滤只要是有abc的不管大小写这个内容就行) grep -iv 'abc' 1.txt (-v代表反向匹配,也就是意味着后面的内容是什么就取后面内容相反的) ^...... " 表示以........开头,".......$"表示以........结尾 tar 即可以用来压缩也可以进行解压缩 压缩: tar -jcf (-j ,--bzip2 -c,--create -f,--file=ARCHIVE) tar -Jcf (-J,--xz -c,--create -f,--file=ARCHIVE) -Jcf 123.tar.xz 1.txt (压缩文件为1.txt, 压缩之后的名字为123.tar.xz) tar -zcf (-z,--gzip -c,--create -f,--file=ARCHIVE)) 解压缩: tar xf (-x, - -extract, --get -f , --file=ARCHIVE)) tar xf +需要解压的文件 -c 指定解压路径 压缩,解压缩命令 压缩格式 gz ,bz2,xz,zip,Z gzip gzip 压缩后的文件以.gz结尾 gzip /path/to/somefile 压缩完成会删除原文件 -d 解压缩,解压缩完成好会删除原文件 -c 将结果输出至标准输出 -# #用1-9代替。指定压缩比,默认为6 gun gzip /path/to/somefile_compress_file.gz 解压完成好会删除原文件 zcat /path/to/somefile.xz 不解压的情况下查看文本文件的内容 xz 压缩好的文件以.xz结, 比bzip2有着更大压缩比的压缩工具,使用格式近似尾 xz /path/to/somefile 压缩完成后删除原文件 -d 解压缩,解压完成后会删除原文件 - Bash的命令 history 命令历史 直接使用代表查看命令历史 history -c 代表清空所有的命令历史 !n (n代表想要执行第几条命令) 命令别名设置语法: alias 别名='之前原本的命令' -----仅仅只是在当前的登录的界面生效 命令别名永久生效:将~/bashrc文件中 别名取消:unalias 别名 重定向 >:代表覆盖,原文件如果有内容则会被全部替换 >>:代表追加,原文件如果有内容则会在后面进行新加内容,原内容依然存在 2>:代表覆盖,把错误的结果保存在后面的文件中 2>>:代表追加,把错误的结果追加在后面的文件中 &>:代表的是不管前面的命令是正确还是错误都可以写入到后面的文件 &>>:代表的是不管前面的命令是正确还是错误都可以追加到后面的文件 将命令输出重定向到文件 将标准输出重定向到文件 ls /etc/ >etcdir 将标准输出重定向追加到文件 ls /etc/ sysconfig/ >>etcdir 程序编辑器vim 三种工作模式 命令模式,输入模式,末行模式 不同模式之间的切换 命令模式--->插入模式 小写字母a----代表的是内容在光标的后面添加内容 小写字母i-----代表的是光标的前面开始添加内容 小写字母o----代表的是从光标所在行的下方新建一行添加内容 大写字母O----代表的是从光标所在行的上方新建一行添加内容 大写字母A----代表的是从光标所在行的行尾添加内容 大写字母I-----代表的是从光标所在行的行首添加内容 插入模式---->命令模式 输入esc键 命令模式--->末行模式 输入冒号(:) 末行模式---->命令模式 按esc键,在按i进入插入模式 打开文件方式 vim 文件名 vim +n 文件名 代表打开文件把光标定位第几行(n是数字) vim +/匹配字符 文件名 代表的是打开文件并且定位到所匹配所在的行 关闭文件方式 末行模式下“ :q! 代表不保存文件退出,即使之前做了更改依然不会生效,会自动还原(q代表的是quit退出) :wq! 代表保退出,如果文件进行更改,那么文件退出之后就是更改之后的内容(w 代表的是write ,q代表的是quit) :w 代表的是保存还是不退出 :w! 代表强行保存但是不退出 :x 代表强行保存并退出 命令模式下退出 shift+zz 保存并退出 移动光标 逐字符移动 h:向左移动一个字符 l:向右移动一个字符 k:向上移动一个字符 j:向下移动一个字符 以单词为单位移动 w:移动到下一个单词的词首 e:跳转到当前或下一个单词的词尾 b:跳转到当前或上一个单词的词首 行内跳转 0:数字0,跳转到绝对行首 ^:跳转到行首的第一个非空白字符 $:跳转到绝对行尾 行间跳转 gg:跳转到第一行 G:跳转到最后一行 翻屏 Ctrl+f:向下翻一屏 Ctrl+b:向下上翻一屏 Ctrl+d:向下翻半屏 Ctrl+u:向上翻半屏
网络管理配置
软件管理
磁盘和磁盘进阶管理配置
为何用户何为组
用户和组概念
用户分类
Linux用户分为管理员和普通用户两种:
用户类型 用户ID
管理员 0
普通用户
1-65535
系统用户
用户id 1-499
登录用户
用户id 500-60000
Linux通过判断安全上下文的概念完成用户权限的指派
先判断用户是否是某文件的属主
在判断用户是否属于某个组
最后定为其他用户
Linux用户组类别
用户组类别
私有组
特性
创建用户时,如果没有为其指定所属的组,系统会自动为其创建一个用户名系统的组
基本组
特性
用户的默认
附加组
特性
默认组以外的其他组
Linux用户和组相关的配置文件
各配置文件说明
配置文件
/etc/passwd:用户及书写信息(名称,uid,基本组id等等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性,在用户执行基本组切换时使用
用户配置文件: root:x:0:0:root:/root:/bin/bash 第一段:代表用户名 第二段:代表占位符,目前没有意义 第三段:用户id,uid 第四段:组id,gid 第五段:用户的描述信息 第六段:代表的是用户家目录 第七段:代表的是登录shell 组配置文件:/etc/group root:x:0: 第一段:代表的是组名 第二段:密码占位符 第三段:uid 第四段:gid 配置文件:/etc/shadow 第一段:登录名 第二段:加密后的密码 第三段:最近一次更改密码的日期 第四段:密码的最小使用期限 第五段:密码的最大使用期限 第六段:密码警告射击段 第七段:密码禁用期 第八段:账号的过期日期 第九段:保留字段 加密方法 对称加密:加密和解密使用同一个密钥 公钥加密:每个密码都成对出现,一个私钥,一个公钥 单向加密:也叫散列加密,提取数据特征码,能加密不能解密,常用于做数据完整性检验 特点:雪崩效应(初始条件的微小改变,将会引起结果的巨大改变0-) Linux用户密码加密方式 Linux密码是使用的单向加密方式进行加密 密码复杂性策略 使用数字、大写字母,小写字母及特殊字符中至少3种 足够长 使用随机密码,不要使用有意义的单词或数字 定期更换,不要使用最近曾经使用过的密码 用户和组相关的管理命令 用户管理 用户创建目录useradd -u uid 用户名,代表的是创建用户时设置用户的id,uid可以事先不用存在 -g GID 用户名,代表的是创建用户时指定用户组的id,组id必须事先存在,创建完成后用户组id属于指定的组,而uid是随机生成的 -G groupname,... 组名, 用户名, 代表的是创建用户,创建完成后会添加到另外一个组中 -c "COMMENT” '指定用户的描述信息',用户名 -d /path/to/directory 具体路径 用户名,创建用户时指定家用户目录,这个价目录必须事先不存在 /sbin/nologin :代表的四不允许登录 useradd -s / sbin/nologin 用户名, 代表创建用户不允许这个用户登录 useradd -r -M -s /sbin/nologin 用户名,创建用户不创建用户的家目录,创建的用户是系统用户,不允许用户登录 -M -r -D 查看用户账号的信息命令id 用户验证: id 用户名 //验证用户是否创建成功。显示用户 删除用户:userdel (user delete删除用户) 语法:userdel -r 需要删除的用户名 修改用户账户:usermod(user moditfy修改) usermod -u uid 用户名,代表修改用户id,这个用户id事先不存在 usermod -g guid 用户名,代表的是修改用户组id,组id必须事先存在,及更改了组id,也改了所属组 usermod -a -G 组名,用户名,代表添加用户的附加组,如果之前有附加组则进行添加 usermod -G 组名,用户名,代表添加用户的附加组,如果之前有附加组则进行覆盖 usermod -m -d 用户的新家目录,需要更改的用户名,(用户的新家目录必须事先不存在) usermod -e 指定用户账号过期日期 usermod -f 设定非活动期限 用户锁定与解锁 锁定:usermod -L 用户名(锁定之后再密码配置中密码全会出现!,号代表锁定成功) 解锁:usermod -U 用户名, 需要用户登录shell:usermod -是 需要设置的登录shell(一般情况下使用/shell/nologin) 切换用户命令su su USERAME su - USERAME su - 用户名,完全切换 su - 用户名, -c '需要执行的命令' 代表切换到对应的用户执行命令,命令执行完自动退出' echo $? 判断上一条命令有没有执行成功,返回结果是0代表成功,除了0之外的都是失败 bash的配置文件 密码管理 密码管理命令passwd 设置密码 passwd :用户名,代表给某个用户设置密码 管道符 | :把前面命令的结果交给后面的命令去执行 echo:需要设置密码 '| ' passwd --stdin 用户名 passwd -l 用户名 锁定用户 passwd -u 用户名 解锁用户 passwd -d 用户名 删除用户的密码 passwd -n 数字 用户名 设置用户的最短使用时间 passwd -x 数字 用户名 设置用户密码的最长使用时间 passwd -w 数字 用户名 设置用户密码的过期警告时间 密码生产工具openssl openssl dgst -md5 /etc/passwd (dgst代表提前特征码 md5 代表加密方式) openssl passwd -1 -salt hellonjf 随机八个字符(passwd代表生成密码 -1 -satl代表添加杂志,杂质一般都是八个字符) openssl rand -base64 30 (rand 代表的生成随机数, -base64代表加密方式 30 代表的不是生成密码字符长度,而是数字越大密码长度就越长) 组管理 创建目录groupadd groupadd 组名 创建组 groupadd -g gid 组名 创建组是指定组id号 groupadd -r 组名 创建系统组 修改组 groupadmod -d gid(新gid号 )组名,代表修改组id号 groupadmod -n 新组名,原理的组名 修改组名 删除组:groupde1 组名
**

**
crond计划管理概述
系统级别的定时任务
清理系统缓存
老师文件清理
系统信息采集
日志文件切割
用户级别的定时任务
定时同步互联网时间
定时备份系统配置文件
定时备份数据库文件
crond配置文件详解
/etc/cron.deny 拒绝文件,也就是只要写这个文件下的用户都不允许写计划任务
/etc/cron.allow 允许文件,(默认不存在需要自己创建,)只有写这个文件的用户才可以写计划,名字不在文件的没有权限计划任务,但是root用户除外
/etc/crontab //crontab配置文件
crond计划任务管理
crontab --help // 获取帮助
crontab -e 编辑计划任务
crontab -l 列出用户的计划任务
crontab -u 用户名-e 以指定用户的计划任务
含义
*//表示任意的(分,时,日,月,周)时间都执行
-//表示一个时间范围段
,//表示分隔时段
*/n //表示每隔n单位时间
crond配置编写实例
crond计划任务调试
破解密码
重启系统,进到选择界面鼠标点进去快速按键盘上下键,避免页面跳过
输入小写字母e进行编辑
重新挂载系统,mount -o remount,rw /sysroot
切根 chroot / sysroot
设置新密码echo。新密码| passwd —stdin root
创建新的标签文件,标签文件名是固定的touch/.autrelabel
执行两边exit退出,然后自动重启,重启之后新密码登录成功即可
**

物理边界,逻辑边界
物理卷:初始化的磁盘
卷组:由多个物理卷组合而成的就是卷组
逻辑卷:在卷组中划分出来的区域
羡创建物理卷。在创建卷组。在创建逻辑卷
创建物理卷:pvcreate(physical volume物理卷)
创建卷组:VGcreate(volume group卷组)
创建逻辑卷“lvcreate(logical volume逻辑卷)
部署lvm
创建步骤:
添加物理磁盘,创建物理卷
创建卷组,价格物理卷加入卷组
在卷组中划分逻辑卷
格式化逻辑卷
挂载磁盘
物理卷创建:PVcreate 分区名 验证物理卷是否创建成功:pvs 卷组创建:vgcreate 卷组名 物理卷名 验证卷是否创建成功:vgs 逻辑卷创建:lvcreate -L逻辑卷大小, -n 指定逻辑卷名字 卷组名 验证逻辑卷是否创建成功:lvs 格式化逻辑卷:mkfs.格式化类型 /dev/ 卷组名/逻辑卷名字 卷组扩容:VGextend 卷组名 物理 卷组缩减:sgreduce 卷组名,物理卷名 如果已经挂载,必须先卸掉 umount -f /dev/f/up resize2fs /dev/f/up /512 裁剪容量,必须是先检测文件系统 e2fsck -f /dev/f resize2fs /dev/f/up /. 调整完毕后采取裁剪逻辑容量 lvreduce -L 512M/dev 强烈建议裁剪后,再次检测文件系统 e2fsck -f /dev/f/ 挂载测试 mount /dev/f/up/mnt 删除逻辑卷:lvremove 逻辑卷名字(如果逻辑卷被挂载先进性卸载) 卷组删除:vgremove 卷组名 挂载使用
**

**raid 1 =无提速 有备份 所有的类型中 硬盘使用率最低的
raid 5 至少3块硬盘,至多损坏1块(损坏第二块,数据就丢了)
raid 6 双奇偶校验 至少4块。至多坏2块
mdadm命令的常用参数和作用
参数
-a:检测设备名称
-n:指定设备数量
-l:指定RAID级别
-C:创建
-v:显示过程
-f:模拟设备损坏
-r:移除设备
-Q:查看摘要信息
-D:查看详细信息
-S:停止RAID磁盘阵列
mdadm -Cv /dev/md5 -l -n 3 /dev/sdb/ dev/sdc/dev/sdd
**

**rpm的弊端
当用rpm安装软件时,若遇到有依赖关系的软件,必须先安装依赖的软件才能继续安装我们要安装的软件,当依赖的关系
yum的优劣势
yum最大的优势就是能够解决依赖问题,yum能够自动解决软件安装时的依赖关系
yum的缺陷就是如果在未完成安装的情况下强行终止安装过程,下次安装时将无法解决依赖关系。
什么是yum及其作用
yum(yellowdog update manager),能够实现rpm管理的所有操作,并能够解决各rpm包之间的依赖关系。yum是rpm的前端工具。
挂载光盘
yum的原理
客户端解析/etc/yum.repos.d下面所有以.repo
yum的元数据
yum的配置文件
*/etc/yum.conf 作用:为所有仓库通过够用配置
*/etc/yum.repos.d
yuum的仓库管理
/etc/yum.repos.d/:存放yum仓库的位置,在当前位置下编写的仓库配置文件必须是.repo结尾,
配置本地仓库
进行挂载
进入yum仓库位置:cd /etc/yum.repos.d/
编辑仓库配置文件:vim xx.repo (文件名需要注意),前缀可以自己定义,但是后缀一定是.repo结尾
[BaseOS] 仓库名严格区分大小写,必须写正确
name=baseos 仓库描述,可以自己定义
baseurl=file:///mnt/BaseOS 仓库的来源,本地file:///挂载点/BaseOS
enabled=1开启软件仓库(1启动软件仓库,0禁用软件仓库)
gpgcheck=0 是否检查来源合法性(1检查合法性,0不检查合法性,如果设置为了1那需要些gpgkey)
[AppStream]
name=appstream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
清理仓库缓存:yum clean all
重构缓存:
| yum makecache
|
|
|
验证:yum reolist all: 看是否为enable,是enable说明可用,如果是disabled代表不可用
yum list all: 列出所有软件包,如果能够列出所有的软件包代表可用,如果不能列出代表不可用
yum管理软件
yum工具的使用
-y :安装软件自动回复yes ,yum -y install 软件包名
-q: quit安静,静默模式 yum -q install 软件包名 (安装软件包过程不显示,没办法查看是否安装成功)
常用的conmmand yum list all 列出所有的软件包 yum list available 列出当前可用的软件包,但是并没有的软件包 yum list installed 列出已经安装的软件包 yum list updates 列出需要升级的软件包 yum clean all 清理缓存 yum repolist all 列出所有的repo源 yum repolist enabled 列出可用的repo仓库 yum repolist disabled 列出不可用的repo仓库 yum -y update 软件包名,更新软件包 卸载软件 yum -y remove 软件包名(yum -y remove httpd) yum -y erase 软件包名 yum info 软件包名 ,仓库软件包详细信息(rpm -qi 一样) yum -y provides 命令,查看命令是由哪个包提供的 yum -y localinstall 软件包,本地软件包 yum grouplist 列出组名 yum groupinstalle包名 安装包租
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。