系统更新
sudo apt update && sudo apt upgrade -y
更新软件源并升级所有软件包
安装软件
sudo apt install package-name
使用 apt 安装软件包
卸载软件
sudo apt remove package-name
sudo apt autoremove
删除软件包并清理无用依赖
查看进程
ps aux | grep process-name
top
htop
查看系统进程状态
服务管理
sudo systemctl start service
sudo systemctl stop service
sudo systemctl restart service
sudo systemctl status service
sudo systemctl enable service
启动/停止/重启/状态/开机自启
用户管理
sudo useradd -m username
sudo passwd username
sudo usermod -aG sudo username
sudo deluser username
添加用户、设置密码、添加sudo权限
文件权限
chmod 755 file
chmod +x script.sh
chown user:group file
chown -R user:group directory/
修改文件权限和所有者
查找文件
find /path -name "*.txt"
find / -type f -size +100M
locate filename
按名称/大小查找文件
压缩解压
tar -czvf archive.tar.gz dir/
tar -xzvf archive.tar.gz
zip -r archive.zip dir/
unzip archive.zip
创建和解压 tar/zip 压缩包
内存查看
free -h
cat /proc/meminfo
查看系统内存使用情况
CPU信息
lscpu
cat /proc/cpuinfo
nproc
查看CPU核心数和详细信息
环境变量
export VAR="value"
echo $VAR
env
echo $PATH
设置和查看环境变量
镜像操作
docker images
docker pull image:tag
docker rmi image:tag
docker build -t name:tag .
列出/拉取/删除/构建镜像
容器操作
docker ps -a
docker run -d -p 80:80 --name name image
docker start/stop/restart container
docker rm container
列出/创建/启停/删除容器
查看日志
docker logs container
docker logs -f --tail 100 container
查看容器日志,-f 实时跟踪
进入容器
docker exec -it container bash
docker exec -it container sh
docker attach container
进入运行中的容器
文件复制
docker cp file container:/path/
docker cp container:/path/file ./
在容器和主机间复制文件
网络管理
docker network ls
docker network create mynet
docker network connect mynet container
docker network inspect mynet
创建和管理Docker网络
数据卷
docker volume ls
docker volume create volname
docker volume rm volname
docker run -v vol:/data image
管理Docker数据卷
Docker Compose
docker-compose up -d
docker-compose down
docker-compose logs -f
docker-compose ps
使用Compose管理多容器应用
清理资源
docker system prune -a
docker container prune
docker image prune -a
docker volume prune
清理未使用的容器/镜像/卷
资源统计
docker stats
docker stats container
docker inspect container
查看容器资源使用情况
镜像导入导出
docker save -o file.tar image:tag
docker load -i file.tar
docker export container > file.tar
docker import file.tar image:tag
保存和加载镜像
Dockerfile示例
FROM ubuntu:22.04
WORKDIR /app
COPY . .
RUN apt update && apt install -y vim
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Dockerfile常用指令示例
会话管理
tmux new -s name
tmux ls
tmux attach -t name
tmux kill-session -t name
tmux switch -t name
创建/列出/连接/删除会话
窗口操作
Ctrl+b c 创建新窗口
Ctrl+b n 下一个窗口
Ctrl+b p 上一个窗口
Ctrl+b 数字 切换到指定窗口
Ctrl+b & 关闭当前窗口
Ctrl+b , 重命名窗口
窗口创建、切换、关闭 (前缀: Ctrl+b)
面板操作
Ctrl+b % 垂直分割
Ctrl+b " 水平分割
Ctrl+b 方向键 切换面板
Ctrl+b x 关闭面板
Ctrl+b z 最大化/还原面板
Ctrl+b 空格 切换布局
面板分割、切换、关闭 (前缀: Ctrl+b)
调整面板大小
Ctrl+b :resize-pane -U 10
Ctrl+b :resize-pane -D 10
Ctrl+b :resize-pane -L 10
Ctrl+b :resize-pane -R 10
Ctrl+b Ctrl+方向键
调整面板大小
同步输入
# 开启同步
Ctrl+b :setw synchronize-panes on
# 关闭同步
Ctrl+b :setw synchronize-panes off
在所有面板同步输入
滚动与复制
Ctrl+b [ 进入复制模式
方向键/q 退出复制模式
Space 开始选择
Enter 复制选中内容
Ctrl+b ] 粘贴
滚动查看历史输出和复制
常用配置
# ~/.tmux.conf
set -g mouse on
set -g history-limit 50000
set -g base-index 1
setw -g pane-base-index 1
set -g prefix C-a
启用鼠标、历史记录、索引从1开始
会话持久化
# ~/.tmux.conf 添加插件:
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# 使用:
Ctrl+b Ctrl+s 保存
Ctrl+b Ctrl-r 恢复
保存和恢复tmux会话 (需安装插件)
初始化与克隆
git init
git clone url
git clone url mydir
初始化仓库和克隆远程仓库
查看状态
git status
git diff
git diff --staged
git log --oneline --graph
查看工作区状态和提交历史
提交代码
git add file
git add .
git commit -m "message"
git commit --amend
添加文件到暂存区并提交
分支管理
git branch
git branch name
git checkout branch
git checkout -b new-branch
git branch -d branch
git merge branch
创建、切换、删除、合并分支
远程操作
git remote -v
git remote add origin url
git push origin branch
git pull origin branch
git fetch origin
管理远程仓库和推送拉取
撤销操作
git checkout -- file
git reset HEAD file
git reset --soft HEAD~1
git reset --hard HEAD~1
git revert commit
撤销修改和回退提交
暂存工作
git stash
git stash list
git stash pop
git stash apply stash@{0}
git stash drop stash@{0}
暂存当前工作进度
标签管理
git tag v1.0.0
git tag -a v1.0.0 -m "release"
git push origin v1.0.0
git tag -d v1.0.0
创建和管理版本标签
模式切换
i 在光标前插入
a 在光标后插入
o 在下方新建行插入
O 在上方新建行插入
Esc 回到普通模式
进入插入模式的几种方式
保存退出
:w 保存
:q 退出
:wq 保存并退出
:q! 强制退出不保存
:x 保存并退出
文件保存和退出命令
光标移动
hjkl 左下上右
w/W 下一个词首
b/B 上一个词首
e/E 下一个词尾
0/$ 行首/行尾
gg/G 文件首/尾
快速移动光标
删除复制粘贴
dd 删除整行
yy 复制整行
p 粘贴
dw 删除到词尾
d$ 删除到行尾
x 删除单个字符
常用的编辑操作
搜索替换
/pattern 向下搜索
?pattern 向上搜索
n/N 下一个/上一个匹配
:s/old/new/g 替换当前行
:%s/old/new/g 全局替换
搜索和替换文本
撤销重做
u 撤销
Ctrl+r 重做
. 重复上一个操作
撤销和重做操作
可视模式
v 字符选择
V 行选择
Ctrl+v 块选择
选择后可执行 d(删除) y(复制) 等
进入可视模式选择文本
分屏操作
:sp file 水平分屏
:vsp file 垂直分屏
Ctrl+w h/j/k/l 切换窗口
Ctrl+w q 关闭当前窗口
Ctrl+w = 等分窗口
窗口分割和管理
网络接口
ip addr
ip link
ifconfig
ip a show eth0
查看网络接口和IP地址
网络连通
ping google.com
ping -c 4 192.168.1.1
ping6 ipv6.google.com
测试网络连通性
端口查看
ss -tulpn
netstat -tulpn
lsof -i :80
ss -tunlp | grep 8080
查看端口占用情况
下载工具
wget url
wget -O file url
curl -O url
curl -L url > file
命令行下载文件
路由表
ip route
ip route add default via 192.168.1.1
route -n
traceroute google.com
查看和管理路由
DNS查询
nslookup domain
dig domain
dig @8.8.8.8 domain
host domain
DNS解析查询
防火墙
sudo ufw status
sudo ufw enable
sudo ufw allow 80/tcp
sudo ufw deny 22
sudo ufw reload
Ubuntu防火墙管理
SSH连接
ssh user@host
ssh -p 2222 user@host
ssh-keygen -t rsa -b 4096
ssh-copy-id user@host
scp file user@host:/path/
SSH远程连接和文件传输
抓包分析
tcpdump -i eth0
tcpdump -i eth0 port 80
tcpdump -i eth0 -w file.pcap
tcpdump -r file.pcap
网络数据包捕获
磁盘空间
df -h
du -sh directory
du -h --max-depth=1
ncdu
查看磁盘使用情况
挂载操作
mount /dev/sdb1 /mnt
umount /mnt
mount -o loop image.iso /mnt
df -hT
挂载和卸载文件系统
分区管理
fdisk -l
fdisk /dev/sdb
parted /dev/sdb
lsblk
磁盘分区操作
格式化
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb1
mkswap /dev/sdb2
swapon /dev/sdb2
创建文件系统和swap
LVM管理
pvcreate /dev/sdb1
vgcreate vg01 /dev/sdb1
lvcreate -L 100G -n lv01 vg01
lvextend -L +50G /dev/vg01/lv01
逻辑卷管理
RAID管理
mdadm --create /dev/md0 --level=1 \
--raid-devices=2 /dev/sdb1 /dev/sdc1
mdadm --detail /dev/md0
cat /proc/mdstat
软件RAID配置
IO监控
iostat -x 1
iotop
iostat -d -k 1 5
监控磁盘IO性能
自动挂载
# /etc/fstab 格式:
/dev/sdb1 /data ext4 defaults 0 2
# 挂载所有
mount -a
配置开机自动挂载