各种小技巧(快捷键)
强制停止
Ctrl+c
强制停止
- Linux某些程序的运行,如果想要强制停止它,可以使用快捷键
ctrl+c
- 命令输入错误,也可以通过快捷键
ctrl+c
,退出当前输入,重新输入
退出、登出
Ctrl+d
退出登出
- 可以通过快捷键:
Ctrl+d
,退出账户的登录
- 或者退出某些特定程序的专属页面(不能退出vi/vim)
历史命令搜索
history
命令,查看历史输入过的命令
可以使用grep
和|
过滤命令
可以通过:!
命令前缀,自动执行上一次匹配前缀的命令(不要搜索很久之前的,不一定能命中)
- 可以通过快捷键
Ctrl+r
,输入内容去匹配历史命令
如果搜索到的内容是你需要的,那么:
- 回车键可以直接执行
- 键盘左右键,可以得到此命令(不执行)
光标移动
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
使用yum
命令卸载wget
程序
yum [-y] remove wget
通过yum
命令,搜索是否有wget
安装包
yum search wget
在Ubuntu系统中,使用apt
命令联网管理软件安装
语法
apt [-y] [install | remove | search] 软件名称
示例
systemctl
systemctl
命令
Linux系统很多软件(内置或第三方)均支持使用systemctl
命令控制:启动、停止、开机自启
能够被systemctl
管理的软件,一般也称之为:服务
语法
systemctl start | stop | status | enable | disable 服务名
-
start
启动 -
stop
关闭 -
status
查看状态 -
enable
开启开机自启 -
disable
关闭开机自启
系统内置的服务比较多,比如:
NetworkManager
,主网络服务network
,副网络服务firewalld
,防火墙服务sshd
,ssh
服务(FinalShell
远程登录Linux使用的就是这个服务)
除了内置的服务外,部分第三方软件安装后也可以以systemctl
进行控制
- 安装
ntp
软件
yum install -y ntp
可以通过ntpd
服务器名,配合systemctl
进行控制
- 安装
apache
服务器软件
yum install -y httpd
可以通过httpd
服务名,配合systemctl
进行控制
部分软件安装后没有自动集成到
systemctl
中,可以手动添加
软连接
ln
命令创建软连接
在系统中创建软连接,可以将文件、文件夹链接到其他位置
类似于Windows系统中的《快捷方式》
语法
ln -s 参数1 参数2
-s
选项,创建软链接- 参数1,被链接的文件或文件夹
- 参数2,要链接去的目的地
实例
ln -s /etc/yum.conf ~/yum.conf
ln -s /etc/yum ~/yum
日期、时区
date
命令
通过date
命令可以在命令中查看系统的时间
语法
date [-d] [+格式化字符串]
-d
按照给定的字符串显示日期,一般用于日期计算- 格式化字符串: 通过特定的字符串标记,来控制显示的日期格式
%Y
年%y
年份后两位数字(00…99)%m
月份(01…12)%d
日(01…31)%H
小时(00…23)%M
分钟(00…59)%S
秒(00…59)%s
自1970-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
启动并设置为开机自启
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
的流程如下
即:
- 先查看本机的记录(私人地址本)
- Windows:
C:\Windows\System32\drivers\etc\hosts
- Linux:
/etc/hosts
- Windows:
- 再联网去DNS服务器(如114.114.114.114,8.8.8.8)询问
配置主机映射
Xshell通过IP地址连接到虚拟机中Linux服务器的,将其更改为通过域名(主机名)连接
使用记事本打开C:\Windows\System32\drivers\etc\hosts
文件,在该文件中配置即可
在hosts文件中的最后一行加上IP地址 主机名称
保存后退出,即可使用主机名进行连接 。
网络传输
ping
命令
可以通过ping
命令,检查指定的网络服务器是否是可联通状态
语法
ping [-c num] ip或主机名
- 选项:
-c
,ping
网络的次数,不使用-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
在后台下载:
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接口等
- 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用
- 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口,非特殊需要,不要占用这个范围的端口
- 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序或服务
- 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络连接时,用于临时使用
示例
如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口,计算机B的微信使用端口5678,即为注册端口,长期绑定此端口等待别人连接
查看端口占用
nmap
命令
nmap
命令查看端口占用情况,nmap
不是Linux内置命令需要安装
yum -y install nmap
语法
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的进程
Linux的进程
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
注意
进程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
主机状态
查看系统资源占用
top
命令查看CPU、内存使用情况,类似Windows的任务管理器
默认每5秒刷新一次
语法
top
ctrl+c
退出
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
buff
和cache
占用
KiB Swap: 2097148 total, 2096884 free, 264 used. 634280 avail Mem
KiB Swap
虚拟内存(交换空间),total
总计,free
空闲,used
使用,buff/cache
buff
和cache
占用
进程内容
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
命令选项
top
交互式选项
当top
以交互式运行(非-b
选项启动),可以用以下交互式命令进行控制
磁盘信息监控
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) |
svctm | I/O需求完成的平均时间 |
%util | 被I/O需求消耗的CPU百分比 |
iostat
命令选项
-c
:仅显示CPU使用情况;-d
:仅显示设备利用率;-k
:显示状态以千字节每秒为单位,而不使用块每秒;-m
:显示状态以兆字节每秒为单位;-p
:仅显示块设备和所有被使用的其他分区的状态;-t
:显示每个报告产生时的时间;-V
:显示版号并退出;-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
型结构,即名称和值,如下图
图中记录了:
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
上传文件
可以在此电脑上找到需要上传的文件,直接拖到右侧从Linux所需的上传的目录即可
下载
在右侧Linux中右键点击传输即可将所选文件传输到左侧的Windows路径下。
rz
/sz
命令
安装
yum -y install lrzsz
rz
命令,进行上传
语法
rz
直接输入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
压缩、解压
压缩格式
常见的压缩格式
- 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.gz
,gzip
格式压缩文件,即使用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