文章目录
- 1.网络的三种连接方式
- 2.磁盘分区机制
- 3.虚拟机快照
- 4.目录结构
- 5、关机、重启、登录注销命令
- 6.用户操作
- 7.指定运行级别
- 8.帮助指令
- 9.文件操作指令
- 10.时间日期类(非重点了解)
- 11.搜索查找类
- 12.打包与压缩
- 13.权限和组
- 14.任务调度(crond)
- 15.进程
- 16.rpm包管理
- 17.yum
- 18.Shell编程
- 19.运算式
- 20.条件判断
- 21.分支语句
- 22.循环控制
- 23.Read函数
- 24系统函数
- 25自定义函数
- 26.日志
- 27.恢复与备份
1.网络的三种连接方式
1.1网段的概念
通俗来说一个ip地址可写为XXX.XXX.XXX.XXX,只要前三组数据相同,就表示在同一网段,表示可以相互通信。
1.2基础概念
linux系统有三种网络模式分别是桥接模式、NAT模式、仅主机模式,名称分别为vmnet0、vmnet1、vmnet8,但是物理机上的虚拟网卡只有vmnet1和vmnet8,具体原因请看一下信息。
1.3桥接模式(Bridged)
桥接模式就是在物理机的网卡和虚拟的网卡上建立一个网桥,可以把物理机的网卡想象成交换机,这样就可以和同一网段上的主机进行通信了。(如果需要联网,则网关与DNS需要与主机网卡一致。)
1.4NAT模式(地址转换模式)
虚拟NAT设备和虚拟DHCP服务器来实现虚拟机上网功能
1.5.仅主机模式
Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯如图。
2.磁盘分区机制
2.1原理介绍
- Linux无论有几个分区,分给哪一个目录使用,他归根结底就只有一个根目录,一个独立切唯一的文件结构,Linux中每个分区都是用来组成整个文件系统的一部分。
- Linux采用了一种叫“载入“的处理方法,它的整个文件系统包含了一整套的文件和目录,且将一个分区和一个目录挂载起来,这时要在入的一个分区将使它的存储空间在一个目录下获得。
2.2查看磁盘分区命令
lsblk
lsblk -f
2.3硬盘说明
例如:
2.4给虚拟机增加硬盘(centOS7)
- 1.虚拟机增加硬盘
- 2.格式化硬盘,为硬盘设置类型
- 3.格式化分区
- 4.暂时设置挂载卷
- 5.永久设置挂载卷(修改/etc/fstab文件)
2.5查看磁盘容量
df -h
查看磁盘的相关信息du -h
查看文件的磁盘容量wc
查看文件的行数 字数 字节数
3.虚拟机快照
4.目录结构
/bin
存放最经常用的命令/sbin
存放系统管理员使用的系统管理程序/home
存放普通用户的主目录,每个用户都有一个自己的目录,一般该目录名是以用户账号命名/root
该目录为系统管理员的用户主目录/lib
系统开启所需要最基本的动态连接共享库,其作用类似于Windowsli的DLL文件,几乎所有的应用程序都需要用到这些共享库/lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件/dev
类似于Windows的设备管理器,把所有硬件都已文件的形式存储/media
linux系统会自动识别一些设备,例如U盘,光盘mnt
系统提供该目录是为了让用户临时挂在别的文件系统,我们可以将外部的存储挂载在```mnt``上,然后进入该目录就可以查看里面的内容了/opt
这是给主机额外安装软件所存放的目录。/etc
所有系统管理所需要的配置文件和子目录/usr
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于window的program files目录/boot
存放linux使用的一些核心文件/proc
虚拟目录,系统内存映射,不能动/src
service的缩写,该目录存放一些服务启动之后需要提取的数据/sys
用来看内核态的一些驱动或者设备/tmp
用来存放一些临时文件/usr/local
用来安装通过编译源码方式安装的程序/var
将经常被修改的目录放在这个目录下,包括各种日志文件selinux
SELInux是一种安全子系统,它能控制程序访问特定文件,有三种工作模式,可以自行设置。
5、关机、重启、登录注销命令
shutdow -h now
立刻进行关机shutdow -h 1
1分钟后进行关机shutdown -r now
立刻进行重启halt
关机reboot
重启sync
把内存的数据同步到磁盘(注意每次重启/关机都要做一次,虽然)su - 登录名
临时切换账号logout
退出当前用户,在图像化界面上无效
6.用户操作
6.1常用操作
useradd 用户名
添加用户passwd 用户名
修改用户密码userdel 用户名
删除用户,也可以通过删除用户的主目录来删除用户userdel -r 用户名
id 用户名
查看当前用户su - 用户名
切换用户who am i
查看当前登录用户
6.2用户组
6.2.1操作
groupadd 组名
:新增组groupdel 组名
:删除组useradd -g 用户组 用户名
:增加用户名的时候直接设置用户组,不设置用户组,会自动创建一个与登录名相同用户组usermod -g 用户组 用户
:修改用户名的用户组
6.2.2与用户组相关的文件
/etc/passwd
:记录用户信息/etc/shadow
:口令配置文件/etc/group
:组配置文件
7.指定运行级别
- 0:关机
- 1:单用户【找回丢失密码】
- 2:多用户没有网络服务
- 3:多用户状态有网络服务常用
- 4:系统未使用保留给用户
- 5:图形界面常用
- 6:系统重启
7.1开机流程
7.2systemctl指令
ls /usr/lib/systemd/system | grep 服务名
:查询当前服务是不是被systemctl管理systemctl start 服务名
:临时开启服务,系统重启重启后不生效systemctl stop 服务名
:临时关闭服务,系统重启重启后不生效systemctl status 服务名
:查看当前服务状态,也可以用systemctl list-unit-files | grep 服务名
来查询systemctl disable 服务名
:永久关闭服务systemctl enable 服务名
:永久开启服务systemctl is-enable 服务名
:查看当前服务是否是永久开启
7.3firewalld指令
firewall-cmd --permanent --add-por=端口号/协议
:打开端口firewall-cmd ==permanent --remove-port=端口号/协议
:关闭端口firewall-cmd --reload
:打开/关闭端口,需要重新执行这条语句firewall-cmd --query-port=端口/协议
:查询端口是否打开
7.4top指令
7.5netstat命令
-an
:以一定顺序排列输出-p
:显示那个进程在调用
8.帮助指令
- mam:获得帮助信息
- help指令
9.文件操作指令
pwd
:显示当前文件的绝对路径,这个绝对路径指的是以根目录/
为基础的相对目录cd
:切换目录ls
:显示当前目录下的所有子目录和文件的名称-l
:以列表的形式显示当前目录,显示内容比较详细,比如权限…-a
:显示所有文件和目录,包括隐藏文件
mkdir
:创建目录-p
:创建多级目录
cp
:拷贝目录-r
:递归拷贝
less
:分屏查看文件,可以用方向键控制tail
:输出文件尾部的内容>
和>>
(重点)
ln
:软连接,类似于window中的快捷方式,语法:ln -s 源目录 软连接名
history
:查看已经执行过的历史记录touch
:创建一个空文件
10.时间日期类(非重点了解)
date
显示当前时间date +%Y
显示当前年份date +%m
显示当前月份date +%d
显示当前是哪一个天date "+%Y-%m-%d %H:%M:%S"
显示年月日时分秒date -s 字符串时间
设置当前时间cal
查看日历
11.搜索查找类
find
:在指定目录下遍历查找-name
:根据名称查找,例如find /etc -name *.txt
-user
:根据用户查找-size
:根据大小进行查找
locate
:将目录结构保存到数据库中,可以快速定位文件位置,使用前必须先执行updatedb
which
:查看指令的所在位置grep
:过滤查找,一般和管道符号|
一块用,例如cat a.txt | grep ext
,语法:grep 选项 查找内容 源文件
-n
显示行数-i
忽略大小写
12.打包与压缩
- zip文件:
zip
和unzip
- gz文件:
gzip
和gunzip
- tar.gz文件:
tar -zcvf 压缩文件名 源文件
和tar -zxvf 压缩文件
13.权限和组
chown
:改变文件的持有者- ```chgrp``:改变文件的所在组
chmod
:修改文件权限
13.1权限的基本介绍
14.任务调度(crond)
14.1cron表达式
- 语法:
* * * * *
,分别代表分 时 天 月 星期 - 特殊的符号:
*
:任意,
:不连续的时间,如0 8,12,14 * * *
是每天的8点,12点,14点执行-
:连续的时间,如0-10 * * * *
是每小时的前10分钟执行*/n
:每隔多久执行一次
14.2crontab
- 语法:
cron tab 选项
-e
编辑crontable定时任务-l
查询crontab任务-d
删除当前用户的所有crontab任务
- 重启crontab:
service restart crontab
14.3at命令
- 语法:
at 选项 时间
15.进程
15.1查询进程
ps
:查看目前系统中,有哪些正在执行的,有那些正在执行,以及它们执行的状况,可以不加任何参数。-u
:以用户的形式显示信息-x
:显示后台进程运行的参数-a
:显示当前终端的所有进程-e
:显示进程的所有信息,与-a
相同-f
:显示父进程
pstree
:树形显示进程
15.2杀死进程
kill
:杀死进程-9
:强制杀死
-killall
:杀死进程和进程下的所有子进程
16.rpm包管理
rpm -qa | grep 软件
:查看当前系统中是否安装了firefoxrpm -e RPM包的名称
:卸载rpm包rpm -ivh RPM包的全路径名称
:安装rpm包
17.yum
yum list
:显示软件列表yum install xxx
:软件安装
18.Shell编程
18.1脚本格式要求
- 脚本开头必须声明shell形式(一般我们使用bash shell,所以要写上
#!/bin/bash
- 脚本需要有可执行权限
- 不能随便使用空格
18.2变量
18.2.1规则
- 变量名称可以由字母、数字、下划线组成,但是不能以数字开头。
- 等号两侧不能有空格
- 变量名称一般习惯为大写(规范)
18.2.2语法
- 系统变量
- 自定义变量
- 全局变量
- 位置变量
- 预定义变量
19.运算式
- expr m - n
- expr * / % 乘 除 取余
20.条件判断
21.分支语句
21.1 if
if [ 条件判断 ]
then shell命令
elif [ 条件判断 ]
then shell命令
else
shell命令
fi
21.2 case
case 变量 in
值1)
;;
shell表达式
值2)
;;
shell表达式
*)
;;
.....
shell表达式
esac
22.循环控制
22.1for
第一种写法
for 变量 in 值1 值2 值3....
do
程序/代码
done
第二种写法
for((初始值;判断条件;变量变化))
do
程序/代码
done
22.2while
while [ 条件表达式 ]
do
程序
done
23.Read函数
语法
read 选项 提示语 变量名
24系统函数
basename
dirname
25自定义函数
26.日志
26.1执行原理