Linux 系统维护命令非常丰富,以下是一些常用且重要的分类和命令:

一、系统信息

  • uname -a: 显示所有系统信息(内核版本、操作系统等)。

  • cat /etc/os-release: 查看操作系统版本信息。

  • hostname: 显示主机名。

  • uptime: 查看系统运行时间、用户数和平均负载。

  • df -h: 查看磁盘空间使用情况(-h 表示以人类可读的方式显示)。

  • du -sh <目录>: 查看指定目录的大小。

  • free -h: 查看内存使用情况。

  • top: 实时查看系统资源使用情况(CPU、内存、进程等)。

  • htop: top 的增强版,提供更友好的界面。

  • lscpu: 显示 CPU 详细信息。

  • lsblk: 列出块设备信息(硬盘、分区等)。

  • lspci: 列出所有 PCI 设备。

  • lsusb: 列出所有 USB 设备。

二、进程管理

  • ps aux: 显示所有运行的进程。

  • pstree -p: 以树状图显示进程及其父子关系。

  • kill <PID>: 终止指定 PID 的进程。

  • killall <进程名>: 终止所有同名进程。

  • pkill <进程名>: 根据进程名终止进程。

  • nice -n <优先级> <命令>: 以指定优先级运行命令(-20 为最高,19 为最低)。

  • renice <优先级> <PID>: 改变运行中进程的优先级。

  • bg: 将停止的进程放到后台运行。

  • fg: 将后台进程调到前台运行。

  • jobs: 查看后台作业。

  • nohup <命令> &: 在后台运行命令,即使关闭终端也不会停止。

三、文件和目录管理

  • ls -lha: 列出文件和目录的详细信息,包括隐藏文件。

  • cd <目录>: 切换目录。

  • pwd: 显示当前工作目录。

  • mkdir <目录>: 创建目录。

  • rmdir <目录>: 删除空目录。

  • rm -rf <文件/目录>: 强制递归删除文件或目录(慎用!)。

  • cp <源文件> <目标文件>: 复制文件。

  • cp -r <源目录> <目标目录>: 递归复制目录。

  • mv <源文件> <目标文件>: 移动或重命名文件。

  • cat <文件>: 查看文件内容。

  • more <文件>: 分页查看文件内容。

  • less <文件>: 比 more 更强大的分页查看工具,支持前后翻页。

  • head -n <行数> <文件>: 查看文件开头指定行数。

  • tail -n <行数> <文件>: 查看文件末尾指定行数。

  • tail -f <文件>: 实时监控文件末尾内容(常用于查看日志)。

  • find <目录> -name "<文件名>": 在指定目录查找文件。

  • grep "<关键词>" <文件>: 在文件中搜索指定关键词。

  • ln -s <源文件> <链接文件>: 创建软链接。

  • chmod <权限> <文件>: 改变文件或目录的权限。

  • chown <用户>:<组> <文件>: 改变文件或目录的所有者和组。

四、网络管理

  • ip a: 显示网络接口信息(IP 地址、MAC 地址等)。

  • ping <IP地址/域名>: 测试网络连通性。

  • netstat -tulnp: 查看端口监听情况及对应进程。

  • ss -tulnp: netstat 的替代,更快更强大。

  • ifconfig: (较旧的命令,推荐使用 ip a) 查看和配置网络接口。

  • route -n: 查看路由表。

  • traceroute <IP地址/域名>: 追踪数据包路由路径。

  • dig <域名>: 查询 DNS 信息。

  • nslookup <域名>: 查询 DNS 信息。

  • wget <URL>: 下载文件。

  • curl <URL>: 传输数据,支持多种协议。

五、用户和组管理

  • useradd <用户名>: 添加用户。

  • passwd <用户名>: 设置用户密码。

  • userdel -r <用户名>: 删除用户及其主目录。

  • groupadd <组名>: 添加组。

  • groupdel <组名>: 删除组。

  • usermod -aG <组名> <用户名>: 将用户添加到指定组。

  • id <用户名>: 显示用户的 UID、GID 和所属组。

  • su <用户名>: 切换用户。

  • sudo <命令>: 以超级用户权限执行命令。

六、软件包管理(以 Debian/Ubuntu 为例)

  • apt update: 更新软件包列表。

  • apt upgrade: 升级已安装的软件包。

  • apt install <软件包名>: 安装软件包。

  • apt remove <软件包名>: 卸载软件包(保留配置文件)。

  • apt purge <软件包名>: 彻底卸载软件包(包括配置文件)。

  • apt autoremove: 删除不再需要的依赖包。

  • apt search <关键词>: 搜索软件包。

  • dpkg -i <deb文件>: 安装 .deb 软件包。

七、系统日志

  • journalctl: 查看 systemd 日志。

  • cat /var/log/syslog: 查看系统日志(Debian/Ubuntu)。

  • cat /var/log/messages: 查看系统日志(CentOS/RHEL)。

  • cat /var/log/auth.log: 查看认证相关日志。

  • cat /var/log/kern.log: 查看内核日志。

  • dmesg: 查看内核消息。

八、计划任务

  • crontab -e: 编辑当前用户的计划任务。

  • crontab -l: 列出当前用户的计划任务。

  • systemctl enable cron: 启用 cron 服务。

  • systemctl start cron: 启动 cron 服务。

九、压缩与解压缩

  • tar -czvf <文件名>.tar.gz <目录/文件>: 压缩为 .tar.gz

  • tar -xzvf <文件名>.tar.gz: 解压 .tar.gz

  • zip -r <文件名>.zip <目录/文件>: 压缩为 .zip

  • unzip <文件名>.zip: 解压 .zip

  • gzip <文件>: 压缩文件为 .gz

  • gunzip <文件>.gz: 解压 .gz 文件。

十、其他实用命令

  • history: 查看历史命令。

  • clear: 清屏。

  • date: 显示当前日期和时间。

  • cal: 显示日历。

  • shutdown -h now: 立即关机。

  • reboot: 重启。

  • halt: 关机。

  • sync: 将内存中的数据同步到磁盘。

  • man <命令>: 查看命令的帮助手册。

维护建议:

  • 定期更新系统: 保持系统和软件包最新是安全和性能的关键。

  • 监控日志: 定期检查系统日志可以帮助发现潜在问题。

  • 备份数据: 重要的配置文件和数据应定期备份。

  • 了解权限: 熟悉文件和目录权限对系统安全至关重要。

  • 慎用 rm -rf 这个命令非常强大,但也非常危险,使用时务必再三确认。

  • 学习 man 命令: 任何不熟悉的命令都可以通过 man 来获取详细用法。