压缩与解压
unzip
解压 ZIP 格式的归档文件。
常用参数
| 参数 | 说明 |
|---|---|
-l | 列出压缩包内的文件列表,不执行解压 |
-o | 覆盖已有文件时不提示确认(默认会逐个询问 y/n/A/N/r) |
-n | 不覆盖已有文件(默认行为) |
-d <目录> | 将文件解压到指定目录 |
-P <密码> | 解压加密压缩包时提供密码 |
-j | 丢弃目录结构(junk paths),所有文件平铺到同一目录。同名文件会覆盖 |
示例
# 列出压缩包内容(不解压)
unzip -l zip2026.zip
# 解压到指定目录,覆盖已有文件不提示
unzip -o zip2026.zip -d ./output
# 解压到当前目录(最基本用法)
unzip archive.zip
# 解压加密压缩包
unzip -P mypassword archive.zip
tar
打包和解包工具,通常结合 gzip(.tar.gz)或 bzip2(.tar.bz2)使用。
常用参数
| 参数 | 说明 |
|---|---|
-c | 创建新的归档文件(create) |
-x | 解包归档文件(extract) |
-t | 列出归档内容,不解包 |
-f <文件> | 指定归档文件名 |
-z | 使用 gzip 压缩/解压(.tar.gz) |
-j | 使用 bzip2 压缩/解压(.tar.bz2) |
-J | 使用 xz 压缩/解压(.tar.xz) |
-v | 显示处理过程中的文件名 |
-C <目录> | 解包到指定目录 |
示例
# 打包并用 gzip 压缩
tar -czf archive.tar.gz ./src
# 打包并用 bzip2 压缩(压缩率更高)
tar -cjf archive.tar.bz2 ./src
# 解包 .tar.gz
tar -xzf archive.tar.gz
# 解包到指定目录
tar -xzf archive.tar.gz -C ./output
# 列出归档内容
tar -tf archive.tar.gz
# 解包时显示文件名
tar -xzf archive.tar.gz -v
网络请求
curl
命令行 HTTP 客户端,支持多种协议(HTTP、HTTPS、FTP 等)。
常用参数
| 参数 | 说明 |
|---|---|
-X <方法> | 指定请求方法(GET、POST、PUT、DELETE 等) |
-H <头> | 添加请求头 |
-d <数据> | 发送请求体数据(默认 POST) |
-F <字段> | 上传表单/文件(multipart/form-data) |
-o <文件> | 将响应保存到文件 |
-k | 跳过 SSL 证书验证 |
-s | 静默模式,不显示进度 |
-i | 显示响应头 |
-w <格式> | 自定义输出格式(如耗时、状态码) |
-L | 跟随重定向 |
示例
# GET 请求
curl https://example.com/api
# POST JSON
curl -X POST -H "Content-Type: application/json" \
-d '{"name":"test"}' https://example.com/api
# 上传文件
curl -F "file=@photo.jpg" https://example.com/upload
# 下载文件
curl -o output.html https://example.com
# 显示响应头
curl -i https://example.com
# 跳过 SSL 验证
curl -k https://self-signed.example.com
wget
非交互式文件下载工具,支持断点续传和递归下载。
常用参数
| 参数 | 说明 |
|---|---|
-O <文件> | 指定保存文件名 |
-c | 断点续传 |
-q | 静默模式 |
-r | 递归下载(下载整个网站) |
-np | 不递归到父目录 |
--limit-rate=<速率> | 限制下载速度 |
-P <目录> | 下载到指定目录 |
示例
# 下载文件
wget https://example.com/file.zip
# 指定保存文件名
wget -O report.pdf https://example.com/download?id=123
# 断点续传
wget -c https://example.com/large-file.iso
# 限速下载(200KB/s)
wget --limit-rate=200k https://example.com/file.zip
# 下载到指定目录
wget -P ./downloads https://example.com/file.zip
网络诊断
telnet
测试远程主机的 TCP 端口连通性。
示例
# 测试端口是否可达
telnet example.com 80
# 测试 MySQL 连接
telnet db.example.com 3306
# 退出:Ctrl + ] 然后输入 quit
nc(netcat)
多功能的网络调试工具,可测试端口、传输数据。
常用参数
| 参数 | 说明 |
|---|---|
-z | 扫描端口,不发送数据 |
-v | 显示详细输出 |
-l | 监听模式(作为服务端) |
-p <端口> | 指定本地端口 |
-w <秒> | 设置超时时间 |
-u | 使用 UDP 协议 |
示例
# 测试单个端口连通性
nc -zv example.com 80
# 扫描端口范围
nc -zv example.com 80-443
# 超时 3 秒快速检测
nc -zv -w 3 example.com 3306
# 监听端口(服务端)
nc -l 8080
# 传输文件:接收端
nc -l 8080 > received.txt
# 传输文件:发送端
nc example.com 8080 < send.txt
系统诊断
lsof(list open files)
列出当前系统打开的文件。Linux 中一切皆文件,网络连接、设备、管道等也都是文件,因此 lsof 可用于查看端口占用、进程打开的文件等。
常用参数
| 参数 | 说明 |
|---|---|
-i <条件> | 查看网络连接,如 -i :80 查看占用 80 端口的进程 |
-i <协议> | 按协议筛选,如 -i TCP、-i UDP |
-P | 不将端口号转换为服务名(显示数字端口) |
-n | 不将 IP 转换为主机名(显示数字 IP) |
-p <PID> | 查看指定进程打开的文件 |
-u <用户> | 查看指定用户打开的文件 |
+D <目录> | 查看指定目录下被打开的文件 |
-c <名称> | 查看指定名称的进程打开的文件 |
示例
# 查看占用指定端口的进程
lsof -i :8080
# 以数字形式显示端口和 IP(最常用组合)
lsof -i :8080 -P -n
# 查看所有 TCP 连接
lsof -i TCP
# 查看指定进程打开的所有文件
lsof -p 12345
# 查看指定用户打开的文件
lsof -u www-data
# 查看指定目录下被打开的文件(排查"文件被占用无法删除"问题)
lsof +D /var/log
# 查看指定名称的进程打开的文件
lsof -c nginx
# 查看所有网络连接(TCP + UDP)
lsof -i
Kubernetes
以下示例中命名空间 ttos-client-jc-zhyh 需替换为实际值。
kubectl 常用参数
| 参数 | 说明 |
|---|---|
-n <命名空间> | 指定命名空间 |
-A | 所有命名空间 |
-o wide | 显示更多列信息(IP、所在节点等) |
-f | 持续跟踪日志输出(follow) |
查看资源
# 查看指定命名空间的 Pod
kubectl get pod -n ttos-client-jc-zhyh
# 查看详细信息(含 IP、所在节点)
kubectl get pod -n ttos-client-jc-zhyh -o wide
# 查看节点信息
kubectl get node -o wide
排查问题
# 查看 Pod 详情(事件、状态、原因)
kubectl describe pod -n ttos-client-jc-zhyh
# 查看指定 Pod 详情
kubectl describe pod <pod-name> -n ttos-client-jc-zhyh
# 查看日志并过滤关键词
kubectl logs -f <pod-name> -n ttos-client-jc-zhyh | grep "缓存"
操作资源
# 删除 Pod(删除后控制器会自动重建)
kubectl delete pod <pod-name> -n ttos-client-jc-zhyh
Helm
Kubernetes 的包管理工具,用于管理应用的安装、升级和卸载。
# 登录私有 Chart 仓库
helm registry login docker.tengits.com --username <用户名> --password <密码>
# 查看指定命名空间的 Release
helm list -n ttos-client-jc-zhyh
# 查看所有命名空间的 Release
helm list -A
# 查看指定命名空间(-n 必须接命名空间名称)
helm list -n <namespace>
# 升级 Release,--reuse-values 复用上次值,仅覆盖指定参数
helm upgrade zhyh-adapter-server zhyh-adapter-server-1.0.0-test \
--set replicaCount=1 --reuse-values -n ttos-client-jc-zhyh
# 卸载 Release
helm uninstall zhyh-adapter-server -n ttos-client-jc-zhyh
容器运行时
# 查看节点上的容器镜像
crictl images