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系统运维的一部分基本命令,实际上运维人员还需要掌握脚本编写、系统监控、日志分析等更多高级技能和命令。