Ubuntu20常用操作(包含nginx,docker,tcpdump)
'ubuntu配置下载源:
https://comate.baidu.com/zh/page/gcw9tf7u8qi
https://cloud.tencent.com/developer/article/2602348
ubuntu配置网卡:
https://blog.csdn.net/weixin_44569100/article/details/146369847
ubuntu下载指南:
https://blog.csdn.net/2301_80366509/article/details/149055734
ubuntu20和rocky9.5的区别:
包管理(最常用)
Ubuntu 20.04:apt(Debian 系);Rocky 9.5:dnf(RHEL 系,兼容yum)。
| 操作 | Ubuntu 20.04 | Rocky 9.5 |
|---|---|---|
| 更新源索引 | sudo apt update |
sudo dnf check-update |
| 升级所有包 | sudo apt upgrade -y |
sudo dnf update -y |
| 安装软件 | sudo apt install nginx |
sudo dnf install nginx |
| 搜索软件 | apt search nginx |
dnf search nginx |
| 卸载(保留配置) | sudo apt remove nginx |
sudo dnf remove nginx |
| 彻底卸载(删配置) | sudo apt purge nginx |
sudo dnf erase nginx |
| 清理无用依赖 | sudo apt autoremove |
sudo dnf autoremove |
| 查看已安装 | dpkg -l | grep nginx |
rpm -qa | grep nginx |
服务管理(systemd 一致,细节有别)
两者均使用systemctl管理服务,但默认服务名、网络服务、防火墙不同。
1. 通用服务命令(完全一致)
# 启动/停止/重启/状态/开机自启
sudo systemctl start/stop/restart/status/enable/disable nginx
2. 网络服务(关键差异)
- Ubuntu 20.04:
systemd-networkd/NetworkManager,常用netplan配置网络bash
# 应用网络配置 sudo netplan apply - Rocky 9.5:默认
NetworkManager,推荐nmcli命令行管理bash
# 查看连接 nmcli connection show # 重启网络连接(非服务) nmcli connection reload && nmcli connection up ens160
3. 防火墙
- Ubuntu 20.04:默认
ufwsudo ufw allow 80/tcp sudo ufw status - Rocky 9.5:默认
firewalldsudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-all
4.日志查看
- Ubuntu 20.04:传统日志 +
journalctl# 系统日志 tail -f /var/log/syslog # 服务日志 journalctl -u nginx -f - Rocky 9.5:统一
journalctl(无/var/log/messages)# 实时系统日志 journalctl -f # 过滤服务日志 journalctl -u sshd -f
5.网络配置命令
- Ubuntu 20.04:
netplan(YAML 配置)+ip# 查看IP ip a # 配置文件路径 /etc/netplan/*.yaml - Rocky 9.5:
nmcli(命令行)+ip# 配置静态IP nmcli connection modify ens160 ipv4.addresses 192.168.1.100/24 nmcli connection modify ens160 ipv4.gateway 192.168.1.1 nmcli connection modify ens160 ipv4.dns 8.8.8.8 nmcli connection up ens160
docker常用操作:
语法: docker [OPTIONS] COMMAND
Common Commands:
run 创建并运行容器
exec 在运行中的容器内执行命令
ps 查看当前运行的容器
build 根据 Dockerfile 构建自定义镜像
pull 从 Docker 镜像仓库(默认是 Docker Hub)下载镜像到本地
push 将本地构建的镜像上传到远程仓库(需先登录)
images 列出本地已有的镜像,方便查看镜像名称、标签、ID 等信息
login 登录到远程镜像仓库(默认登录 Docker Hub),需要输入用户名和密码
logout 从已登录的镜像仓库退出登录,清除本地保存的认证信息
search 在 Docker Hub 上搜索相关镜像
version 显示 Docker 客户端和服务器的版本信息
info 展示 Docker 系统的详细信息,包括容器和镜像的数量、存储驱动、操作系统、CPU 和内存配置、网络等
history:显示指定镜像的构建历史,能看到镜像每一层的构建步骤等信息。
import:从归档文件导入内容来创建文件系统镜像,例如可以将一个 tar 包导入成 Docker 镜像。
inspect:显示一个或多个镜像(也可用于容器等)的详细信息,包括镜像的配置、创建时间等。
load:从 tar 归档文件或标准输入(STDIN)加载镜像,常用于导入从其他地方导出的镜像。
prune:移除未使用的镜像,清理本地无用的镜像以释放空间,执行 docker image prune 可进行镜像清理。
rmi:移除一个或多个镜像(若有基于该镜像的容器在运行,需先停止容器)。
save:将一个或多个镜像保存为 tar 归档文件(默认流式输出),可用于导出镜像。
tag:为目标镜像创建一个引用源镜像的标签。
docker run [选项] [镜像名] [shell命令] [参数]
#选项:
-i, --interactive 以交互模式运行容器,通常和-t同时使用。
-t, --tty 为容器重新分配一个伪输入终端,通常和-i同时使用,注意对应的容器必须运行shell才支持进入
-d, --detach 后台运行容器,并返回容器 ID。容器启动后不会占用当前终端
--name string 为容器指定一个自定义名称,方便后续操作(如停止、进入容器)
--h, --hostname 设置容器的主机名(在容器内部通过 hostname 命令可见)
--rm 容器退出后自动删除,避免残留停止的容器(适合临时任务)
-p, --publish list 将容器的端口映射到主机,格式为 主机端口:容器端口
-P, --publish-all 自动将容器暴露的所有端口映射到主机的随机端口(端口范围通常在 32768+)
--dns list 为容器设置自定义 DNS 服务器
--entrypoint string 覆盖镜像默认的 ENTRYPOINT(容器启动时执行的命令)
--restart policy 设置容器重启策略(如容器退出后是否自动重启)。常见策略:
no(默认):不自动重启
always:总是自动重启
on-failure:仅在容器因错误退出时重启
nginx自动重启运行
--privileged 赋予容器扩展权限(接近主机的 root 权限),谨慎使用
-e, --env=[] 设置环境变量,格式为 KEY=VALUE
--env-file=[] 从文件中读取环境变量(每行一个 KEY=VALUE)
先创建一个文本文件 env.list ,内容如下
然后运行 busybox 容器,从 env.list 文件中读取环境变量并打印
nginx反向代理:
https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy
tcpdump详解:
https://support.huawei.com/enterprise/zh/knowledge/EKB1100145959
FFmpeg 基础用法 + 视频格式转换
打开终端,执行以下命令安装:
sudo apt update
sudo apt install ffmpeg -y
安装完成后,验证版本:
ffmpeg -version
显示版本信息就说明安装成功。
FFmpeg 核心基础语法
通用格式(直接复制改文件名就能用):
ffmpeg -i 输入文件.原格式 输出文件.新格式
-i:必须加,表示指定输入文件- 无需指定编码器,FFmpeg 会自动匹配最优编码
- 全程无需手动转码参数,新手直接用最简命令
最常用的视频格式转换命令
MP4 转 MKV(无损快速转换)
ffmpeg -i input.mp4 output.mkv
MKV 转 MP4(最常用,兼容性最强)
ffmpeg -i input.mkv output.mp4
MP4 转 WebM(网页播放用)
ffmpeg -i input.mp4 output.webm
进阶实用参数
快速无损转换(推荐!)
如果只是封装格式转换(比如 MP4 ↔ MKV),加 -c copy 可以秒完成,不重新编码,画质无损:
ffmpeg -i input.mp4 -c copy output.mkv
⚠️ 注意:不支持所有格式互转(比如 MP4 转 AVI 不能用这个)。
压制压缩视频(减小体积)
降低码率,适合手机存储:
ffmpeg -i input.mp4 -b:v 1M output_compress.mp4
1M:视频码率,数值越小体积越小(可改成 500K、2M 等)
批量转换(把当前目录所有 MKV 转 MP4)
for i in *.mkv; do ffmpeg -i "$i" "${i%.mkv}.mp4"; done
常见问题
- 转换慢?加
-c copy可以秒转(仅限格式封装转换)。 - 无声音 / 画面?去掉
-c copy,让 FFmpeg 自动重新编码。 - 文件找不到?先
cd到视频所在目录,或直接写完整路径,例如:ffmpeg -i ~/Videos/input.mp4 ~/Videos/output.mkv
更多推荐




所有评论(0)