CentOS常用命令详解

by Admin


Posted on 2026-02-12 08:00   Views: 12


CentOS 常用命令详解

CentOS(Community Enterprise Operating System)是企业级 Linux 发行版,广泛用于服务器环境。掌握 CentOS 常用命令对于系统管理和运维工作非常重要。本文将详细介绍 CentOS 中常用的命令及其用法。

文件和目录操作

文件浏览

  • ls:列出目录内容
    • ls:列出当前目录内容
    • ls -l:以长格式显示详细信息
    • ls -a:显示所有文件,包括隐藏文件
    • ls -h:以人类可读的格式显示文件大小
    • ls -R:递归显示子目录内容
    • ls -i:显示文件的 inode 号
  • pwd:显示当前工作目录的完整路径
  • cd:切换目录
    • cd /path/to/directory:切换到指定目录
    • cd ~:切换到用户主目录
    • cd ..:切换到上一级目录
    • cd -:切换到上一个工作目录
  • tree:以树状结构显示目录内容
    • tree:显示当前目录的树状结构
    • tree -L 2:限制显示深度为 2 层
    • tree -d:只显示目录

文件和目录管理

  • mkdir:创建目录
    • mkdir directory:创建单个目录
    • mkdir -p path/to/directory:创建多级目录
    • mkdir -m 755 directory:创建目录并设置权限
  • rmdir:删除空目录
    • rmdir directory:删除空目录
    • rmdir -p path/to/directory:删除多级空目录
  • rm:删除文件或目录
    • rm file:删除文件
    • rm -r directory:递归删除目录及其内容
    • rm -f file:强制删除,不提示确认
    • rm -rf directory:强制递归删除目录
  • cp:复制文件或目录
    • cp source destination:复制文件
    • cp -r source_dir destination_dir:递归复制目录
    • cp -p source destination:保留文件属性
    • cp -i source destination:覆盖前提示确认
  • mv:移动或重命名文件
    • mv source destination:移动文件或重命名
    • mv -i source destination:覆盖前提示确认
    • mv -u source destination:只在源文件较新时移动
  • touch:创建空文件或更新文件时间戳
    • touch file:创建空文件或更新时间戳
    • touch -t 202312251200 file:设置特定时间戳

文件查看和编辑

  • cat:查看文件内容
    • cat file:显示文件内容
    • cat -n file:显示行号
    • cat file1 file2 > merged:合并文件
  • less:分页查看文件内容
    • less file:分页显示文件内容
    • 使用空格键翻页,q 键退出
    • 使用 / 关键词 进行搜索
  • head:查看文件开头部分
    • head file:显示文件前 10 行
    • head -n 20 file:显示文件前 20 行
  • tail:查看文件结尾部分
    • tail file:显示文件后 10 行
    • tail -n 20 file:显示文件后 20 行
    • tail -f file:实时跟踪文件更新
  • nano:简单的文本编辑器
    • nano file:编辑文件
    • Ctrl+O:保存
    • Ctrl+X:退出
  • vim:强大的文本编辑器
    • vim file:编辑文件
    • i:进入插入模式
    • Esc:退出插入模式
    • :w:保存
    • :q:退出
    • :wq:保存并退出

文件搜索

  • find:搜索文件和目录
    • find /path -name "filename":按名称搜索
    • find /path -type f:搜索文件
    • find /path -type d:搜索目录
    • find /path -size +100M:搜索大于 100MB 的文件
    • find /path -mtime -7:搜索 7 天内修改的文件
  • locate:快速定位文件
    • locate filename:快速搜索文件
    • sudo updatedb:更新文件数据库
  • grep:搜索文件内容
    • grep "pattern" file:搜索包含模式的行
    • grep -r "pattern" directory:递归搜索
    • grep -i "pattern" file:忽略大小写
    • grep -n "pattern" file:显示行号
    • grep -v "pattern" file:显示不匹配的行

系统管理

系统信息

  • uname:显示系统信息
    • uname -a:显示所有系统信息
    • uname -r:显示内核版本
    • uname -m:显示系统架构
  • hostname:显示或设置主机名
    • hostname:显示主机名
    • hostnamectl set-hostname newname:设置主机名
  • uptime:显示系统运行时间和负载
  • date:显示或设置系统日期和时间
    • date:显示当前日期和时间
    • date +"%Y-%m-%d %H:%M:%S":自定义格式显示
  • cal:显示日历
    • cal:显示当前月份日历
    • cal 2024:显示 2024 年日历
  • cat /etc/centos-release:显示 CentOS 版本
  • cat /etc/redhat-release:显示 Red Hat 版本

系统资源监控

  • top:实时显示系统进程和资源使用情况
  • htop:增强版的 top(需要安装)
  • free:显示内存使用情况
    • free -h:以人类可读格式显示
    • free -m:以 MB 为单位显示
  • df:显示磁盘空间使用情况
    • df -h:以人类可读格式显示
    • df -T:显示文件系统类型
  • du:显示目录或文件大小
    • du -h directory:以人类可读格式显示
    • du -sh directory:显示目录总大小
    • du -h --max-depth=1:显示一级子目录大小
  • iostat:显示 CPU 和 I/O 统计信息
  • vmstat:显示虚拟内存统计信息
  • sar:系统活动报告工具

系统服务管理

  • systemctl:系统服务管理
    • systemctl start service:启动服务
    • systemctl stop service:停止服务
    • systemctl restart service:重启服务
    • systemctl status service:查看服务状态
    • systemctl enable service:设置开机自启
    • systemctl disable service:禁用开机自启
    • systemctl list-units --type=service:列出所有服务
    • systemctl daemon-reload:重新加载 systemd 配置
  • journalctl:查看系统日志
    • journalctl:查看所有日志
    • journalctl -u service:查看指定服务日志
    • journalctl -f:实时查看日志
    • journalctl --since "2024-01-01":查看指定日期后的日志
  • service:传统服务管理命令(CentOS 6 及以下)
    • service servicename start:启动服务
    • service servicename stop:停止服务
    • service servicename restart:重启服务
    • service servicename status:查看服务状态
  • chkconfig:设置服务开机自启(CentOS 6 及以下)
    • chkconfig servicename on:设置开机自启
    • chkconfig servicename off:禁用开机自启
    • chkconfig --list:列出所有服务

用户和权限管理

用户管理

  • useradd:创建用户
    • sudo useradd username:创建用户
    • sudo useradd -m username:创建用户并创建主目录
    • sudo useradd -s /bin/bash username:指定 shell
    • sudo useradd -g groupname username:指定主组
    • sudo useradd -G group1,group2 username:指定附加组
  • userdel:删除用户
    • sudo userdel username:删除用户
    • sudo userdel -r username:删除用户及其主目录
  • usermod:修改用户属性
    • sudo usermod -aG groupname username:添加用户到组
    • sudo usermod -l newname oldname:修改用户名
    • sudo usermod -s /bin/zsh username:修改 shell
    • sudo usermod -L username:锁定用户
    • sudo usermod -U username:解锁用户
  • passwd:修改用户密码
    • passwd:修改当前用户密码
    • sudo passwd username:修改指定用户密码
    • sudo passwd -l username:锁定用户密码
    • sudo passwd -u username:解锁用户密码
  • id:显示用户信息
    • id:显示当前用户信息
    • id username:显示指定用户信息
  • whoami:显示当前用户名
  • who:显示当前登录用户
  • w:显示登录用户及其活动
  • last:显示用户登录历史

组管理

  • groupadd:创建组
    • sudo groupadd groupname:创建组
    • sudo groupadd -g 1001 groupname:指定 GID
  • groupdel:删除组
    • sudo groupdel groupname:删除组
  • groupmod:修改组属性
    • sudo groupmod -n newname oldname:修改组名
    • sudo groupmod -g 1002 groupname:修改 GID
  • groups:显示用户所属组
    • groups:显示当前用户所属组
    • groups username:显示指定用户所属组

权限管理

  • chmod:修改文件权限
    • chmod 755 file:设置权限为 rwxr-xr-x
    • chmod +x file:添加执行权限
    • chmod -R 755 directory:递归设置目录权限
    • chmod u+rwx,g+rx,o+rx file:符号模式设置权限
  • chown:修改文件所有者
    • sudo chown user file:修改所有者
    • sudo chown user:group file:修改所有者和组
    • sudo chown -R user directory:递归修改目录所有者
  • chgrp:修改文件所属组
    • sudo chgrp group file:修改所属组
    • sudo chgrp -R group directory:递归修改目录所属组
  • getfacl:查看文件 ACL 权限
  • setfacl:设置文件 ACL 权限
    • setfacl -m u:username:rwx file:为用户设置权限
    • setfacl -x u:username file:删除用户的 ACL 权限

软件包管理

YUM 包管理器

  • yum install package:安装软件包
    • sudo yum install package:安装软件包
    • sudo yum install package1 package2:安装多个软件包
    • sudo yum -y install package:自动确认安装
  • yum update:更新软件包
    • sudo yum update:更新所有软件包
    • sudo yum update package:更新指定软件包
  • yum remove package:删除软件包
  • yum erase package:删除软件包(同 remove)
  • yum search keyword:搜索软件包
  • yum info package:显示软件包详细信息
  • yum list:列出软件包
    • yum list installed:列出已安装的软件包
    • yum list available:列出可安装的软件包
    • yum list updates:列出可更新的软件包
  • yum clean:清理缓存
    • yum clean all:清理所有缓存
    • yum clean packages:清理软件包缓存
    • yum clean metadata:清理元数据缓存
  • yum repolist:列出启用的软件源
  • yum history:查看 yum 操作历史
  • yum provides filename:查找提供指定文件的软件包

DNF 包管理器(CentOS 8+)

  • dnf install package:安装软件包
  • dnf update:更新软件包
  • dnf remove package:删除软件包
  • dnf search keyword:搜索软件包
  • dnf info package:显示软件包详细信息
  • dnf list:列出软件包
  • dnf clean all:清理缓存
  • dnf repolist:列出启用的软件源
  • dnf history:查看 dnf 操作历史

RPM 包管理器

  • rpm -ivh package.rpm:安装 RPM 软件包
  • rpm -Uvh package.rpm:升级 RPM 软件包
  • rpm -e package:删除 RPM 软件包
  • rpm -qa:列出所有已安装的软件包
  • rpm -qi package:显示软件包详细信息
  • rpm -ql package:列出软件包安装的文件
  • rpm -qf filename:查看文件属于哪个软件包
  • rpm -V package:验证软件包

软件源管理

  • yum-config-manager:管理软件源
    • yum-config-manager --add-repo URL:添加软件源
    • yum-config-manager --enable reponame:启用软件源
    • yum-config-manager --disable reponame:禁用软件源
  • /etc/yum.repos.d/:软件源配置文件目录

网络管理

网络配置

  • ip addr:显示网络接口和 IP 地址
  • ip link:显示网络接口状态
  • ip route:显示路由表
  • ifconfig:显示网络接口信息(已过时,建议使用 ip)
  • ping:测试网络连接
    • ping hostname:测试与主机的连接
    • ping -c 4 hostname:发送 4 个数据包后停止
  • traceroute:跟踪数据包路由路径
  • netstat:显示网络连接和统计信息
    • netstat -tuln:显示监听的端口
    • netstat -an:显示所有连接
    • netstat -rn:显示路由表
  • ss:显示套接字统计信息(netstat 的替代品)
    • ss -tuln:显示监听的端口
    • ss -an:显示所有连接
  • nmcli:NetworkManager 命令行工具
    • nmcli device status:显示设备状态
    • nmcli connection show:显示连接
    • nmcli connection up "connection-name":启用连接
    • nmcli connection down "connection-name":禁用连接

网络工具

  • curl:传输数据工具
    • curl URL:获取网页内容
    • curl -O URL:下载文件
    • curl -I URL:获取 HTTP 头信息
    • curl -X POST -d "data" URL:发送 POST 请求
  • wget:下载文件工具
    • wget URL:下载文件
    • wget -c URL:断点续传
    • wget -r URL:递归下载
  • ssh:安全远程登录
    • ssh user@hostname:远程登录
    • ssh -p port user@hostname:指定端口登录
    • ssh-keygen:生成 SSH 密钥对
    • ssh-copy-id user@hostname:复制公钥到远程主机
  • scp:安全复制文件
    • scp file user@hostname:/path:上传文件
    • scp user@hostname:/path/file .:下载文件
    • scp -r directory user@hostname:/path:复制目录
  • rsync:远程同步工具
    • rsync -avz source/ user@hostname:/path:同步目录
    • rsync -avz --delete source/ user@hostname:/path:同步并删除目标多余文件

防火墙管理

  • firewall-cmd:firewalld 防火墙管理
    • firewall-cmd --state:查看防火墙状态
    • firewall-cmd --list-all:列出所有规则
    • firewall-cmd --add-port=80/tcp:开放端口
    • firewall-cmd --remove-port=80/tcp:关闭端口
    • firewall-cmd --add-service=http:开放服务
    • firewall-cmd --reload:重新加载配置
    • firewall-cmd --permanent --add-port=80/tcp:永久开放端口
  • iptables:传统防火墙工具
    • iptables -L:列出所有规则
    • iptables -A INPUT -p tcp --dport 80 -j ACCEPT:开放端口
    • iptables -D INPUT -p tcp --dport 80 -j ACCEPT:删除规则
    • service iptables save:保存规则

进程管理

进程查看

  • ps:显示进程状态
    • ps:显示当前终端的进程
    • ps aux:显示所有进程的详细信息
    • ps -ef:显示所有进程
    • ps -u username:显示指定用户的进程
  • pgrep:根据名称查找进程 ID
    • pgrep processname:查找进程 ID
    • pgrep -l processname:显示进程名称和 ID
  • pstree:以树状结构显示进程

进程控制

  • kill:发送信号给进程
    • kill PID:发送 SIGTERM 信号(默认)
    • kill -9 PID:发送 SIGKILL 信号(强制终止)
    • kill -l:列出所有信号
  • killall:根据名称终止进程
    • killall processname:终止指定名称的所有进程
  • pkill:根据模式终止进程
    • pkill pattern:终止匹配模式的所有进程
  • nice:以指定优先级启动进程
    • nice -n 10 command:以优先级 10 启动命令
  • renice:修改运行中进程的优先级
    • renice -n 5 -p PID:修改进程优先级
  • nohup:忽略挂起信号运行命令
    • nohup command &:后台运行命令,忽略挂起信号
  • bg:将进程放到后台运行
  • fg:将后台进程放到前台运行
  • jobs:显示后台任务

磁盘管理

磁盘分区

  • fdisk:磁盘分区工具
    • sudo fdisk -l:列出所有磁盘分区
    • sudo fdisk /dev/sda:对磁盘进行分区操作
  • parted:高级磁盘分区工具
    • sudo parted -l:列出所有磁盘分区
    • sudo parted /dev/sda:对磁盘进行分区操作

文件系统管理

  • mkfs:创建文件系统
    • sudo mkfs.ext4 /dev/sda1:创建 ext4 文件系统
    • sudo mkfs.xfs /dev/sda1:创建 XFS 文件系统
  • mount:挂载文件系统
    • sudo mount /dev/sda1 /mnt:挂载分区
    • sudo mount -t ext4 /dev/sda1 /mnt:指定文件系统类型
    • mount:显示已挂载的文件系统
  • umount:卸载文件系统
    • sudo umount /mnt:卸载文件系统
    • sudo umount -l /mnt:强制卸载
  • blkid:显示块设备属性
  • lsblk:列出块设备信息

磁盘维护

  • fsck:检查和修复文件系统
    • sudo fsck /dev/sda1:检查文件系统
    • sudo fsck -y /dev/sda1:自动修复
  • dd:磁盘复制和转换
    • sudo dd if=/dev/sda of=backup.img:备份磁盘
    • sudo dd if=backup.img of=/dev/sda:恢复磁盘
    • sudo dd if=/dev/zero of=/dev/sda:擦除磁盘
  • xfs_repair:修复 XFS 文件系统

LVM 逻辑卷管理

  • pvcreate:创建物理卷
    • pvcreate /dev/sda1:创建物理卷
  • vgcreate:创建卷组
    • vgcreate vgname /dev/sda1 /dev/sdb1:创建卷组
  • lvcreate:创建逻辑卷
    • lvcreate -L 10G -n lvname vgname:创建 10G 的逻辑卷
    • lvcreate -l 100%FREE -n lvname vgname:使用所有剩余空间
  • pvdisplay:显示物理卷信息
  • vgdisplay:显示卷组信息
  • lvdisplay:显示逻辑卷信息
  • lvextend:扩展逻辑卷
    • lvextend -L +5G /dev/vgname/lvname:扩展 5G
    • lvextend -l +100%FREE /dev/vgname/lvname:使用所有剩余空间
  • lvreduce:缩小逻辑卷
  • resize2fs:调整 ext 文件系统大小
  • xfs_growfs:调整 XFS 文件系统大小

压缩和解压缩

tar 命令

  • tar -cvf archive.tar files:创建 tar 归档
  • tar -xvf archive.tar:解压 tar 归档
  • tar -czvf archive.tar.gz files:创建 gzip 压缩的 tar 归档
  • tar -xzvf archive.tar.gz:解压 gzip 压缩的 tar 归档
  • tar -cjvf archive.tar.bz2 files:创建 bzip2 压缩的 tar 归档
  • tar -xjvf archive.tar.bz2:解压 bzip2 压缩的 tar 归档
  • tar -tvf archive.tar:列出归档内容

其他压缩工具

  • gzip:gzip 压缩
    • gzip file:压缩文件(原文件会被删除)
    • gzip -d file.gz:解压文件
    • gzip -k file:压缩文件(保留原文件)
  • bzip2:bzip2 压缩
    • bzip2 file:压缩文件
    • bzip2 -d file.bz2:解压文件
  • zip/unzip:zip 压缩
    • zip archive.zip files:创建 zip 压缩文件
    • zip -r archive.zip directory:递归压缩目录
    • unzip archive.zip:解压 zip 文件
    • unzip -l archive.zip:列出 zip 文件内容
  • xz:xz 压缩
    • xz file:压缩文件
    • xz -d file.xz:解压文件

系统监控和日志

系统监控

  • dmesg:显示内核消息
  • lspci:显示 PCI 设备信息
  • lsusb:显示 USB 设备信息
  • lsblk:显示块设备信息
  • lscpu:显示 CPU 信息
  • lsmod:显示已加载的内核模块
  • modprobe:加载或卸载内核模块
    • sudo modprobe module:加载模块
    • sudo modprobe -r module:卸载模块

日志查看

  • /var/log/:系统日志目录
    • /var/log/messages:系统主日志
    • /var/log/secure:安全日志
    • /var/log/dmesg:启动日志
    • /var/log/cron:定时任务日志
    • /var/log/maillog:邮件日志
    • /var/log/boot.log:启动过程日志
  • tail -f /var/log/messages:实时查看系统日志
  • grep "error" /var/log/messages:搜索日志中的错误

SELinux 管理

  • getenforce:查看 SELinux 状态
  • setenforce:设置 SELinux 模式
    • setenforce 0:设置为 Permissive 模式
    • setenforce 1:设置为 Enforcing 模式
  • sestatus:显示 SELinux 详细状态
  • semanage:SELinux 策略管理
    • semanage port -l:列出所有端口策略
    • semanage port -a -t http_port_t -p tcp 8080:添加端口策略
  • chcon:修改文件 SELinux 上下文
    • chcon -t httpd_sys_content_t file:修改文件类型
  • restorecon:恢复文件 SELinux 上下文

其他实用命令

文本处理

  • sort:排序
    • sort file:排序文件内容
    • sort -r file:反向排序
    • sort -n file:数字排序
  • uniq:去除重复行
    • uniq file:去除连续重复行
    • sort file | uniq:去除所有重复行
    • uniq -c file:统计重复次数
  • wc:统计行数、字数、字节数
    • wc file:统计行数、字数、字节数
    • wc -l file:统计行数
    • wc -w file:统计字数
  • cut:提取文本列
    • cut -d: -f1 /etc/passwd:提取第一列
    • cut -c1-10 file:提取前 10 个字符
  • sed:流编辑器
    • sed 's/old/new/g' file:替换文本
    • sed -i 's/old/new/g' file:直接修改文件
  • awk:文本处理工具
    • awk '{print $1}' file:打印第一列
    • awk -F: '{print $1}' /etc/passwd:指定分隔符

系统维护

  • shutdown:关机命令
    • sudo shutdown now:立即关机
    • sudo shutdown +10:10 分钟后关机
    • sudo shutdown -h 22:00:22:00 关机
  • reboot:重启系统
  • poweroff:关闭电源
  • init:切换运行级别
    • sudo init 0:关机
    • sudo init 6:重启
    • sudo init 3:多用户模式
    • sudo init 5:图形界面模式
  • systemctl isolate:切换运行目标
    • systemctl isolate multi-user.target:多用户模式
    • systemctl isolate graphical.target:图形界面模式

环境变量

  • echo $PATH:显示 PATH 环境变量
  • export VAR=value:设置环境变量
  • env:显示所有环境变量
  • set:显示所有变量和函数
  • unset VAR:删除环境变量

定时任务

  • crontab:管理定时任务
    • crontab -e:编辑定时任务
    • crontab -l:列出定时任务
    • crontab -r:删除定时任务
  • at:一次性定时任务
    • at 22:00:在 22:00 执行任务
    • atq:列出待执行的任务
    • atrm jobnumber:删除任务

总结

CentOS 命令行是系统管理和运维工作的重要工具。本文介绍了常用的命令,包括:

  • 文件和目录操作:ls、cd、mkdir、rm、cp、mv 等
  • 系统管理:uname、top、free、df、systemctl 等
  • 用户和权限管理:useradd、chmod、chown 等
  • 软件包管理:yum、dnf、rpm 等
  • 网络管理:ip、ping、ssh、curl、firewall-cmd 等
  • 进程管理:ps、kill、top 等
  • 磁盘管理:fdisk、mount、df、LVM 等
  • 压缩和解压缩:tar、gzip、zip 等
  • 系统监控和日志:dmesg、journalctl 等
  • SELinux 管理:getenforce、setenforce、semanage 等
  • 文本处理:grep、sed、awk 等

掌握这些命令,可以帮助你更高效地使用 CentOS 系统,进行系统管理、故障排查和日常运维操作。建议多加练习,逐步熟悉这些命令的用法和参数。


搜索
分类
关于本文
本文发布于 2026-02-12,最后更新于 2026-02-12。