Linux系统运维(System Administration)是确保服务器和其他Linux系统正常运行的重要工作。这需要运维人员掌握一系列的命令来管理系统。以下是一些Linux系统运维人员必须掌握的基本命令汇总:
系统信息
uname -a:显示全部系统信息。hostname:显示当前系统的主机名。top:实时显示系统进程信息。htop:(需要安装)一个更加直观的系统进程查看器。uptime:显示系统从启动到现在的时间。whoami:显示当前用户。id:显示当前用户的UID和GID。
文件操作
ls:列出目录内容。cp:复制文件或目录。mv:移动/重命名文件或目录。rm:删除文件或目录。mkdir:创建新目录。touch:创建空文件或修改文件时间戳。chmod:修改文件权限。chown:改变文件所有者和组。find:基于各种条件搜索文件。grep:文本搜索工具。
文本处理
cat:查看文件内容、创建文件、文件合并、追加文件内容。more/less:分页显示文本文件内容。head:查看文件开头部分内容。tail:实时查看文件末尾内容(常用tail -f)。sed:流编辑器,用于处理文本流。awk:功能强大的文本分析工具。
磁盘操作
df:显示磁盘空间使用情况。du:查看文件和目录磁盘使用情况。mount:挂载文件系统。umount:卸载已挂载的文件系统。fsck:检查并修复文件系统。dd:复制文件并对原数据进行转换和格式化。
网络操作
ifconfig:查看和配置网络接口(在新系统中可能需要用ip a或ip addr)。ping:检测主机之间网络的连通性。netstat:显示网络连接、路由表、接口统计等网络信息。ss:socket统计,可以视为netstat的替代品。scp:基于SSH的文件拷贝工具。wget/curl:从网络上自动下载文件。
进程管理
ps:显示当前进程状态。kill:发送信号到指定进程。pkill/killall:按照进程名杀死进程。nohup:使命令忽略挂起信号。bg:将作业放到后台执行。fg:将作业调至前台执行。jobs:显示作业状态。
系统服务管理
systemctl:用于管理系统服务(SystemD)。service:在旧系统上启动、停止、重启服务。chkconfig:用于自启动服务的管理(System V和Upstart)。
包管理
- Debian/Ubuntu系:
apt、dpkg - Red Hat/CentOS系:
yum、dnf、rpm - Arch Linux:
pacman - openSUSE:
zypper
用户和组管理
useradd/userdel:创建和删除用户。groupadd/groupdel:创建和删除组。passwd:修改用户密码。su/sudo:切换用户或以其他用户的身份执行命令。
权限管理
visudo:编辑sudoer文件,安全地设置sudo权限。getfacl/setfacl:获取和设置文件
访问控制列表。
安全
iptables/firewalld:配置防火墙规则。fail2ban:防止暴力破解工具。ssh:安全地远程连接到其他系统。openssl:强大的加密工具。
这只是Linux系统运维的一部分基本命令,实际上运维人员还需要掌握脚本编写、系统监控、日志分析等更多高级技能和命令。