一、系统资源相关
在 Linux 系统中,有多种工具可用于查看系统资源占用情况,包括 CPU、内存、磁盘和网络等。以下是一些常见的命令和工具,以及它们的用法:
1.1. 查看 CPU 占用
-
top
命令:显示实时的系统进程和 CPU 占用情况。top
-
htop
命令:htop
是top
命令的增强版,提供更友好的界面,但可能需要安装。# sudo apt install htop # 在 Ubuntu 上安装 htop htop
-
mpstat
命令:显示 CPU 使用的平均负载。mpstat -P ALL 1 # 每秒更新一次,显示所有 CPU
1.2. 查看内存占用
-
free
命令:显示系统的内存使用情况。free -h # 以易读格式显示内存使用情况
-
vmstat
命令:显示系统的虚拟内存状态。vmstat 1 # 每秒更新一次内存和进程信息
1.3. 查看磁盘占用
-
df
命令:显示文件系统的磁盘空间使用情况。df -h # 以人类可读格式显示磁盘使用情况
-
du
命令:查看目录或文件占用的磁盘空间。du -sh /path/to/dir # 显示指定目录的总占用空间
-
iotop
命令:实时查看磁盘 I/O 情况,可能需要安装。sudo apt install iotop # 在 Ubuntu 上安装 iotop sudo iotop
1.4. 查看网络占用
1.4.1 网络查询
-
netstat
命令:查看网络连接状态。# 安装 sudo apt-get install net-tools netstat -tunlp # 显示所有监听的 TCP 和 UDP 端口 # 查看tcp的连接 netstat -anp | grep tcp # 或 ss -s
-
ss
命令:用于显示与netstat
类似的信息,但性能更佳。ss -tuln # 显示所有监听的 TCP 和 UDP 端口
-
iftop
命令:实时显示网络流量,可能需要安装。sudo apt install iftop # 在 Ubuntu 上安装 iftop sudo iftop】
1.4.2 测试服务器端口是否开启
要测试公网服务器的端口是否开启,可以使用以下几种命令行工具:
-
telnet:
telnet <服务器IP地址> <端口号>
如果连接成功,说明端口是开启的;如果无法连接,则端口可能是关闭的。
该命令需要该端口监听了服务才显示连接成功,连接失败可能是端口未开或端口没有监听服务
-
nc (netcat):
# 连接tcp测试 nc -zv <服务器IP地址> <端口号> # 连接udp测试 nc -zvu <服务器IP地址> <端口号>
-z
选项用于扫描没有发送数据,-v
选项用于显示详细信息,-u
udp连接测试
该命令和telnet一样,需要该端口监听了服务才显示连接成功,连接失败可能是端口未开或端口没有监听服务
-
nmap:
# sudo apt install nmap nmap -p <端口号> <服务器IP地址>
这会扫描指定的端口并报告其状态。
该命令与 nc 或 telnet 不同,该命令可以直接扫描端口状态
-
curl(对于HTTP/HTTPS服务):
curl -I http://<服务器IP地址>:<端口号>
该命令用于HTTP服务的测试,
-I
选项用于只获取响应头。
1.4.3 查看占用端口的进程
# 查看某个端口进程的占用
sudo lsof -i:端口号
# 例如:sudo lsof -i:80
1.5. 查看系统负载
-
uptime
命令:显示系统的运行时间和负载平均值。uptime
-
load average
:通常显示在top
或htop
之中,表示在过去 1 分钟、5 分钟和 15 分钟内的平均负载。
二、文件操作
2.1 压缩&解压文件
2.1.1 .tar .tar.gz .tgz .tar.bz2 文件
- 压缩
- 打包为 tar(不压缩)
tar cvf 压缩名.tar 文件夹名或文件
- 打包并用 gzip 压缩(.tar.gz 或 .tgz)
tar czvf 压缩名.tar.gz 文件夹名或文件
- 打包并用 bzip2 压缩(.tar.bz2)
tar cjvf 压缩名.tar.bz2 文件夹名或文件
- 解压
- 解压 tar
tar xvf 压缩名.tar
- 解压 tar.gz / tgz
tar xzvf 压缩名.tar.gz
# 或
tar xzvf 压缩名.tgz
- 解压 tar.bz2
tar xjvf 压缩名.tar.bz2
2.1.2 .zip 文件
需要安装 unzip,可以用 sudo apt install unzip 安装。
- 压缩
zip -r 压缩名.zip 文件夹名或文件
- 解压
unzip 压缩名.zip
2.1.2 .gz 文件(单文件压缩)
- 压缩
gzip 文件名 # (会生成 文件名.gz)
- 解压
gunzip 文件名.gz