CentOS的常用命令

发布于:2024-04-21 ⋅ 阅读:(89) ⋅ 点赞:(0)

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> 

获取命令详细帮助文档。