CentOS的常用命令

1. 系统信息查询与管理

查看系统基本信息
  • hostnamectl :显示主机名、操作系统版本、内核版本、架构等信息。

    hostnamectl
    
  • uname :显示系统内核与硬件信息。

    uname -a  # 显示全部信息
    
  • lsb_release :显示LSB(Linux Standard Base)相关信息。

    lsb_release -a
    
系统时间与时区设置
  • date :显示或设置系统日期和时间。

    date  # 显示当前日期和时间
    date -s "2024-0½-17 15:30:00"  # 设置特定日期和时间
    
  • timedatectl :管理系统时间和时区。

    timedatectl status  # 查看当前系统时间和时区
    timedatectl set-timezone America/New_York  # 设置时区
    
系统更新与升级
  • yum (或dnf ):管理软件包及其依赖。

    yum check-update  # 检查可用更新
    yum update  # 更新所有已安装软件包
    yum upgrade  # 升级软件包到最新版本(可能改变依赖关系)
    

2. 用户与组管理

用户管理
  • useradd :创建新用户。

    useradd -m john  # 创建新用户john并为其创建主目录
    
  • passwd :设置或更改用户密码。

    passwd john  # 设置或更改john的密码
    
  • usermod :修改用户属性。

    usermod -aG wheel john  # 将john添加到wheel组(赋予sudo权限)
    usermod -s /bin/bash john  # 更改john的默认Shell
    
组管理
  • groupadd :创建新用户组。

    groupadd developers  # 创建名为developers的用户组
    
  • gpasswd :管理用户组成员。

    gpasswd -a john developers  # 将john加入developers组
    gpasswd -d john developers  # 从developers组中移除john
    

3. 文件与目录操作

文件与目录浏览
  • ls :列出目录内容。

    ls -l  # 详细列表模式
    ls -al  # 包括隐藏文件的详细列表模式
    
文件与目录创建、移动、复制、删除
  • mkdir :创建目录。

    mkdir projects  # 创建名为projects的目录
    mkdir -p projects/subdir  # 创建多级目录
    
  • touch :创建空白文件或更新文件时间戳。

    touch newfile.txt  # 创建新文件
    touch existingfile.txt  # 更新已有文件时间戳
    
  • cp :复制文件或目录。

    cp file1.txt file2.txt  # 复制文件
    cp -r dir1 dir2  # 复制目录(递归)
    
  • mv :移动或重命名文件或目录。

    mv file1.txt file2.txt  # 重命名文件
    mv dir1 dir2  # 移动目录
    
  • rm :删除文件或目录。

    rm file.txt  # 删除文件
    rm -rf dir  # 强制删除目录(递归并忽略错误)
    

4. 文件权限与所有权

查看文件权限
  • ls -l:查看详细列表时,第一列即表示文件权限。

  • stat :查看文件的详细权限、所有者、组和其他元数据。

    stat file.txt
    
更改文件权限
  • chmod :更改文件或目录的权限。

    chmod 644 file.txt  # 设置文件权限为rw-r--r--
    chmod u+x script.sh  # 添加用户执行权限
    chmod g-w,o-x file.txt  # 移除组写权限和其它用户执行权限
    
更改文件所有权
  • chown :更改文件或目录的所有者。

    chown john file.txt  # 将文件所有者改为john
    chown -R john:developers dir  # 改变目录及其内容的所有者和组
    

5. 文件搜索与内容查看

文件搜索
  • find :根据名称、类型、时间等属性查找文件。

    find / -name "*.txt"  # 在根目录下查找所有.txt文件
    find . -type f -mtime -7  # 当前目录下查找近7天内修改过的文件
    
内容查看
  • cat :连续显示文件内容。

    cat file.txt
    
  • less :分页查看文件内容,支持上下滚动、搜索等。

    less large_file.txt
    
  • headtail :查看文件开头或结尾部分内容。

    head -n 10 file.txt  # 显示文件前10行
    tail -n 5 file.txt  # 显示文件最后5行
    tail -f log.txt  # 动态查看日志文件新增内容
    

6. 网络管理

网络接口状态查看
  • ip :显示或管理网络接口、路由等。

    ip addr show  # 显示网络接口及IP地址信息
    ip route show  # 显示路由表
    
网络连接与监听端口
  • netstat :显示网络连接、路由、接口统计等信息。

    netstat -tulnp  # 显示所有TCP/UDP监听端口和连接
    netstat -rn  # 显示路由表
    
网络诊断
  • ping :测试网络连通性。

    ping www.example.com
    
  • traceroute (或tracert ):追踪数据包路由。

    traceroute example.com
    

7. 系统服务管理

服务操作
  • systemctl :管理系统服务、守护进程、系统状态等。

    systemctl start httpd  # 启动httpd服务
    systemctl stop httpd  # 停止httpd服务
    systemctl restart httpd  # 重启httpd服务
    
服务状态查询与设置
  • systemctl status :查看服务状态。

    systemctl status httpd
    
  • systemctl enable/disable :设置服务开机自启动。

    systemctl enable sshd  # 设置sshd服务开机启动
    systemctl disable cron  # 禁止cron服务开机启动
    

8. 进程管理

查看进程
  • ps :报告当前系统中进程的状态。

    ps aux  # 显示所有用户的进程
    ps -ef  # 显示完整格式的进程列表
    
管理进程
  • kill:向进程发送信号。

    kill 1234  # 发送SIGTERM(默认)信号给PID为1234的进程
    kill -9 1234  # 发送SIGKILL信号强制结束进程
    
  • killall:根据进程名杀死进程。

    killall firefox  # 杀死所有名为firefox的进程
    
  • pkill:根据进程名发送信号。

    pkill -9 firefox  # 发送SIGKILL信号给所有名为firefox的进程
    

9. 日志查看

系统日志
  • journalctl :查看系统日志(使用Systemd日志系统)。

    journalctl -xe  # 显示最近的日志条目
    journalctl -u nginx.service  # 查看特定服务的日志
    
应用日志
  • tailless 等命令直接查看日志文件。

    tail -f /var/log/nginx/access.log  # 动态查看Nginx访问日志
    less /var/log/auth.log  # 分页查看认证日志
    

10. 压缩与解压缩

gzip、gunzip
  • gzip :压缩文件。

    gzip file.txt  # 压缩为file.txt.gz
    
  • gunzip :解压缩gzip格式文件。

    gunzip file.txt.gz  # 解压缩为file.txt
    
tar
  • tar :打包、压缩、解压缩文件或目录。

    tar -czvf archive.tar.gz dir1 dir2  # 打包并压缩为gzip格式
    tar -xzvf archive.tar.gz  # 解压缩gzip格式的tar包
    

11. 文本处理

grep
  • grep :在文件中搜索匹配的文本行。

    grep 'pattern' file.txt  # 在file.txt中搜索包含pattern的行
    grep -irn 'error' /var/log/*  # 递归搜索目录,忽略大小写,显示行号
    
sed
  • sed :流编辑器,对文本行进行查找、替换、删除等操作。

    sed 's/pattern/replacement/g' file.txt  # 替换file.txt中所有pattern为replacement
    sed '/^$/d' file.txt  # 删除file.txt中空行
    
awk
  • awk :强大的文本分析工具,按指定规则处理文本数据。

    awk '{print $1}' file.txt  # 输出file.txt中每行的第一个字段
    awk '/pattern/{print $0}' file.txt  # 输出file.txt中包含pattern的整行
    

12. 软件包管理

yum/dnf
  • yum (或dnf ):管理软件包及其依赖。

    yum info package_name  # 查看软件包信息
    yum provides command_name  # 查找提供指定命令的软件包
    yum reinstall package_name  # 重新安装软件包
    yum remove package_name  # 卸载软件包
    
rpm
  • rpm :低层级的软件包管理工具,用于安装、查询、验证RPM包。

    rpm -q package_name  # 查询已安装的软件包
    rpm -qi package_name  # 查询软件包详细信息
    rpm -Va  # 验证所有已安装软件包的完整性
    

13. 脚本编程

bash
  • bash :编写和执行shell脚本。

    #!/bin/bash
    echo "Hello, World!"  # 输出Hello, World!
    for i in {1..5}; do echo $i; done  # 循环输出1到5
    read -p "Enter your name: " name; echo "Hello, $name!"  # 交互式输入
    

14. 文件系统管理

df
  • df :显示磁盘空间使用情况。

    df -h  # 以人类可读格式显示磁盘使用情况
    df -T  # 显示文件系统类型
    
du
  • du :估算文件和目录所占磁盘空间

    du -sh *  # 显示当前目录下所有文件及目录大小汇总
    du -h --max-depth=1  # 显示当前目录下一级子目录及文件大小
    
mount/umount
  • mount :挂载文件系统。

    mount /dev/sdb1 /mnt/data  # 挂载设备sdb1到/mnt/data
    
  • umount :卸载已挂载的文件系统。

    umount /mnt/data  # 卸载/mnt/data
    

15. 系统监控

top
  • top :实时显示系统资源(CPU、内存、负载等)使用情况。

    top  # 运行top命令,按'h'获取帮助,'q'退出
    
htop
  • htop (需先安装):增强版top命令,提供彩色界面、搜索、树状视图等功能。

    htop  # 运行htop命令
    
vmstat
  • vmstat :报告虚拟内存统计信息。

    vmstat 1  # 每秒刷新一次,显示内存、CPU、磁盘等信息
    
iostat
  • iostat :监视系统输入/输出设备负载。

    iostat -dx 1  # 显示磁盘统计信息,包括设备、读写速率等
    

以上就是一些常见的CentOS使用命令。在实际使用中,如果忘记命令也可以使用

man <command>

获取命令详细帮助文档。

相关推荐
yaoxin52112319 分钟前
第二十七章 TCP 客户端 服务器通信 - 连接管理
服务器·网络·tcp/ip
内核程序员kevin21 分钟前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
sinat_384241094 小时前
使用 npm 安装 Electron 作为开发依赖
服务器
朝九晚五ฺ5 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream5 小时前
Linux的桌面
linux
xiaozhiwise5 小时前
Makefile 之 自动化变量
linux
Kkooe6 小时前
GitLab|数据迁移
运维·服务器·git
久醉不在酒6 小时前
MySQL数据库运维及集群搭建
运维·数据库·mysql
谭震鸿7 小时前
Zookeeper集群搭建Centos环境下
分布式·zookeeper·centos