04-Linux实用操作

各种小技巧(快捷键)

强制停止

Ctrl+c强制停止

  • Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl+c

image-20240202151455100

  • 命令输入错误,也可以通过快捷键ctrl+c,退出当前输入,重新输入

image-20240202151523849

退出、登出

Ctrl+d退出登出

  • 可以通过快捷键:Ctrl+d,退出账户的登录

image-20240202151841002

  • 或者退出某些特定程序的专属页面(不能退出vi/vim)

image-20240202152106795

历史命令搜索

history命令,查看历史输入过的命令

image-20240202152633279

可以使用grep|过滤命令

image-20240202153002407

可以通过:!命令前缀,自动执行上一次匹配前缀的命令(不要搜索很久之前的,不一定能命中)

image-20240202153314980

  • 可以通过快捷键Ctrl+r,输入内容去匹配历史命令

image-20240202155334425

如果搜索到的内容是你需要的,那么:

  • 回车键可以直接执行
  • 键盘左右键,可以得到此命令(不执行)

光标移动

  • ctrl+a,跳到命令开头
  • ctrl+e,跳到命令结尾
  • ctrl+键盘左键,向左跳一个单词
  • ctrl+键盘右键,向右跳一个单词

清屏

  • ctrl+l快捷键,清空终端内容
  • clear命令,清空终端内容

软件安装

yum命令

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

语法:

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

注意:

yum命令需要root权限,可以su切换到root,或使用sudo提权

yum命令需要联网

通过yum命令安装wget程序

yum [-y] install wget

image-20240219085446172

使用yum命令卸载wget程序

yum [-y] remove wget

image-20240219085610325

通过yum命令,搜索是否有wget安装包

yum search wget

image-20240219090549865

在Ubuntu系统中,使用apt命令联网管理软件安装

语法

apt [-y] [install | remove | search] 软件名称

示例

image-20240219095755065

systemctl

systemctl命令

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

能够被systemctl管理的软件,一般也称之为:服务

语法

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

  • stop 关闭

  • status 查看状态

  • enable 开启开机自启

  • disable 关闭开机自启

系统内置的服务比较多,比如:

  • NetworkManager,主网络服务
  • network,副网络服务
  • firewalld,防火墙服务
  • sshdssh服务(FinalShell远程登录Linux使用的就是这个服务)

除了内置的服务外,部分第三方软件安装后也可以以systemctl进行控制

  • 安装ntp软件
yum install -y ntp

可以通过ntpd服务器名,配合systemctl进行控制

  • 安装apache服务器软件
yum install -y httpd

image-20240219172856816

可以通过httpd服务名,配合systemctl进行控制

image-20240219172931878

部分软件安装后没有自动集成到systemctl中,可以手动添加

软连接

ln命令创建软连接

在系统中创建软连接,可以将文件、文件夹链接到其他位置

类似于Windows系统中的《快捷方式》

语法

ln -s 参数1 参数2
  • -s选项,创建软链接
  • 参数1,被链接的文件或文件夹
  • 参数2,要链接去的目的地

实例

ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum

image-20240219203437657

日期、时区

date命令

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

语法

date [-d] [+格式化字符串]
  • -d按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串: 通过特定的字符串标记,来控制显示的日期格式
    • %Y
    • %y 年份后两位数字(00…99)
    • %m 月份(01…12)
    • %d 日(01…31)
    • %H 小时(00…23)
    • %M 分钟(00…59)
    • %S 秒(00…59)
    • %s1970-01-01 00:00:00到现在的秒数
[root@localhost ~]# date +%Y-%m-%d %H:%M:%S
date: 额外的操作数 "%H:%M:%S"
Try 'date --help' for more information.
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S"
2024-02-20 16:23:39
[root@localhost ~]# date +%Y-%m-%d
2024-02-20
[root@localhost ~]# date
2024年 02月 20日 星期二 16:24:11 CST
[root@localhost ~]# date +%s
1708417848

注意

如果中间带有空格,需要用""将其括起来作为字符串

date命令进行日期加减

  • -d按照给定的字符串显示日期,一般用于日期计算
  • 其中支持的时间标记为:
    • year
    • month
    • day
    • hour小时
    • minute分钟
    • second
  • -d选项可以和格式化字符串配合使用

示例

[root@localhost ~]# date -d "+1 month" +%Y-%m-%d
2024-03-20
[root@localhost ~]# date -d "+1 year" +%Y-%m-%d
2025-02-20
[root@localhost ~]# date -d "+1 day" +%Y-%m-%d
2024-02-21
[root@localhost ~]# date -d "+10 hour" "+%Y-%m-%d %H:%M:%S"
2024-02-21 02:43:04
[root@localhost ~]# date -d "+10 minute" "+%Y-%m-%d %H:%M:%S"
2024-02-20 16:53:26
[root@localhost ~]# date -d "+10 second" "+%Y-%m-%d %H:%M:%S"
2024-02-20 16:43:48

修改Linux时区

若在安装Linux系统的时候没有配置时区,则系统默认的时区是非中国的东八区

使用root权限,执行如下命令,修改时区为东八区时区

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

将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可

ntp程序

可以通过ntp程序自动校准系统时间

安装ntp

yum -y install ntp

image-20240222100344951

启动并设置为开机自启

systemctl start ntpd
systemctl enable ntpd

示例

[root@localhost ~]# systemctl start ntpd
[root@localhost ~]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

ntpd程序启动后会定期自动联网校准系统的时间

可以手动校准(需要root权限

ntpdate -u ntp.aliyun.com

通过阿里云提供的服务网址配合ntpdate命令自动校准

示例

[root@localhost ~]# ntpdate -u ntp.aliyun.com
22 Feb 10:06:15 ntpdate[1463]: adjust time server 203.107.6.88 offset 0.008430 sec

IP地址、主机名

IP地址

每一台联网的电脑都会有一个地址,用于和其他计算机进行通讯

IP地址分为IPv4和IPv6,IPv4共有232个,目前IPv4已经全部分配完毕,IPv6共有2128个。

IPv4以点分十进制表示

在Windows中使用ipconfig查看本地的IP地址

在Linux中使用ifconfig查看IP地址,如果无法使用该命令,则需要安装net-tools

yum -y install net-tools

Linux查看IP地址示例

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.149.130  netmask 255.255.255.0  broadcast 192.168.149.255
        inet6 fe80::c6ae:2dbf:f28e:ba40  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b6:40:29  txqueuelen 1000  (Ethernet)
        RX packets 19902  bytes 28361095 (27.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5766  bytes 381741 (372.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 64  bytes 5568 (5.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 64  bytes 5568 (5.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

主网卡:ens33,可以看到IP地址为192.168.149.130

本地回环网卡:lo

  • 0.0.0.0特殊IP地址
    • 可以用于只带本机
    • 可以在端口绑定中用来确定绑定关系
    • 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

主机名

无论是Windows、Linux都可以给系统设置主机名,在Linux系统中使用hostname设置主机名

[root@localhost ~]# hostname bowen
[root@localhost ~]# hostname
bowen
[root@localhost ~]# bash
[root@bowen ~]# 

使用另一种命令修改主机名(需要root权限)

hostnamectl set-hostname 主机名

修改完后使用bash启动一个新的bash shell

域名解析

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

image-20240222113010451

即:

  • 先查看本机的记录(私人地址本)
    • Windows:‪C:\Windows\System32\drivers\etc\hosts
    • Linux:/etc/hosts
  • 再联网去DNS服务器(如114.114.114.114,8.8.8.8)询问

配置主机映射

Xshell通过IP地址连接到虚拟机中Linux服务器的,将其更改为通过域名(主机名)连接

使用记事本打开‪C:\Windows\System32\drivers\etc\hosts文件,在该文件中配置即可

image-20240222113725634

在hosts文件中的最后一行加上IP地址 主机名称保存后退出,即可使用主机名进行连接 。

网络传输

ping命令

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

语法

ping [-c num] ip或主机名
  • 选项:-cping网络的次数,不使用-c则无限次ping
  • 参数:IP或主机名,被检查的服务器的IP地址或主机名地址

示例

[root@bowen ~]# ping -c 6  www.taobao.com
PING www.taobao.com.danuoyi.tbcache.com (116.211.221.195) 56(84) bytes of data.
64 bytes from 116.211.221.195 (116.211.221.195): icmp_seq=1 ttl=128 time=12.5 ms
64 bytes from 116.211.221.195 (116.211.221.195): icmp_seq=2 ttl=128 time=14.2 ms
64 bytes from 116.211.221.195 (116.211.221.195): icmp_seq=3 ttl=128 time=12.3 ms
64 bytes from 116.211.221.195 (116.211.221.195): icmp_seq=4 ttl=128 time=12.6 ms
64 bytes from 116.211.221.195 (116.211.221.195): icmp_seq=5 ttl=128 time=13.4 ms
64 bytes from 116.211.221.195 (116.211.221.195): icmp_seq=6 ttl=128 time=13.0 ms

--- www.taobao.com.danuoyi.tbcache.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5092ms
rtt min/avg/max/mdev = 12.300/13.035/14.202/0.657 ms

注:也可将参数放在最后

wget命令

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

语法

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

  • 参数:url,下载链接

示例

下载apache-hadoop 3.3.0版本

wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

上述是官网的镜像下载,可能会出现下面的错误,并且速度很慢很慢

错误: 无法验证 archive.apache.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  颁发的证书已经过期。
要以不安全的方式连接至 archive.apache.org,使用“--no-check-certificate”。

按照错误提示在wget后加上--no-check-certificate,即

wget --no-check-certificate  http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

建议使用华为源镜像进行下载

wget --no-check-certificate https://repo.huaweicloud.com/apache/hadoop/common/hadoop-3.1.3/hadoop-3.1.3.tar.gz

image-20240222163141691

在后台下载:

wget -b http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-3.3.0.tar.gz

通过tail可以监控后台下载进度

tail -f wget-log

注意:

无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件

curl命令

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

语法

curl [-o] url
  • 选项:-o,用于下载文件,当URL是下载链接时,可以使用此选项保存文件
  • 参数:url,要发起请求的网络地址

示例

  • cip.cc发起网络请求
[root@bowen download]# curl cip.cc
IP	: 1.199.73.50
地址	: 中国  河南  郑州
运营商	: 电信

数据二	: 河南省新乡市 | 电信

数据三	: 中国河南省郑州市 | 电信

URL	: http://www.cip.cc/1.199.73.50

进程管理

端口

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

  • 物理端口:又可称为接口,是可见的端口,如USB接口,RJ45网口,HDMI接口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

image-20240222172903790

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

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序或服务
  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络连接时,用于临时使用

示例

image-20240222173743059

如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口,计算机B的微信使用端口5678,即为注册端口,长期绑定此端口等待别人连接

查看端口占用

nmap命令

nmap命令查看端口占用情况,nmap不是Linux内置命令需要安装

yum -y install nmap

image-20240222204227938

语法

nmap 被查看的IP地址

示例

[root@bowen download]# nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2024-02-22 20:41 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
25/tcp open  smtp

Nmap done: 1 IP address (1 host up) scanned in 1.84 seconds

可以看到,本机(127.0.0.1)上有2个端口被程序占用了

其中22端口是ssh远程服务端口,由于我使用了Xshell连接了虚拟机中的Linux,因此该端口被占用。

netstat命令

netstat命令,查看指定端口的占用情况

安装

yum -y install net-tools

语法

netstat -anp|grep 端口号

示例

[root@bowen download]# netstat -anp|grep 123
udp        0      0 192.168.149.130:123     0.0.0.0:*                           1443/ntpd           
udp        0      0 127.0.0.1:123           0.0.0.0:*                           1443/ntpd           
udp        0      0 0.0.0.0:123             0.0.0.0:*                           1443/ntpd           
udp6       0      0 fe80::c6ae:2dbf:f28:123 :::*                                1443/ntpd           
udp6       0      0 ::1:123                 :::*                                1443/ntpd           
udp6       0      0 :::123                  :::*                                1443/ntpd           

可以看到端口123被进程1443占用

0.0.0.0:123表示端口123绑定在0.0.0.0这个地址,该进程允许外部访问

进程

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

为管理运行的程序,每一个程序在运行时会被操作系统注册为系统中的一个进程

并且给每一个进程分配一个独有的进程ID(进程号)

Windows的进程

image-20240222211039486

Linux的进程

image-20240222211132612

ps命令查看进程

ps命令,查看Linux系统中的进程信息

语法

ps [-e -f]
  • 选项:-e,显示出全部进程
  • 选项:-f,以完全格式化的形式展示信息

固定用法:ps -ef,列出全部进程的全部信息

示例

[root@bowen download]# ps -ef
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 10:42 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2      0  0 10:42 ?        00:00:00 [kthreadd]
root          4      2  0 10:42 ?        00:00:00 [kworker/0:0H]
root          6      2  0 10:42 ?        00:00:00 [ksoftirqd/0]
root          7      2  0 10:42 ?        00:00:00 [migration/0]
root          8      2  0 10:42 ?        00:00:00 [rcu_bh]
root          9      2  0 10:42 ?        00:00:01 [rcu_sched]
root         10      2  0 10:42 ?        00:00:00 [lru-add-drain]
root         11      2  0 10:42 ?        00:00:00 [watchdog/0]
root         13      2  0 10:42 ?        00:00:00 [kdevtmpfs]
root         14      2  0 10:42 ?        00:00:00 [netns]
...........

从左到右:

  • UID 进程所属的用户ID
  • PID 进程的进程号ID
  • PPID 进程的父ID(启动次进程的其他进程)
  • C 此进程的CPU占用率(百分比)
  • STIME 进程的启动时间
  • TTY 启动此进程的终端序号,若显示?,表示非终端启动
  • TIME 进程占用CPU的时间
  • CMD 进程对应的名称或启动路径或启动命令

ps -ef命令可以配合管道符和grep进行精确的查找进程

示例

[root@bowen download]# tail

使用tail命令阻塞进程,复制该会话框,使用ps查看该进程

[root@bowen ~]# ps -ef | grep tail
root       3368   2298  0 21:36 pts/1    00:00:00 tail
root       3370   3350  0 21:36 pts/0    00:00:00 grep --color=auto tail

关闭进程

kill命令杀死进程

语法

kill [-9] 进程ID

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

示例

[root@bowen ~]# ps -ef | grep tail
root       3368   2298  0 21:36 pts/1    00:00:00 tail
root       3370   3350  0 21:36 pts/0    00:00:00 grep --color=auto tail
[root@bowen ~]# kill 3368
[root@bowen ~]# ps -ef | grep tail
root       3374   3350  0 21:43 pts/0    00:00:00 grep --color=auto tail

image-20240222214608584

注意

进程3370/3374都表示该命令本身

[root@bowen ~]# ps -ef | grep tail
root       3397   2298  0 21:46 pts/1    00:00:00 tail
root       3399   3350  0 21:46 pts/0    00:00:00 grep --color=auto tail
[root@bowen ~]# kill -9 3397

image-20240222214733572

主机状态

查看系统资源占用

top命令查看CPU、内存使用情况,类似Windows的任务管理器

默认每5秒刷新一次

语法

top

ctrl+c退出

image-20240222215438317

top命令内容详解

前五行

top - 21:54:44 up 11:12,  2 users,  load average: 0.00, 0.01, 0.05

top 命令名称,21:54:44 当前系统时间,up 11:12 启动时间,2 users 2个用户登录,load 1/5/15分钟负载

Tasks: 104 total,   2 running, 102 sleeping,   0 stopped,   0 zombie

Tasks 104个进程,2 running 2个进程在运行,102 sleeping 102个进程在睡眠,0 stopped 0个停止进程,0 zombie 0个僵尸进程

%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

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

KiB Mem :   995676 total,   122704 free,   205680 used,   667292 buff/cache

KiB Mem 物理内存,total 总计,free 空闲,used 使用,buff/cache buffcache占用

KiB Swap:  2097148 total,  2096884 free,      264 used.   634280 avail Mem 

KiB Swap 虚拟内存(交换空间),total 总计,free 空闲,used 使用,buff/cache buffcache占用

进程内容

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                       
   667 root      20   0  273188   4868   3736 S  0.3  0.5   0:46.71 vmtoolsd                                                                                      
     1 root      20   0  128152   6208   3576 S  0.0  0.6   0:01.69 systemd                                                                                       
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.02 kthreadd                                                                                      
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H                                                                                  
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.83 ksoftirqd/0  

各列的解释

  • 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命令选项

image-20240222223432504

top交互式选项

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

image-20240222223651699

磁盘信息监控

df命令

df命令,查看磁盘使用情况

语法

df [-h]

选项,-h,以更加人性化的单位显示

示例

[root@localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 475M     0  475M    0% /dev
tmpfs                    487M     0  487M    0% /dev/shm
tmpfs                    487M  7.7M  479M    2% /run
tmpfs                    487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  2.0G   16G   12% /
/dev/sda1               1014M  138M  877M   14% /boot
tmpfs                     98M     0   98M    0% /run/user/0

iostat命令

iostat命令,查看CPU、磁盘的相关信息

安装

yum -y install sysstat

语法

iostat [-x] [num1] [num2]
  • 选项:-x,显示更多信息
  • num1:数字,刷新间隔
  • num2:数字,刷新次数

示例

[root@localhost ~]# iostat
Linux 3.10.0-1160.el7.x86_64 (localhost.localdomain) 	2024年02月23日 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.07    0.00    0.26    0.01    0.00   99.65

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               1.75        58.31         3.31     233676      13248
scd0              0.00         0.26         0.00       1028          0
dm-0              1.49        55.32         2.79     221690      11200
dm-1              0.02         0.55         0.00       2204          0

-x显示详细状态

[root@localhost ~]# iostat -x
Linux 3.10.0-1160.el7.x86_64 (localhost.localdomain) 	2024年02月23日 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.06    0.00    0.25    0.01    0.00   99.67

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.04    1.38    0.32    53.49     4.76    68.71     0.00    0.54    0.54    0.52   0.33   0.06
scd0              0.00     0.00    0.00    0.00     0.24     0.00   114.22     0.00    1.44    1.44    0.00   1.06   0.00
dm-0              0.00     0.00    1.11    0.36    50.74     4.29    74.72     0.00    0.62    0.64    0.56   0.36   0.05
dm-1              0.00     0.00    0.02    0.00     0.50     0.00    50.09     0.00    0.11    0.11    0.00   0.10   0.00

各列详解

标示说明
Device监测设备名称
rrqm/s每秒需要读取需求的数量
wrqm/s每秒需要写入需求的数量
r/s每秒实际读取需求的数量
w/s每秒实际写入需求的数量
rsec/s每秒读取区段的数量
wsec/s每秒写入区段的数量
rkB/s每秒实际读取的大小,单位为KB
wkB/s每秒实际写入的大小,单位为KB
avgrq-sz需求的平均大小区段
avgqu-sz需求的平均队列长度
await等待I/O平均的时间(milliseconds)
svctmI/O需求完成的平均时间
%util被I/O需求消耗的CPU百分比

iostat命令选项

  1. -c:仅显示CPU使用情况;
  2. -d:仅显示设备利用率;
  3. -k:显示状态以千字节每秒为单位,而不使用块每秒;
  4. -m:显示状态以兆字节每秒为单位;
  5. -p:仅显示块设备和所有被使用的其他分区的状态;
  6. -t:显示每个报告产生时的时间;
  7. -V:显示版号并退出;
  8. -x:显示扩展状态。

网络状态监控

sar命令查看网络的相关统计(该命名很复杂,只介绍简单应用)

语法

sar -n DEV num1 num2

选项

-n,查看网络

DEV,查看网络接口

num1,刷新间隔(不填只查一次)

num2,查看次数(不填则无限次)

示例

[root@localhost ~]# sar -n DEV 2 1
Linux 3.10.0-1160.el7.x86_64 (localhost.localdomain) 	2024年02月23日 	_x86_64_	(1 CPU)

11时09分44秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
11时09分46秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
11时09分46秒     ens33      0.50      0.50      0.03      0.10      0.00      0.00      0.00

平均时间:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:     ens33      0.50      0.50      0.03      0.10      0.00      0.00      0.00

说明

  • IFACE 就是网络设备的名称。
  • rxpck/s 每秒钟接收到的包数目。
  • txpck/s 每秒钟发送出去的包数目。
  • rxkB/s 每秒钟接收到的字节数。
  • txkB/s 每秒钟发送出去的字节数。
  • rxcmp/s 每秒钟接收到的压缩包数目。
  • txcmp/s 每秒钟发送出去的压缩包数目。
  • rxmcst/s 每秒钟接收到的多播包的包数目。

环境变量

环境变量

环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。

在Linux系统中执行:env命令即可查看当前系统中记录的环境变量

环境变量是一种KeyValue型结构,即名称和值,如下图

image-20240223184810381

图中记录了:

  • HOME/root,root管理员用户的home路径
  • USER/root,当前的操作用户
  • PWD,当前工作路径

等一系列信息,用于辅助系统在运行的时候从环境变量中获取关键信息

环境变量:PATH

无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的

[root@localhost ~]# env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

PATH记录了系统执行任何命令的搜索路径(路径之间以:隔开)

  • /usr/local/sbin
  • /usr/local/bin
  • /usr/sbin
  • /usr/bin
  • /root/bin

当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体

比如执行cd命令,就从第四个目录usr/bin中搜索到了cd命令,并执行

$符号

在Linux系统中,$符号被用于取变量的值

环境变量记录的信息,除了给操作系统自己使用外,如果想要取用,也可以使用

语法

$环境变量名
echo $PATH

通过echo语句输出

[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

又或者使用echo ${PATH}

设置环境变量

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

  • 临时设置,语法:eport 变量名=变量值
  • 永久生效
    • 针对当前用户生效,配置在当前用户的:~/bashrc文件中
    • 针对所有用户生效,配置在系统的:/etc/profile文件中
    • 最后通过语法:source配置文件,进行立刻生效,或重新登录生效

设置临时变量-示例

[root@localhost ~]# export bowenTest=bowen
[root@localhost ~]# echo $bowenTest
bowen

上传、下载

Xshell的上传下载工具是Xftp

image-20240223201047061

上传文件

可以在此电脑上找到需要上传的文件,直接拖到右侧从Linux所需的上传的目录即可

下载

在右侧Linux中右键点击传输即可将所选文件传输到左侧的Windows路径下。

image-20240223201516888

rz/sz命令

安装

yum -y install lrzsz

rz命令,进行上传

语法

rz

image-20240223202749027

直接输入rz就会弹出以上窗口,选择需要的文件上传即可。

sz命令,进行下载

语法

sz 要下载的文件名

示例

[root@localhost ~]# cd /home/bowen/download/
[root@localhost download]# ls
hadoop-3.1.3.tar.gz
[root@localhost download]# sz hadoop-3.1.3.tar.gz 

image-20240223202509087

压缩、解压

压缩格式

常见的压缩格式

  • zip Linux、Windows、MacOS常用
  • 7zip Windows系统常用
  • rar Windows系统常用
  • tar Linux、MacOS系统常用
  • gzip Linux、MacOS系统常用

Linux系统中常用的三种压缩格式:zip、tar、gzip

tar命令

Linux和Mac系统常用有2中压缩格式:

  • .tar,也称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,仅进行封装,体积压缩的少
  • .gz,也常见为.tar.gzgzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大减少压缩后的体积

针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作

语法

tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n
  • -c 创建压缩文件,用于压缩模式
  • -v 显示压缩、解压过程,用于查看进度
  • -x 解压模式
  • -f 要创建的文件/要解压的文件,该选项必须在所有选项位置中的最后一个
  • -z gzip模式,不使用-z就是普通的tarball格式
  • -C 选择解压的目的地,用于解压模式

tar命令压缩

tar常用组合

  • 将1.txt 2.txt 3.txt 压缩到test.tar文件内
tar -cvf test.tar 1.txt 2.txt 3.txt
  • 将1.txt 2.txt 3.txt 压缩到test.tar.gz文件内,使用gzip模式
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

注意

  • -z选项一般位于选项的第一位
  • -f选项必须在最后一个

tar命令解压

tar常用的解压组合有:

  • 解压test.tar,将文件解压至当前目录
tar -xvf test.tar
  • 解压test.tar,将文件解压至指定目录(/home/bowen/test
tar -xvf test.tar -C /home/bowen/test
  • gzip模式解压test.tar.gz,将文件解压至指定目录(/home/bowen/test
tar -zxvf test.tar.gz -C /home/bowen/test

注意

  • -f选项,必须在选项组合的最后一位
  • -z选项,建议放在开头
  • -C选项单独使用,和解压所需的其他参数分开
  • 解压时有同名内容会直接替换

zip命令压缩文件

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

语法

zip [-r] 参数1 参数2 ... 参数n
  • -r 被压缩的包含文件夹的时候,需要使用-r选项,和rm/cp等命令的-r效果一致

示例

  • 将a.txt b.txt c.txt 压缩到test.zip文件内
zip test.zip a.txt b.txt c.txt
  • 将test、bowen两个文件夹和a.txt文件,压缩到test.zip文件内
zip -r test.zip test bowen a.txt

unzip命令解压文件

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

语法

unzip [-d] 参数
  • -d 指定要解压去的位置,同tar-C选项
  • 参数 被解压的zip压缩包文件

示例

  • 将test.zip解压到当前目录
unzip test.zip
  • 将test.zip解压到指定文件夹内(/home/bowen/download)
unzip test.zip -d /home/bowen/download
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甲柒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值