1、软件包管理
类别 |
命令 |
说明 |
软件包管理 |
sudo apt update |
更新软件包列表,获取最新的软件源信息 |
sudo apt upgrade |
升级系统中所有已安装的软件包到最新版本 | |
sudo apt full-upgrade |
升级软件包并解决依赖问题,可能删除某些旧包 | |
sudo apt install <软件名> |
安装指定软件包,例如 sudo apt install nginx | |
sudo apt remove <软件名> |
删除软件包,但保留配置文件 | |
sudo apt purge <软件名> |
完全删除软件包,包括配置文件 | |
sudo apt autoremove |
清理不再需要的依赖包,释放磁盘空间 | |
sudo apt clean |
删除已下载的软件包缓存文件,释放空间 | |
dpkg -l |
列出系统中所有已安装的软件包 | |
dpkg -L <软件包名> |
查看某个软件包安装的文件列表,例如 dpkg -L vim | |
sudo apt-get check |
检查软件包依赖完整性 | |
sudo apt-get source <软件名> |
下载指定软件的源代码 | |
sudo dpkg -i <文件名.deb> |
安装本地 .deb 软件包 | |
apt list --installed |
列出所有已安装的软件包 | |
apt search <关键字> |
搜索软件包 |
2、系统状态检查
类别 |
命令 |
说明 |
系统状态检查 |
df -h |
显示磁盘分区使用情况,以人类可读格式(MB/GB)输出 |
free -h |
查看内存和交换区使用情况 | |
top |
实时查看进程状态(按 q 退出) | |
htop |
更友好的进程查看工具(需安装:sudo apt install htop) | |
vmstat 1 |
每秒刷新一次系统资源使用情况(CPU、内存、IO 等) | |
iostat |
查看 CPU 和 IO 统计信息(需安装 sysstat 包) | |
uptime |
显示系统运行时间和负载 | |
ps -ef |
列出所有进程的详细信息 | |
du -sh /* |
查看根目录下各文件夹占用空间 | |
watch -n 1 free -h |
每秒刷新显示内存使用情况 |
3、系统维护
类别 |
命令 |
说明 |
系统维护 |
sudo reboot |
重启系统 |
sudo shutdown -h now |
立即关闭系统 | |
sudo shutdown -r 10 |
10 分钟后重启系统(-r 表示重启) | |
sudo fsck /dev/sda1 |
检查并修复文件系统(/dev/sda1 替换为实际分区) | |
sudo apt install -f |
修复损坏的软件包依赖 | |
sudo dpkg --configure -a |
修复未完成配置的软件包 | |
sudo update-grub |
更新 GRUB 引导加载程序配置 | |
sudo sync |
强制将内存中的数据写入磁盘 | |
sudo systemctl rescue |
进入救援模式(用于系统修复) | |
sudo systemctl daemon-reload |
重新加载 systemd 服务配置文件 |
4、重启网络服务
类别 |
命令 |
说明 |
重启网络服务 |
sudo systemctl restart NetworkManager |
重启 NetworkManager 服务,重新加载所有网络配置 |
sudo ip link set <interface> down && sudo ip link set <interface> up |
关闭并重新开启指定接口(如 eth0、wlan0) | |
sudo nmcli networking off && sudo nmcli networking on |
关闭并重新开启整个网络功能 | |
sudo nmcli connection down <connection-name> && sudo nmcli connection up <connection-name> |
重启特定网络连接(需用 nmcli connection show 获取连接名) | |
sudo ifdown <interface> && sudo ifup <interface> |
关闭并开启指定接口(需安装 ifupdown 包,旧方法) | |
sudo service networking restart |
重启网络服务(适用于 Ubuntu 16.04 及更早版本,已弃用) | |
sudo systemctl restart systemd-networkd |
重启 systemd-networkd 服务(适用于使用此服务的系统) | |
sudo dhclient -r && sudo dhclient |
释放并重新获取 DHCP 租约 | |
sudo resolvconf -u |
更新 DNS 配置(适用于使用 resolvconf 的系统) |
5、查看网络接口状态
类别 |
命令 |
说明 |
查看网络接口状态 |
ip addr show |
显示所有接口的 IP 地址和状态(推荐) |
ifconfig |
显示接口状态(需安装 net-tools,传统工具) | |
nmcli connection show |
列出所有网络连接的详细信息(如名称、UUID) | |
iwconfig |
显示无线接口详细信息(需安装 wireless-tools) | |
ip link show |
显示网络接口状态(不含 IP 信息) | |
ethtool <interface> |
查看指定接口的详细信息(需安装 ethtool) | |
nmcli device status |
查看所有网络设备状态 |
6、启用/禁用网络接口
类别 |
命令 |
说明 |
启用/禁用网络接口 |
sudo nmcli device disconnect <interface> |
禁用指定接口 |
sudo nmcli device connect <interface> |
启用指定接口 | |
sudo ip link set <interface> down |
关闭指定网络接口 | |
sudo ip link set <interface> up |
开启指定网络接口 | |
sudo ifconfig <interface> down |
禁用接口(需 net-tools) | |
sudo ifconfig <interface> up |
启用接口(需 net-tools) |
7、查看网络日志与测试
类别 |
命令 |
说明 |
查看网络日志与测试 |
sudo journalctl -u NetworkManager |
查看 NetworkManager 日志,用于故障排查 |
ip route show |
显示当前路由表信息 | |
sudo systemctl status NetworkManager |
检查 NetworkManager 的运行状态 | |
ping <host> |
测试与目标主机的连通性(如 ping 8.8.8.8) | |
traceroute <host> |
跟踪到目标主机的路由路径(需安装 traceroute) | |
nslookup <域名> |
查询域名解析 | |
curl -I <URL> |
检查 URL 的 HTTP 头部信息 | |
netstat -tuln |
查看监听的端口(需安装 net-tools) |
8、文件操作
类别 |
命令 |
说明 |
文件操作 |
cat 文件名 |
查看文件内容 |
less 文件名 |
分页查看文件内容(按 q 退出) | |
cp -r 源目录 目标目录 |
递归复制目录及其内容 | |
mv 源文件 目标文件 |
移动或重命名文件/目录 | |
rm -rf 目录名 |
强制删除目录及其内容(谨慎使用) | |
touch 文件名 |
创建空文件或更新文件时间戳 | |
ln -s 源文件 链接名 |
创建符号链接(软链接) | |
head -n 10 文件名 |
查看文件前 10 行(行数可调整) | |
tail -n 10 文件名 |
查看文件后 10 行(行数可调整) | |
wc -l 文件名 |
统计文件行数 |
9、系统信息
类别 |
命令 |
说明 |
系统信息 |
uname -r |
显示内核版本 |
lsb_release -a |
显示 Ubuntu 发行版信息 | |
cat /proc/cpuinfo |
查看 CPU 详细信息 | |
lscpu |
显示 CPU 架构和核心数 | |
lsblk |
查看块设备和挂载点信息 | |
hostnamectl |
查看和设置主机名、系统信息 | |
cat /etc/os-release |
查看系统版本信息 | |
whoami |
显示当前用户名 |
10、防火墙管理
类别 |
命令 |
说明 |
防火墙管理 |
sudo ufw enable |
启用防火墙 |
sudo ufw status numbered |
查看防火墙规则并显示编号 | |
sudo ufw allow ssh |
允许 SSH 连接(默认端口 22) | |
sudo ufw delete <编号> |
删除指定编号的防火墙规则 | |
sudo ufw reset |
重置防火墙规则(谨慎使用) | |
sudo ufw deny 80 |
禁止 80 端口访问 | |
sudo ufw reload |
重新加载防火墙规则 | |
sudo ufw logging on |
启用防火墙日志 |
11、查看文件版本
类别 |
命令 |
说明 |
查看文件版本 |
file /路径/文件名 |
查看文件类型和版本信息(适用于可执行文件) |
dpkg -s <软件包名> |
查看已安装软件包的版本信息,例如 dpkg -s nginx | |
apt show <软件包名> |
查看软件包的详细信息,包括版本号 | |
ldd /路径/可执行文件 |
查看可执行文件依赖的动态库版本 | |
<命令> --version |
查看命令本身的版本,例如 ls --version 或 python3 --version | |
`strings /路径/文件 |
grep -i version` | |
`dpkg -l |
grep <软件包名>` |
12、目录管理
类别 |
命令 |
说明 |
目录管理 |
mkdir -p /路径/目录 |
创建目录及其父目录(如不存在则自动创建) |
rmdir 目录名 |
删除空目录 | |
cd /路径 |
切换到指定目录(cd ~ 返回主目录,cd - 返回上一个目录) | |
ls -lh |
列出目录内容,以人类可读格式显示大小(-a 显示隐藏文件) | |
pwd |
显示当前工作目录的完整路径 | |
tree 目录名 |
显示目录树结构(需安装 tree) | |
du -sh 目录名 |
查看目录总大小(以人类可读格式) |
13、权限管理
类别 |
命令 |
说明 |
权限管理 |
chmod 755 文件名 |
修改文件权限(755 表示所有者读写执行,其他人读执行) |
chown -R 用户:组 目录 |
递归更改目录及其内容的所有者和组,例如 chown -R user:group /data | |
sudo -i |
切换到 root 用户(需输入密码) | |
chmod u+x 文件名 |
为文件所有者添加执行权限 | |
chgrp 组名 文件名 |
更改文件的所属组 | |
ls -l 文件名 |
查看文件权限详细信息 | |
sudo visudo |
编辑 sudo 权限配置文件 |
14、进程管理
类别 |
命令 |
说明 |
进程管理 |
ps aux |
列出所有正在运行的进程 |
kill -9 <PID> |
强制终止指定进程(PID 为进程 ID,例如 kill -9 1234) | |
pkill -9 <进程名> |
按进程名强制终止,例如 pkill -9 firefox | |
jobs |
查看后台运行的任务 | |
bg |
将暂停的任务放入后台继续运行 | |
fg |
将后台任务切换到前台 | |
killall <进程名> |
终止所有匹配进程名的进程 | |
nice -n 10 <命令> |
以指定优先级运行命令(10 为较低优先级) | |
renice 10 <PID> |
调整运行中进程的优先级 |
15、日志查看
类别 |
命令 |
说明 |
日志查看 |
journalctl -xe |
查看系统日志并跳转到末尾,排查错误 |
journalctl -u <服务名> |
查看指定服务日志,例如 journalctl -u nginx | |
tail -n 50 /var/log/syslog |
查看系统日志最后 50 行 | |
dmesg |
查看内核日志 | |
cat /var/log/auth.log |
查看认证日志(SSH 登录等) | |
journalctl --since "YYYY-MM-DD" |
查看指定日期后的日志 | |
less /var/log/dpkg.log |
查看软件包安装日志 |
16、磁盘与空间
类别 |
命令 |
说明 |
磁盘与空间 |
df -h |
查看磁盘分区使用情况 |
du -sh /路径 |
计算指定路径的总大小 | |
sudo fdisk -l |
列出磁盘分区信息(需管理员权限) | |
lsblk |
列出块设备信息(如磁盘和分区) | |
df -i |
查看磁盘 inode 使用情况 | |
parted -l |
查看分区表信息(需安装 parted) | |
sudo mkfs.ext4 /dev/sdX |
格式化分区为 ext4 文件系统(替换 /dev/sdX) |
17、压缩与解压
类别 |
命令 |
说明 |
压缩与解压 |
tar -czvf 文件名.tar.gz /路径 |
将目录压缩为 .tar.gz 格式 |
tar -xzvf 文件名.tar.gz |
解压 .tar.gz 文件 | |
gzip 文件名 |
压缩文件为 .gz 格式 | |
gunzip 文件名.gz |
解压 .gz 文件 | |
tar -cjvf 文件名.tar.bz2 /路径 |
将目录压缩为 .tar.bz2 格式 | |
tar -xjvf 文件名.tar.bz2 |
解压 .tar.bz2 文件 | |
zip -r 文件名.zip /路径 |
将目录压缩为 .zip 格式 | |
unzip 文件名.zip |
解压 .zip 文件 |
18、文本编辑
类别 |
命令 |
说明 |
文本编辑 |
nano 文件名 |
使用 nano 编辑文件(Ctrl+O 保存,Ctrl+X 退出) |
vim 文件名 |
使用 vim 编辑文件(:w 保存,:q 退出,:q! 强制退出) | |
sed -i 's/旧/新/g' 文件名 |
替换文件中所有匹配的文本 | |
echo "内容" > 文件名 |
将内容写入文件(覆盖原有内容) | |
echo "内容" >> 文件名 |
将内容追加到文件末尾 | |
tee 文件名 |
从标准输入读取并写入文件(需配合管道) |
19、实用工具
类别 |
命令 |
说明 |
实用工具 |
grep -r "模式" /路径 |
在指定路径下递归搜索匹配的文本 |
awk '{print $2}' 文件名 |
按空格分隔打印文件的第二列 | |
cut -d',' -f1 文件名 |
按逗号分隔提取文件第一列 | |
wc -l 文件名 |
统计文件行数 | |
history |
查看历史命令记录 | |
alias ls='ls -lh' |
设置临时别名,写入 ~/.bashrc 可永久生效 | |
sort 文件名 |
对文件内容排序 | |
uniq 文件名 |
去除文件中重复的行(需先排序) | |
tr 'a-z' 'A-Z' < 文件名 |
将文件内容小写转为大写 |
20、文件搜索
类别 |
命令 |
说明 |
文件搜索 |
find / -name "*.txt" |
在根目录下查找所有 .txt 文件 |
locate 文件名 |
快速查找文件(需运行 sudo updatedb 更新数据库) | |
whereis <命令> |
查找命令的可执行文件、源码和手册位置,例如 whereis ls | |
which <命令> |
显示命令的可执行文件路径,例如 which python3 | |
find /路径 -type f -mtime -7 |
查找 7 天内修改的文件 |