Linux基础
一、初始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命令本体,表示:以平铺形式,列出当前工作目录下的内容。
当前登录用户的home目录作为当前工作目录,所以ls命令列出的是home目录的内容
home目录:每个Linux操作用户在Linux系统的个人账户目录,路径在/home/用户名
ls命令的参数和选项:
ls [-a -l -h] [Linux路径]
-a选项:表示all的意思,即列出全部文件(包含隐藏的文件/文件夹)
可以看到,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” 就是明天的日期
格式化字符串:通过特定的字符串标记,来控制显示的日期格式。
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 要下载的文件
文件会自动下载到桌面。
五、相对路径和绝对路径
绝对路径:从磁盘的根目录开始(本地绝对路径)
Linux : /路径
相对路径:从当前文件所在目录开始的路径
特殊路径符:
. 表示当前目录
.. 表示上一级目录
~ 表示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以列表形式查看内容并显示权限信息:
1,表示文件、文件夹的权限控制信息
权限细节分为10个槽位:
除去第一个槽位,剩下的-表示无此权限
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的流程如下:
即:
先查看本机的记录
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命令查看进程。
从左到右依次是:
UID:进程所属的用户ID
PID:进程的进程号
PPID:进程的父ID(启动此进程的其他进程)
C:此进程的CPU占用率
STIME:进程的启动时间
TTY:启动此进程的终端序号,显示?,表示非终端启动
TIME:进程占用CPU时间
CMD:进程对应的名称或启动路径或启动命令
关闭进程
语法:
kill [-9] 进程ID
-9,表示强制关闭进程,不使用此选项会向进程发送信号要求关闭,但是否关闭要看进程自身的处理机制。
十四、主机状态监控
top命令查看系统资源占用:
可以通过top命令查看。
top命令内容详解:
第一行:
top:命令程序,08:42:22:当前系统时间,up 4 min:启动了4分钟,3 users:3个用户登录,load:1、5、15分钟负载
第二行:
任务(Tasks):228个进程,1running:一个进程在运行,227 sleeping:227个进程睡眠,0个停止进程,0个僵尸进程
第三行:
%cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中端率,st:强制等待占用CPU率
第四、五行:
mib mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
mib swap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,avail mem:可用
进程:
进程号(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、磁盘的速率相关信息:
tps:该设备每秒的传输次数。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。一次传输请求的大小是未知的。
语法:
iostat [-x] [num1][num2]
-x,显示更多信息
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,查看次数,默认无限
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,指定要解压去的位置
参数,要解压的文件