linux第八部分:系统管理,了解机器
第八部分:系统管理,了解机器
- 内核信息
59.uname:查看内核信息
uname -a # 查看内核详细信息
- 磁盘信息(du/df/lsblk)
- 内存信息
su切换root
60.free:查看内存信息
free -h
总内存 使用的 空闲的 共享 缓存 可分配的
total used free shared buff/cache available
Mem :运行内存 1.8G 133M 1.4G 9.5M 245M 1.5G
Swap:交换分区3.0G 0B 3.0G
- 磁盘信息
- 内存信息
- 进程信息
61.ps:查看进程静态信息
进程:正在运行中的程序,指令被CPU运算,数据存储在内存中。
1 ps # 查看当前用户在前台运行的进程
2 ps -aux
3
4 用户 进程号 CPU 内存 虚拟内存 常驻内存 终端 状态 启动时间 运行时间 命令路径
5 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
6 root 1 0.0 0.2 125520 4028 ? Ss 07:23 0:01
/usr/lib/systemd/system
7
8 ps -ef
| 列名 | 全称 / 含义解释 |
|---|---|
| PID | Process ID(进程 ID):系统为每个运行的进程分配的唯一数字标识符,用于区分不同进程。 |
| %CPU | CPU 使用率:进程当前占用 CPU 资源的百分比,反映进程对 CPU 的消耗程度。 |
| %MEM | 内存使用率:进程当前占用物理内存的百分比,体现进程对内存资源的占用情况。 |
| VSZ | Virtual Set Size(虚拟内存大小):进程使用的虚拟内存总量,包括物理内存、交换空间以及未使用的内存等,单位通常为 KB。 |
| RSS | Resident Set Size(常驻内存大小):进程实际占用的物理内存大小(不包括交换空间 ),单位通常为 KB,是衡量进程实际内存消耗的重要指标。 |
| TTY | Teletype(终端):进程所关联的终端设备,显示进程是从哪个终端启动的。若为 ?,表示该进程不依赖终端(如后台服务进程)。 |
| STAT | Process State(进程状态):由字母组成的状态标识,常见状态包括: - R:运行中(正在使用 CPU 或等待 CPU) - S:休眠中(等待事件完成,如 I/O 操作) - Z:僵尸进程(进程已终止,但父进程未回收其资源) - T:停止状态(被信号暂停,如 Ctrl+Z) - <:高优先级进程 - N:低优先级进程 - L:进程有页面被锁定在内存中(如实时进程) |
| START | 进程启动时间:进程开始运行的时间,格式可能为具体时间(如 10:05)或日期(如 Jan 01),取决于进程运行时长。 |
| TIME | 进程累计 CPU 时间:进程从启动到当前累计占用的 CPU 时间,格式为 时:分:秒,反映进程总 CPU 消耗。 |
| COMMAND | 命令名称:启动该进程的命令行(包括命令及参数),用于识别进程的用途。 |
62.kill:杀死进程
kill -9 pid # 强制杀死进程
pkill -9 程序名
63.top:动漫查询进程信息
top
# t:显示cpu占有率
# m:显示内存占用率
- CPU信息
lscpu
- 主机名管理
64.hostname/hostnamectl:修改主机名
hostname 主机名 # 临时修改主机名,重启失效
# 永久修改主机名,重启生效
vim /etc/hostname
# hostnamectl 永久修改主机名,重新登录终端生效 hostnamectl set-hostname 主机名
第九部分:网络操作,玩转链接
- 网络信息
65.ping:测试网络是否畅通
## 1 ping ip/域名 # 需要Ctrl+c停止
## 2 ping -c3 ip/域名
66.wget:通过url下载文件
1 wget http://192.168.56.200/Software/redis-6.2.14.tar.gz
67.curl:万能数据获取工具
1 curl ip/域名
2 curl -O 地址#下载
68.68.netstat/ss:网络连接一览
1 netstat -lnutp # 本地服务,开放端口 2 ss -lnutp
69.lsof:查看文件和网络连接的多面手
1 lsof -i:80 # 查看80端口是否被占用
70.telnet:测试端口连通性
太有奈特
用法:telnet 主机名或 IP 端口号
telnet 192.168.56.200 80
#查看80端口是否畅通
71.tcpdump:网络数据包捕获工具
用法:tcpdump [选项] [过滤条件]
- 强大的网络抓包工具,支持实时查看或保存数据包,用于分析网络问题。
- 抓取数据包:用 tcpdump -i 接口 监听网络流量。
- 保存数据分析:用 -w 保存为文件,配合 Wireshark 等工具分析。
- 过滤特定流量:配合 src、dst 或 port 筛选数据包。
- 查看详细信息:用 -v 或更详细的 -vv 输出抓包细节。
72.nc(Netcat):网络工具的瑞士军刀
“不仅能测试端口,还能传文件、模拟服务,样样精通!”
主要检测端口正不正常,能不能用
nc 常用选项:
-l :监听模式,用于在本地创建服务器,等待客户端连接。
-z :扫描模式,检查端口是否开放,不发送任何数据。
-v :启用详细模式,输出更多的调试信息。
-u :使用 UDP 协议进行连接,而不是默认的 TCP。
-p :指定源端口。
-w :设置超时时间,单位为秒。
-n :禁用 DNS 解析,直接使用 IP 地址,而不是域名。
-v :详细输出,显示连接过程中的所有信息。
73.ip/ifconfig: 查看 ip 地址
yum install net-tools 安装。。。。
# 查看 ip 地址
ip a
ifconfig
临时修改或增加 ip 地址
sudo ip addr add 192.168.1.100/24 dev ens33 label eth0:0 # 添加别名
sudo ip addr add 192.168.1.101/24 dev ens33 # 不使用别名
| 场景 | ifconfig 命令 | ip 命令 |
|---|---|---|
| 临时添加 IP | ifconfig eth0:0 192.168.1.100 netmask ... | ip addr add 192.168.1.100/24 dev eth0 |
| 修改现有 IP | ifconfig eth0 192.168.1.200 netmask ... | 先 del 再 add |
| 删除临时 IP | ifconfig eth0:0 down | ip addr del 192.168.1.100/24 dev eth0 |
| 永久修改(推荐方式) | 编辑 /etc/network/interfaces | 使用 nmcli 或编辑 /etc/sysconfig/... |
7.21下午
74.nmtui:半图形化网络管理命令
Network Manage tui
- 修改ip地址 等价于vim /etc/sysconfig/network-script/ifcfg-ens33
- 重启网卡 systemc
- tl restart network
- 修改主机名 hostnamectl set-hostname 主机名
- 叉哨是汉语
75.ssh:安全的远程连接
exit登出
通过非对称加密,保证数据传输过程中的安全性。
ssh服务属于 c/s架构, Client/Server;
- ssh 用户名@ip/主机名/域名 【-p 端口号(22)】
- sshd:服务端,安装在服务器上(CentOS默认安装)
-
- CentOS: yum install openssh-server
- Ubuntu:sudo apt install openssh-server
修改 sshd 配置文件的操作步骤:
- 编辑配置文件命令:
vim /etc/ssh/sshd_config - 重启服务命令:
systemctl restart sshd
用于在 Linux 系统中,通过修改 sshd(SSH 服务端程序)配置文件后,重启服务使新配置生效 。
| 参数 | 作用 |
|---|---|
| Port 22 | 默认的 sshd 服务端口 |
| ListenAddress 0.0.0.0 127.0.0.1 | sshd 服务器监听的 IP 地址 |
| Protocol 2 | SSH 协议的版本号 |
| HostKey /etc/ssh/ssh_host_rsa_key | 协议版本号为 2 时,RSA 私钥存放位置 |
| HostKey /etc/ssh/ssh_host_dsa_key | 协议版本号为 2 时,DSA 私钥存放位置 |
| PermitRootLogin yes | 允许 root 管理员直接登录 |
| PasswordAuthentication yes | 是否允许密码验证 |
- 名称:跳板机
- 作用:作为用户访问后端目标服务器(如生产服务器、数据库服务器等 )的唯一入口,用于集中管控、审计和保护对敏感资源的访问 。
# 设置白名单
vim /etc/ssh/sshd_config
# 在最后添加
AllowUsers tom@192.168.8.30
# 或者
AllowUsers tom@192.168.8.0/24
秘钥验证:
客户端的公钥存放到服务器,每次登录通过公钥进行验证,省略密码。
1.在客户端生成密钥对;私钥保存在本地,保证私钥安全;
ssh-keygen #敲三个回车
2.将公钥发送到服务端;/root/.ssh/authorized keys
ssh-copy-id 用户名@ip #输入密码
3.之后进行登录自动识别身份;
ssh root@192.168.8.100
附加命令
vim /etc/ssh/sshd_config
执行这条命令后,会用 vim 编辑器打开 sshd_config 文件,管理员可对其进行修改来调整 SSH 服务器的运行配置,但修改后通常需要重启 sshd 服务(如 systemctl restart sshd ,不同系统服务管理命令可能有差异 )才能让新配置生效 。
systemctl restart sshd
这是一条 Linux 系统中用于重启 sshd(SSH 守护进程,提供 SSH 服务 )服务的命令,# 一般表示该命令需以管理员(root 权限 )身份执行,systemctl 是系统服务管理工具,restart 子命令用于重启指定服务(这里是 sshd ),执行后会让 sshd 服务按新配置(若之前修改过 sshd_config 等配置文件 )重新加载并运行 。
su - 切换回root
76.scp ;远程文件复制
- 命令格式:
-
- 上传:将本地文件发送到目标服务器上;
- scp 原文件 root@ip:目标路径
- 下载:将服务器上的文件下载到本地;
- scp [-r] root@ip:路径 本地目录
将本地文件复制到远程服务器
scp redis-6.2.14.tar.gz root@192.168.8.20:/usr/local/src
将远程服务器上的文件下载到本地
scp root@192.168.8.20:/root/20.txt ./
- scp是全量复制
- rsync:增量复制、差异复制
77.rsync:高效文件同步工具
- rsync:支持增量传输,只同步变化的内容
-
选项:
- -a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD。
- -v, --verbose 详细模式输出。
- -z, --compress 对备份的文件在传输时进行压缩处理。
--delete,作用是删除那些 DST(目标)中 SRC(源)没有的文件
rsync 同步目录或文件 rsync -avz --delete redis-6.2.14 root@192.168.8.20:/root问题:如何实现同步
1
防火墙管理
systemctl status firewalld
#查看防火墙状态
systemctl stop firewalld
#关掉防火墙
systemctl disable firewalld
#关闭开机自启
systemctl start firewalld
#开启防火墙
firewalld
#防火墙
firewall-cmd --add-port=8080/tcp --permanent
# 开放端口
firewall-cmd --remove-port=8080/tcp --permanent
# 移除端口
systemctl restart firewalld
#重启防火墙
firewall-cmd --list-all
# 查看防火墙当前区域的规则
#--list-all:参数表示列出防火墙的全部配置信息,包括区域(zone)、已开放端口 / 服务、规则策略等,执行后可直观查看当前防火墙的运行状态和规则详情
端口:为了实现进程间通信,让网络服务绑定端口号。
通过ip地址找到某台电脑,网络进程(QQ、微信、钉钉)
20/21 ftp 22 ssh 23 telnet 25smtp 53 dns 80 http 443 https 3306 mysql 6379 redis 8080 tomcat
- 服务管理
- 防火墙管理
- 日志管理
常用端口
在计算机网络中,端口号用于标识不同的网络服务或应用程序,分为知名端口(0-1023)、注册端口(1024-49151) 和动态 / 私有端口(49152-65535)。以下是一些常用的知名端口号及其对应的服务,涵盖了日常网络通信、服务器运维、文件传输等常见场景:
一、基础网络协议端口
-
20/tcp & 21/tcp
:FTP(文件传输协议)
- 20 端口用于数据传输,21 端口用于控制连接,是传统的文件上传下载服务端口。
-
22/tcp:SSH(Secure Shell)
用于加密的远程登录和文件传输,替代不安全的 Telnet,广泛用于服务器远程管理。 -
23/tcp:Telnet
明文传输的远程登录协议,因安全性差,现在已很少使用,多被 SSH 取代。 -
25/tcp:SMTP(Simple Mail Transfer Protocol)
简单邮件传输协议,用于发送电子邮件。 -
53/udp & 53/tcp:DNS(Domain Name System)
域名解析服务,将域名转换为 IP 地址(UDP 用于普通查询,TCP 用于区域传输)。 -
67/udp & 68/udp
:DHCP(Dynamic Host Configuration Protocol)
- 67 端口:DHCP 服务器端口,用于分配 IP 地址等网络配置。
- 68 端口:DHCP 客户端端口,用于请求网络配置。
二、Web 与 HTTP 相关端口
- 80/tcp:HTTP(Hypertext Transfer Protocol)
超文本传输协议,用于普通的网页浏览(未加密)。 - 443/tcp:HTTPS(HTTP Secure)
加密的 HTTP 协议,通过 SSL/TLS 加密传输,用于安全的网页访问(如网银、购物网站)。 - 8080/tcp:HTTP 代理 / 备用端口
常用于 Web 服务器的备用端口或代理服务器(如 Tomcat 默认端口)。
三、文件与资源共享端口
- 110/tcp:POP3(Post Office Protocol v3)
邮局协议版本 3,用于接收电子邮件(从邮件服务器下载到本地)。 - 143/tcp:IMAP(Internet Message Access Protocol)
互联网消息访问协议,与 POP3 类似,但支持在服务器上管理邮件。 - 445/tcp:SMB(Server Message Block)
用于 Windows 文件和打印机共享,也是局域网内文件传输的常用端口。
四、远程控制与数据库端口
- 3389/tcp:RDP(Remote Desktop Protocol)
Windows 远程桌面协议,用于远程控制 Windows 系统。 - 3306/tcp:MySQL 数据库默认端口
用于 MySQL 数据库的客户端与服务器通信。 - 1521/tcp:Oracle 数据库默认端口
Oracle 数据库的监听端口。 - 5432/tcp:PostgreSQL 数据库默认端口
开源关系型数据库 PostgreSQL 的默认端口。
五、其他常用端口
- 21/tcp:FTP(已提及,再次强调其文件传输核心作用)。
- 69/udp:TFTP(Trivial File Transfer Protocol)
简单文件传输协议,轻量级且无身份验证,常用于设备固件升级。 - 161/udp:SNMP(Simple Network Management Protocol)
简单网络管理协议,用于网络设备(如路由器、交换机)的监控和管理。 - 389/tcp:LDAP(Lightweight Directory Access Protocol)
轻量级目录访问协议,用于访问和维护分布式目录服务(如企业用户信息管理)。
总结
知名端口(0-1023)由 IANA(互联网号码分配机构)统一分配,对应常用服务;注册端口(1024-49151)用于用户自定义服务或应用;动态端口(49152-65535)由系统临时分配,用于客户端与服务器的临时通信。了解这些端口有助于网络配置、故障排查和安全防护(如防火墙规则设置)。
常用命令
- touch 创建文件
- cd 切换目录/home/name
- useradd 创建用户 userdel删除用户 passwd修改用户密码
- mount /dev/sdb1被挂载的存储设备 /data/A 挂载的位置,其中sdb代表第二个盘,/dev/sro代表光盘位置
- vim /etc/fstab自动挂载
- mkdir 创建目录
- rm删除文件,rm -r删除文件夹
- 重启reboot
浙公网安备 33010602011771号