一、初始Linux

Linux内核的组成如下:

  • Linux系统内核

  • 系统级应用内核

内核提供系统最核心的功能,如:调度cpu、调度内存、调度文件系统、调度网络通讯、调度IO等。

系统级应用程序,可以理解为出场自带程序,可供用户快速上手操作系统,如:文件管理器,任务管理器,图片查看、音乐播放等。

二、远程连接到Linux操作系统

通过第三方软件,finalshell,远程连接到Linux操作系统。

ifconfig

查看IP地址。

kali默认关闭ssh服务,需要手动开启。首次使用ssh服务需要修改配置文件中的远程连接选项。

systemctl start ssh 启用ssh服务
systemctl status ssh 查看服务是否成功启用

三、Linux的目录结构

Linux的目录结构是一个树形结构,只有一个根目录/,所有文件都在它下面。

Linux路径的描述方式:在Linux系统中,路径之间的层级关系,使用:/来表示

例如:

/usr/local/....

开头的/表示根目录,后面的/表示层级关系。

四、Linux命令

Linux命令基础:

命令行:即Linux终端,是一种命令提示符页面。以纯“字符”的形式操作系统,它可以使用各种字符话命令对系统发出指令。

命令:即Linux程序。一个命令就是一个Linux的程序(本质是一个二进制程序)。命令没有图形化界面,可以在命令行(终端中)提供字符化的反馈。

无论什么命令,什么用途,在Linux中,命令都有其通用格式:

command [-options] [parameter]
  • command:命令本身

  • -options:命令的一些选项,特意通过选项控制命令的行为细节

  • parameter:命令的参数,多数用于命令的指向目标等

ls命令:

ls命令基础:

ls命令的作用是列出目录下的内容,语法细节如下:

ls [-a -l -h] [Linux路径]
  • -a -l -h是可选的选项

  • Linux路径是此命令可选的参数

当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容。

img

  • 当前登录用户的home目录作为当前工作目录,所以ls命令列出的是home目录的内容

  • home目录:每个Linux操作用户在Linux系统的个人账户目录,路径在/home/用户名

ls命令的参数和选项:

ls [-a -l -h] [Linux路径]
  • -a选项:表示all的意思,即列出全部文件(包含隐藏的文件/文件夹)

img

可以看到,ls -a对比ls列出的内容更多

  • 以.开头的,表示是隐藏文件/文件夹

    • 只有通过-a选项,才能看到隐藏文件/文件夹。

  • -l选项,表示以列表(竖向排列)的形式展示内容,并展示更多信息

  • -h表示以易于阅读的形式,列出文件大小,如K(KB),M(MB),G(GB)

    • -h选项必须搭配-l一起使用

语法中的选项可以组合使用,例如:

ls -a -l -h
ls -alh
ls -lah

以上三种写法的效果是一样的。

cd命令:

我们可以通过cd命令,更改当前所在的工作目录。

cd命令来自英文:Change Directory

语法:

cd [Linux路径]
  • cd命令无需选项,只有参数,表示要切换到哪个目录下

  • cd命令直接执行,不写参数,表示回到用户的HOME目录

pwd查看当前工作目录:

语法:

pwd
  • pwd命令,无选项和参数。

创建目录命令mkdir:

通过mkdir命令可以创建新的目录(文件夹)

语法:

mkdir [-p] Linux路径
  • 参数必须填写,表示Linux路径,即要创建的文件夹的路径,相对路径和绝对路径均可

  • -p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

  • 在home目录外创建需要root权限。

文件操作命令:

touch创建文件:

可以通过touch命令创建文件:

语法:

touch Linux路径
  • touch命令无选项,参数必须填写,表示要创建的文件路径,相对,绝对,特殊路径符均可使用。

cat命令:

查看文件内容

语法:

cat Linux路径
  • cat命令无选项,参数必须填写,表示要创建的文件路径,相对,绝对,特殊路径符均可使用。

more命令:

more命令同样可以查看文件内容,和cat不同的是:

  • cat是直接将内容全部展示出来

  • more支持翻页,如果文件内容过多,可以一页一页的展示

语法:

more Linux路径
  • more命令无选项,参数必须填写,表示要创建的文件路径,相对,绝对,特殊路径符均可使用。

  • 查看过程中,通过空格翻页

  • 通过q退出查看

cp命令:

cp命令可以用于复制文件/文件夹。

语法:

cp [-r] 参数1 参数2
  • -r选项,可选,用于复制文件夹使用,表示递归

  • 参数1,Linux路径,表示被复制的文件/文件夹

  • 参数2,Linux路径,表示要复制去的地方

mv命令:

mv命令可以用于移动文件/文件夹

语法:

mv 参数1 参数2
  • 参数1,Linux路径,表示被移动的文件/文件夹

  • 参数2,Linux路径,表示要移动去的地方,如果目标不存在,则有改名的效果,确保目标存在。

rm命令:

rm删除文件、文件夹

语法:

rm [-r -f] 参数1 参数2 ....
  • -r 用于删除文件夹

  • -f 表示force,强制删除,不会出现提示。

    • 普通用户删除内容不会弹出提示,只有root管理员用户删除内容会提示

    • 所以一般用户用不到-f选项

  • 参数1,参数2......表示要删除的文件/文件夹路径,按照空格隔开

  • rm命令支持通配符*,用来做模糊匹配

    • 符号*表示通配符,即匹配任意内容(包含空)例如:

test*,表示以test开头的内容
*test,表示任何以test结尾的内容
*test*,表示任意包含test的内容

查找命令:

which命令:

通过which命令,查看所使用的一系列命令的程序文件存放在哪里

语法:

which 要查找的命令

find命令:

  • 按照文件名查找文件

语法:

find 起始路径 -name "被查找文件名"
  • 被查找文件名支持使用通配符做模糊查询。

  • 按照文件大小查找文件

语法:

find 起始路径 -size +n[KMG]
  • +表示大于,-表示小于

    • n表示大小数字

    • KMG表示大小单位,k(小写字母)表示kb,M表示mb,G表示gb

grep命令:

通过grep命令,从文件中通过关键词过滤文件行。

grep [-n] 关键字 文件路径
  • -n选项,可选,表示在结果中显示匹配行的行号

  • 关键字必须填写,表示过滤的关键字,带有空格或其它特殊符号,建议使用”“将关键字包围起来

  • 文件路径必须填写,表示要过滤内容的文件路径,可作为内容输入端口

wc命令:

通过wc命令统计文件的行数、单词数量等

语法:

wc [-c -m -l -w] 文件路径
  • -c,统计bytes数量

  • -m,统计字符数量

  • -l,统计行数

  • -w,统计单词数量

  • 文件路径,被统计的文件,可作为内容输入端口

管道符|:

管道符含义:将管道符左面的命令的结果,作为右边命令的输入。

注:可以嵌套输入

echo命令:

echo命令在命令行内输出指定内容

语法:

echo 输出的内容
  • 只有一个参数表示要输出的内容,复杂内容可以使用双引号包围

  • 有意义的字符串可以使用{}括起来。

  • 反引号即飘号`包围的字符串可以作为命令去执行。例如:

echo `pwd`

重定向符:

>:将左侧命令的结果,覆盖写入(将原本内容清空,然后将当前内容写入)到符号右侧指定的文件中

>>:将左侧命令的结果,追加写到右侧指定的文件中。(写入到最后一行的下一行)

tail命令:

使用tail命令,可以查看文件尾部内容,跟踪文件的最新修改。

语法:

tail [-f -num] Linux路径
  • Linux路径表示被跟踪的文件路径

  • -f表示持续跟踪(实时显示内容)

  • -num表示查看尾部多少行,不填默认10行

systemctl命令:

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启

语法:

systemctl start|stop|status|enable|disable 服务名
  • start:开启

  • stop:停止

  • status:查看服务状态

  • enable:开机自启

  • disable:开机不自启

ln命令创建软链接:

在系统中创建软链接,可将文件、文件夹链接到其他位置。类似windows系统中的快捷方式

语法:

ln -s 参数1 参数2
  • -s选项,创建软链接

  • 参数1:被链接的文件或文件夹路径

  • 参数2:要链接去的目的地(文件)

date命令:

通过date命令可以在命令行中查看系统时间

语法:

date [-d 时间标记] [+格式化字符串]
  • -d按照给定的字符串显示日期,一般用于日期计算。其中支持的时间标记有:

    • year 年

    • month 月

    • day 日

    • hour 小时

    • minute 分钟

    • second 秒

例如:时间标记:“+1 day” 就是明天的日期

  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式。

img

ping命令:

可以通过ping命令,检查指定的网络服务器是否是可联通状态

语法:

ping [-c num] ip或主机名
  • -c,检查的次数,不使用-c,将无限次数持续检查

  • ip或主机名,被检查的服务器ip地址或主机名地址

wget命令:

wget是非交互式的文件下载器,可以在命令行内下载网络文件

语法:

wget [-b] url
  • -b,后台下载,会将日志写入到当前工作目录的wge-log文件中

  • url,下载链接

curl命令:

curl可以发送http网络请求,可用于:下载文件、获取信息等

语法:

curl [-0] url
  • -0,用于下载文件,当url是下载链接时,可以使用此选项保存文件

  • url,要发起请求的网络地址

nmap命令:

可以使用nmap命令嗅探目标端口占用情况

语法:

nmap ip

netstat命令:

可以通过netstat命令,查看指定端口的占用情况

语法:

netstat -anp | grep 端口号

ps命令:

可以通过ps命令查看Linux系统中的进程信息

语法:

ps [-e -f]
  • -e,显示出全部的进程

  • -f,以完全格式化的形式展示信息(展示全部信息)

rz、sz命令:

除了通过finallshell的下方窗体进行文件的传输以外,也可以通过rz、sz命令进行文件传输。

rz、sz命令需要安装,可以通过:yum -y install lrzsz,即可安装

  • rz命令,进行上传,语法:直接输入rz即可

  • sz命令,进行下载,语法:

sz 要下载的文件

文件会自动下载到桌面。

五、相对路径和绝对路径

  1. 绝对路径:从磁盘的根目录开始(本地绝对路径)

Linux : /路径

  1. 相对路径:从当前文件所在目录开始的路径

特殊路径符:

  • . 表示当前目录

  • .. 表示上一级目录

  • ~ 表示home目录

六、vi/vim编辑器

vi/vim是visual interface的简称,是Linux中最经典的文本编辑器。

vim是vi的加强版本,兼容vi所有指令,不仅能编辑文本,而且还具有shell程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。

语法:

vi 文件路径
vim 文件路径

注:如果文件路径显示的文件不存在,那么此命令会创建一个新文件以供使用。

vi/vim编辑器的三种命令模式:

  • 命令模式:所敲的按键被理解成命令,以执行不同的功能。此模式下不能自由编辑

  • 输入模式:也就是所谓的编辑模式,插入模式。此模式可以自由编辑

  • 底线命令模式:通常用于文件的保存,退出。

命令模式快捷键:

模式

命令

描述

输入模式

esc

任何情况下输入esc都能回到命令模式

命令模式

i

在当前光标位置进入输入模式

命令模式

a

在当前光标位置之后进入输入模式

命令模式

I

在当前行的开头进入输入模式

命令模式

A

在当前行的结尾进入输入模式

命令模式

o

在当前光标下一行进入输入模式

命令模式

0

在当前光标上一行进入输入模式

命令模式

键盘上、键盘k

向上移动光标

命令模式

键盘下、键盘j

向下移动光标

命令模式

键盘左、键盘h

向左移动光标

命令模式

键盘右、键盘l

向后移动光标

命令模式

0

移动光标到当前行的开头

命令模式

$

移动光标到当前行的结尾

命令模式

PgUp

向上翻页

命令模式

PgDn

向下翻页

命令模式

/

进入搜索模式

命令模式

n

向下继续搜索

命令模式

N

向上继续搜索

命令模式

dd

删除光标所在行的内容

命令模式

ndd

n是数字,表示删除当前光标向下n行

命令模式

yy

复制当前行

命令模式

nyy

n是数字,复制当前行和下面n行

命令模式

p

粘贴复制的内容

命令模式

u

撤销修改

命令模式

ctrl + r

反向撤销修改

命令模式

gg

光标跳到行首

命令模式

G

光标跳到行尾

命令模式

dG

从当前行开始,向下全部删除

命令模式

dgg

从当前行开始,向上全部删除

命令模式

d$

从当前光标开始,删除到本行的结尾

命令模式

d0

从当前光标开始,删除到本行的开头

底线命令模式

:wq

保存并退出

底线命令模式

:q

仅退出

底线命令模式

:q!

强制退出

底线命令模式

:w

仅保存

底线命令模式

:set nu

显示行号

底线命令模式

:set paste

设置粘贴模式(进入输入模式粘贴保存原始格式)

七、Linux用户和权限

root用户:Liunux系统中,拥有最大权限的账户名为root(超级管理员)

使用su命令切换到root账户

语法:

su [-] [用户名]
  • -符号是可选的,表示是否在切换用户后加载环境变量

  • 用户名表示要切换的用户,用户名也可以省略,默认切换到root

  • 切换用户后,可以通过exit命令退回上一个用户,也可以使用ctrl + d

  • 普通用户切换root用户需要输入密码

  • root用户切换到其他用户无需密码

sudo命令

通过sudo命令,为普通的命令授权,临时以root身份执行

语法:

sudo 其他命令
  • 在其他命令之前带上sudo,即可为这一条命令临时赋予root权限

  • 但并不是所有用户都有权使用sudo,需要为普通用户配置sudo认证

    • 配置sudo认证:

      • 切换到root用户,执行visudo命令,会自动通过vi打开:/etc/sudoers

      • 在文件最后添加:用户名 ALL=(ALL) NOPASSWD: ALL

      • 最后保存,完成认证。

用户、用户组

Linux系统中可以配置多个用户/用户组,用户可以加入多个用户组中

Linux中关于权限的管控级别有两个级别,分别是:

  • 针对用户的权限控制

  • 针对用户组的权限控制

用户组管理

  • 创建用户组:

groupadd 用户组名
  • 删除用户组:

groupdel 用户组名

用户管理

  • 创建用户:

useradd 用户名 [-g 组名 -d 路径]
  • -g指定用户的组,不指定-g会创建一个同名组并自动加入,指定-g需要组已存在,如已存在同名组,必须使用-g

    • -d指定用户home路径,不指定,home目录默认是:/home/用户名

  • 删除用户:

userdel [-r] 用户名
  • -r删除用户的home目录,不使用-r,删除用户时,home目录会保存

  • 查看用户所属组:

id [用户名]
  • 修改用户所属组:

usermod -aG 用户组 用户名  //将指定用户加入到指定组

getent命令:

使用getent命令,可以查看当前系统中有哪些用户

语法:

getent passwd

执行后,每个(用户)每行共显示七个信息,分别是:

用户名:密码(x):用户ID:组ID:描述信息(无用):home目录:执行终端(默认bash)

使用getent命令,也可以查看当前系统中有哪些用户组

语法:

getent group

每个用户组(行)共显示三分信息:

组名称:组认证(显示为x):组ID

认识权限信息

通过ls -l以列表形式查看内容并显示权限信息:

img

  • 1,表示文件、文件夹的权限控制信息

权限细节分为10个槽位:

img

  • 除去第一个槽位,剩下的-表示无此权限

  • 2,表示文件、文件夹所属用户

  • 3,表示文件、文件夹所属用户组

rwx:

  • r表示读权限

  • w表示写权限

  • x表示执行权限

针对文件、文件夹的不同,rwx的含义有细微差别。

  • r,针对文件可以查看文件内容

    • 针对文件夹,可以查看文件夹中的内容,如ls命令

  • w,针对文件表示可以修改此文件

    • 针对文件夹,可以在文件夹内:创建、删除、改名等操作

  • x,针对文件表示可以将文件作为程序执行

    • 针对文件夹,表示可以更改工作目录到此文件夹,即cd进入。

chmod命令:

使用chmod命令可以修改文件、文件夹的用户、用户组权限

语法:

chmod [-R] 权限 文件或文件夹
  • -R,对文件夹内的全部内容应用同样的操

  • 只能是文件、文件夹所属用户或root用户有权修改

例如:

chmod u=rwx,g=rx,o=x 1.txt

其中u表示user所属用户权限,g表示group组权限,o表示other其他用户权限。

权限的数字序号:

通过ugo书写太过臃肿,所以可以使用三位数字来代表。

第一位数字代表用户权限,第二位数字代表用户组权限,第三位代表其他用户权限。

0

无任何权限

1

仅有x权限

2

仅有w权限

3

有w和x权限

4

仅有r权限

5

有r和x权限

6

有r和w权限

7

有全部权限

chown命令:

使用chown命令可以修改文件、文件夹的所属用户,用户组。此命令只适用于root用户执行。

语法:

chown [-R] [用户][:][用户组] 文件或文件夹名
  • -R,对文件夹内所有文件应用相同的规则

  • 用户,要修改的用户名

  • :用于分割用户和用户组名

  • 用户组,要修改的用户组名

八、常用快捷键

ctrl+c

强制停止

history

查看历史输入过的命令

自动执行上一次匹配到前缀的命令

ctrl+a

跳到命令开头

ctrl+e

跳到命令结尾

ctrl+键盘左键

向左跳一个单词

ctrl+键盘右键

向右跳一个单词

ctrl+l或者用clear命令

清空终端内容

九、软件安装

centos中yum命令:

yum:RPM软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

语法:

yum [-y] [install | remove | search] 软件名称
  • -y,自动确认,无需手动确认安装或卸载过程

  • install:安装

  • remove:卸载

  • search:搜索是否有这个程序(在应用商店中搜索)

ubuntu中apt命令:

apt:RPM软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题。

语法:

apt [-y] [install | remove | search] 软件名称
  • -y,自动确认,无需手动确认安装或卸载过程

  • install:安装

  • remove:卸载

  • search:搜索是否有这个程序(在应用商店中搜索)

十、修改时区

rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

ntp程序:

我们可以通过ntp程序自动校准系统时间,在安装ntp后,会有一个ntpd的服务可供开启。开启后系统会自动校准时间。

systemctl start ntpd
systemctl enable ntpd

也可以手动校准

ntpdate -u ntp.aliyun.com

十一、IP地址和主机名

IP地址:

每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯。IP地址主要有两个版本,V4版本和V6版本

IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.0.1就是一个标准的IP地址。

可以通过命令:ifconfig,查看本机的IP地址,如无法使用ifconfig命令,可以安装net-tools软件。

特殊IP地址:

除了标准的IP地址之外,还有几个特殊的IP地址需要我们了解:

  • 127.0.0.1,这个IP地址用于指代本机

  • 0.0.0.0,特殊IP地址

    • 可以用于指代本机

    • 可以在端口绑定中来确定绑定关系

    • 在IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问。

主机名:

每一台电脑除了对外联络地址IP以外,也可以使用一个名字,通常这个名字被称为主机名。

  • 查看主机名:

hostname
  • 修改主机名:

hostnamectl set-hostname 新主机名

域名解析(主机名映射):

访问www.baidu.com的流程如下:

img

即:

  • 先查看本机的记录

    • windows中:C:\windows\System32\drivers\ect\hosts

    • Linux中:/etc/hosts

  • 再联网去DNS服务器询问

十二、端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类。

  • 物理端口:又可称之为接口,是可见的端口,如USB接口

  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如ssh服务的22端口,https服务的443端口,非特殊需要,不要占用这个范围的端口

  • 注册端口:1024~49151,通常可以随意占用,用于松散的绑定一些程序\服务

  • 动态端口:49152~65535,通常不会绑定程序,而是当程序对外进行网络链接时,用于临时使用。

十三、进程管理

进程:

程序运行在操作系统中,时被操作系统所管理的。

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程。并且会为每一个进程都分配一个独有的进程号。

可以通过ps命令查看进程。

img

从左到右依次是:

  • UID:进程所属的用户ID

  • PID:进程的进程号

  • PPID:进程的父ID(启动此进程的其他进程)

  • C:此进程的CPU占用率

  • STIME:进程的启动时间

  • TTY:启动此进程的终端序号,显示?,表示非终端启动

  • TIME:进程占用CPU时间

  • CMD:进程对应的名称或启动路径或启动命令

关闭进程

语法:

kill [-9] 进程ID
  • -9,表示强制关闭进程,不使用此选项会向进程发送信号要求关闭,但是否关闭要看进程自身的处理机制。

十四、主机状态监控

top命令查看系统资源占用:

可以通过top命令查看。

top命令内容详解:

img

  • 第一行:

img

  • top:命令程序,08:42:22:当前系统时间,up 4 min:启动了4分钟,3 users:3个用户登录,load:1、5、15分钟负载

  • 第二行:

img

  • 任务(Tasks):228个进程,1running:一个进程在运行,227 sleeping:227个进程睡眠,0个停止进程,0个僵尸进程

  • 第三行:

img

  • %cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中端率,st:强制等待占用CPU率

  • 第四、五行:

img

  • mib mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用

    • mib swap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,avail mem:可用

  • 进程:

img

  • 进程号(PID):进程id

    • USER:进程所属用户

    • PR:进程优先级,越小越高

    • NI:负值表示高优先级,正表示低优先级

    • VIRT:进程使用虚拟内存,单位KB

    • RES:进程使用物理内存,单位KB

    • SHR:进程使用共享内存,单位KB

    • S(上图表头未显示):进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)

    • %CPU:进程占用CPU率

    • %MEM:进程占用内存率

    • TIME+:进程使用CPU时间总计,单位10毫秒

    • COMMAND:进程的命令或名称或文件路径

top选项:

选项

功能

-p

只显示某个进程的信息

-d

设置刷新时间,默认是5s

-c

显示产生进程的完整命令,默认是进程名

-n

指定刷新次数,比如 top -n 3,刷新三次后退出

-b

以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如top -b -n 3 > 文件路径

-i

不显示任何闲置(idle)或无用(zombie)的进程

-u

查找特定用户启动的进程

top交互式选项:

当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制

按键

功能

h

按下h键,会显示帮助画面

c

按下c键,会显示产生进程的完整命令,等同于-C参数,再次按下c键,变为默认显示

f

按下千键,可以选择需要展示的项目

M

按下M键,根据驻留内存大小(RES)排序

P

按下P键,根据CPU使用百分比大小进行排序

T

按下T键,根据时间/累计时间进行排序

E

按下E键,切换顶部内存显示单位

e

按下e键,切换进程内存显示单位

l

按下1键,切换显示平均负载和启动时间信息。

i

按下i键,不显示闲置或无用的进程,等同于-i参数,再次按下,变为默认显示

t

按下t键,切換显示CPU状态信息

m

按下m键,切换显示内存信息

监控磁盘信息

df监控磁盘信息:

使用df命令,可以查看硬盘的使用情况

语法:

df [-h]
  • -h,以更加人性化的单位显示

iostat查看cpu、磁盘的速率相关信息:

image-20230715190714124

  • tps:该设备每秒的传输次数。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。一次传输请求的大小是未知的。

语法:

iostat [-x] [num1][num2]
  • -x,显示更多信息

img

rrqm/s

每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS, 如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge,提高10利用率,避免重复调用)

wrqm/s

每秒这个设备相关的号入清求有多少被Merge了。

rsec/s

每秒读取的扇区数;sectors

wsec/

每秒写入的扇区数。

rKB/s

每秒发送到设备的读取请求数

WKB/s

每秒发送到设备的写入请求数

avgrq-sz

平均请求扇区的大小

avgqu-sz

平均请求队列的长度。毫无疑问,队列长度越短越好。

await

每一个IO请求的处理的平均时间(单位是微秒毫秒)。

svctm

表示平均每次设备I/O操作的服务时间(以毫秒为单位)

%util

磁盘利用率

  • num1:数字,刷新间隔

  • num2:数字,刷新几次

网络状态监控:

可以使用sar命令查看网络的相关统计

语法:

sar -n DEV [num1 num2]
  • -n ,查看网络,DEV表示查看网络接口

  • num1,刷新间隔,默认查看一次就结束

  • num2,查看次数,默认无限

img

IFACE

本地网卡接口的名称

rxpck/s

每秒钟接受的数据包

txpck/s

每秒钟发送的数据包

rxKB/S

每秒钟接受的数据包大小,单位为KB

txKB/S

每秒钟发送的数据包大小,单位为KB

rxcmp/s

每秒钟接受的压缩数据包

txcmp/s

每秒钟发送的压缩包

rxmcst/s

每秒钟接收的多播数据包

十五、环境变量

环境变量是操作系统在运行的时候,记录的一些关键性信息,用于辅助系统运行。在Linux系统中可以使用env命令查看当前系统中的环境变量。

PATH:

无论当前工作目录是什么总能直接运行某个程序,这就是通过环境变量中的PATH做到的。PATH记录了系统执行任何命令的搜索路径。不同路径以符号隔开。

自定义环境变量PATH:

  • 临时修改PATH:

export PATH=$PATH:要添加的内容
  • 或者将以下语句添加到用户环境变量文件或系统环境变量文件中去。

export PATH=$PATH:要添加的内容

$符号:

在Linux系统中,$符号用于取出环境变量所记录的值,然后通过echo进行输出。

语法:

$环境变量名

自行设置环境变量

Linux环境变量可以用户自行设置,其中分为:

  • 临时设置,语法:

export 变量名=变量值
  • 永久生效

    • 针对当前用户生效,配置在当前用户的: ~/.bashrc文件中

    • 针对所有用户生效,配置在系统的: /etc/profile文件中

    • 并通过语法:”source 配置文件“,进行立刻生效,或重新登录FinallShell

十六、文件的压缩和解压缩

在Linux系统中常用有两种压缩格式,后缀分别是:

  • .tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装

  • .gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积

tar命令

使用tar命令,尽可以进行压缩和解压缩tar,gz操作。

语法:

tar [-c -v -x -f -z -C] 压缩包的名 参数1 参数2 ...
  • -c,创建压缩文件,用于压缩模式

  • -v,显示压缩解压缩过程,用于查看进度

  • -x,解压模式

  • -f,要创建的文件,或要解压的文件,-f必须要在所有选项中位置处于最后一个

  • -z,gzip模式,不适用-z就是普通的tarball格式

  • -C,选择解压的目的地,用于解压模式

tar的压缩常用组合为:

tar -cvf test.tar 1.txt 2.txt
//将1.txt,2.txt压缩到test.tar文件中
tar -zcvf test.tar.gz 1.txt 2.txt
//将1.txt,2.txt压缩到test.tar.gz文件中,并使用gzip模式

注:-z选项如果使用,通常会放到第一位。

tar的解压缩常用组合为:

tar -xvf test.tar
//解压test.tar文件到当前工作目录
tar -xvf test.tar -C 路径
//解压test.tar文件到指定路径
tar -zxvf test.tar.gz -C 路径
//以gzip模式解压test.tar.gz,将文件解压到指定路径

注:-C选项需要单独使用,不能和其他选项组合写。

zip、unzip命令

zip命令:

可以使用zip命令,压缩文件为zip压缩包

语法:

zip [-r] 压缩包的名 参数1 参数2 .....
  • -r,被压缩的包含文件夹的时候,需要使用-r选项。

unzip命令:

可以使用unzip命令解压缩zip压缩包

语法:

unzip [-d] 参数
  • -d,指定要解压去的位置

  • 参数,要解压的文件