当前位置: 首页 > java >正文

Linux运维常用命令大全

Linux运维常用命令大全

1. 基础命令

文件操作

ls
  • 概念:列出目录内容
  • 示例
    ls                  # 列出当前目录文件
    ls -l               # 详细列表(权限、所有者、大小、时间)
    ls -a               # 显示隐藏文件(以.开头的文件)
    ls -lhS             # 按大小降序排列,人类可读格式
    ls -ltr             # 按修改时间倒序排列
    
cp
  • 概念:复制文件或目录
  • 示例
    cp file1.txt file2.txt          # 复制文件
    cp -r dir1 dir2                 # 递归复制目录
    cp -a source dest               # 保留权限、属性的归档复制
    cp -v file1.txt /path/to/dir/   # 显示复制过程
    
mv
  • 概念:移动或重命名文件/目录
  • 示例
    mv oldname.txt newname.txt      # 重命名文件
    mv file.txt /path/to/dir/       # 移动文件到目录
    mv -f file.txt /existing/path/  # 强制移动(覆盖不提示)
    mv dir1 dir2                    # 重命名目录
    
rm
  • 概念:删除文件或目录
  • 示例
    rm file.txt                     # 删除文件
    rm -r dir/                      # 递归删除目录及其内容
    rm -rf dir/                     # 强制删除目录(无提示,危险操作)
    rm *.log                        # 删除所有.log文件
    
touch
  • 概念:创建空文件或更新文件时间戳
  • 示例
    touch newfile.txt               # 创建空文件
    touch file1.txt file2.txt       # 创建多个文件
    touch -t 202312312359 file.txt  # 设置文件时间戳为指定日期时间
    
cat
  • 概念:连接并显示文件内容
  • 示例
    cat file.txt                    # 显示文件内容
    cat file1.txt file2.txt > combined.txt  # 合并文件
    cat -n file.txt                 # 显示行号
    cat > newfile.txt               # 从标准输入创建文件(Ctrl+D结束)
    
more/less
  • 概念:分页查看文件内容(less支持前后滚动)
  • 示例
    more largefile.txt              # 空格键翻页,q退出
    less largefile.txt              # 支持上下键滚动,/pattern搜索,q退出
    less +G largefile.txt           # 直接跳转到文件末尾
    
head/tail
  • 概念:查看文件开头/结尾内容
  • 示例
    head file.txt                   # 查看前10行(默认)
    head -n 20 file.txt             # 查看前20行
    tail file.txt                   # 查看最后10行
    tail -n 15 file.txt             # 查看最后15行
    tail -f /var/log/messages       # 实时跟踪日志文件更新
    tail -F /var/log/messages       # 跟踪文件,即使文件被轮转
    

目录管理

cd
  • 概念:切换当前工作目录
  • 示例
    cd /path/to/dir                 # 进入指定目录
    cd ..                           # 返回上一级目录
    cd                              # 回到当前用户家目录
    cd ~username                    # 进入指定用户的家目录
    cd -                            # 回到上一次工作目录
    
pwd
  • 概念:显示当前工作目录的绝对路径
  • 示例
    pwd                             # 输出当前目录路径
    
mkdir
  • 概念:创建目录
  • 示例
    mkdir newdir                    # 创建单个目录
    mkdir -p dir1/dir2/dir3         # 创建多级目录(父目录不存在则自动创建)
    mkdir -m 755 secure_dir         # 创建指定权限的目录
    
rmdir
  • 概念:删除空目录(非空目录需用rm -r)
  • 示例
    rmdir emptydir                  # 删除空目录
    rmdir -p dir1/dir2              # 删除多级空目录
    

权限管理

chmod
  • 概念︰修改文件/目录权限
  • 示例
    chmod u+x file.sh               # 给所有者添加执行权限
    chmod g+w file.txt              # 给所属组添加写权限
    chmod o-r file.txt              # 移除其他用户的读权限
    chmod 755 file.sh               # 数字模式:rwxr-xr-x
    chmod -R 770 dir/               # 递归修改目录及其内容权限
    chmod u+s /usr/bin/program      # 设置SUID权限
    
chown
  • 概念:修改文件/目录的所有者和所属组
  • 示例
    chown user file.txt             # 修改所有者
    chown user:group file.txt       # 修改所有者和所属组
    chown -R user:group dir/        # 递归修改目录
    chown :group file.txt           # 只修改所属组
    
chgrp
  • 概念:修改文件/目录的所属组(chown的简化版)
  • 示例
    chgrp group file.txt            # 修改所属组  
    chgrp -R group dir/             # 递归修改目录所属组
    

2. 系统管理

用户管理

useradd
  • 概念:创建新用户
  • 示例
    useradd -m username             # 创建用户并自动创建家目录
    useradd -s /bin/bash username   # 指定登录shell
    useradd -G group1,group2 username  # 添加用户到多个附加组
    useradd -d /home/custom username  # 指定自定义家目录
    
userdel
  • 概念:删除用户
  • 示例
    userdel username                # 删除用户(保留家目录)
    userdel -r username             # 删除用户及家目录
    
usermod
  • 概念:修改用户属性
  • 示例
    usermod -l newname oldname      # 修改用户名
    usermod -aG group username      # 添加用户到附加组(不删除现有组)
    usermod -d /new/home username   # 修改家目录
    usermod -L username             # 锁定用户账号
    usermod -U username             # 解锁用户账号
    
passwd
  • 概念:修改用户密码
  • 示例
    passwd username                 # 修改指定用户密码(需root权限)
    passwd                          # 修改当前用户密码
    passwd -l username              # 锁定用户密码
    passwd -u username              # 解锁用户密码
    passwd -d username              # 删除用户密码(允许空密码登录,不推荐)
    
groupadd/groupdel
  • 概念:创建/删除用户组
  • 示例
    groupadd groupname              # 创建组
    groupadd -g 1001 groupname      # 指定GID创建组
    groupdel groupname              # 删除组
    
su/sudo
  • 概念:切换用户身份/以超级用户权限执行命令
  • 示例
    su - root                       # 切换到root用户(带环境变量)
    su username                     # 切换到普通用户  
    sudo command                    # 以root权限执行单个命令
    sudo -i                         # 切换到root shell
    sudo visudo                     # 安全编辑sudoers文件
    

service管理

systemctl
  • 概念:管理systemd服务(CentOS 7+)
  • 示例
    sudo systemctl start httpd      # 启动服务
    sudo systemctl stop httpd       # 停止服务
    sudo systemctl restart httpd    # 重启服务
    sudo systemctl reload httpd     # 重载配置(不中断服务)
    sudo systemctl enable httpd     # 设置开机自启
    sudo systemctl disable httpd    # 禁止开机自启
    systemctl status httpd          # 查看服务状态
    systemctl list-unit-files --type=service  # 列出所有服务状态
    systemctl is-active httpd       # 检查服务是否活跃
    
service
  • 概念:管理SysV服务(兼容旧版本CentOS)
  • 示例
    sudo service httpd start        # 启动服务
    sudo service httpd stop         # 停止服务
    sudo service httpd restart      # 重启服务
    sudo service httpd status       # 查看服务状态
    

进程管理

ps
  • 概念:查看进程状态
  • 示例
    ps aux                          # 查看所有进程详细信息
    ps aux | grep "nginx"           # 查找特定进程
    ps -ef                          # 显示进程树(父进程关系)
    ps -eo pid,ppid,cmd             # 自定义输出字段
    ps aux --sort=-%cpu | head      # 按CPU使用率排序前10
    
top/htop
  • 概念:实时监控系统进程和资源占用
  • 示例
    top                             # 基本实时监控(按q退出)
    top -p 1234                     # 监控指定PID的进程
    htop                            # 增强版top(需安装,支持鼠标操作)
    # top交互命令:P(CPU排序)、M(内存排序)、N(PID排序)、k(终止进程)
    
kill/pkill
  • 概念:终止进程
  • 示例
    kill 1234                       # 发送SIGTERM信号终止进程
    kill -9 1234                    # 发送SIGKILL信号强制终止进程
    kill -HUP 1234                  # 发送SIGHUP信号重载配置
    pkill nginx                     # 终止所有nginx进程
    killall httpd                   # 终止所有httpd进程
    
pstree
  • 概念:以树状图显示进程关系
  • 示例
    pstree                          # 显示简单进程树
    pstree -p                       # 显示进程PID
    pstree -u                       # 显示进程所属用户
    pstree nginx                    # 显示特定进程的树状结构
    
jobs/bg/fg
  • 概念:管理后台任务
  • 示例
    jobs                            # 查看后台任务
    command &                       # 将命令放入后台执行
    bg %1                           # 将任务1放到后台运行
    fg %1                           # 将任务1调回前台
    Ctrl+Z                          # 暂停当前前台任务
    

3. 网络管理

网络配置

ip
  • 概念:查看/配置网络接口(替代ifconfig)
  • 示例
    ip addr                         # 查看所有网络接口信息
    ip addr show eth0               # 查看指定接口
    ip addr add 192.168.1.100/24 dev eth0  # 添加IP地址
    ip addr del 192.168.1.100/24 dev eth0  # 删除IP地址
    ip link set eth0 up/down        # 启用/禁用接口
    ip route                        # 查看路由表
    ip route add default via 192.168.1.1  # 添加默认网关
    
ifconfig
  • 概念:查看/配置网络接口(传统命令)
  • 示例
    ifconfig                        # 查看所有活动接口
    ifconfig eth0                   # 查看指定接口
    ifconfig eth0 192.168.1.100 netmask 255.255.255.0  # 设置IP和子网掩码
    ifconfig eth0 up/down           # 启用/禁用接口
    
netstat/ss
  • 概念:查看网络连接状态
  • 示例
    netstat -tuln                   # 显示监听的TCP/UDP端口
    netstat -an                     # 显示所有连接
    netstat -p                      # 显示进程PID和名称(需root)
    ss -tuln                        # 现代版netstat,更快
    ss -o state established '( dport = :80 or sport = :80 )'  # 过滤80端口连接
    
hostname/hostnamectl
  • 概念:查看/设置主机名
  • 示例
    hostname                        # 查看主机名
    hostnamectl set-hostname newhostname  # 设置主机名(永久生效)
    hostnamectl                     # 查看详细主机信息
    

网络测试

ping
  • 概念:测试网络连通性
  • 示例
    ping google.com                 # 测试到google.com的连通性
    ping -c 4 192.168.1.1           # 发送4个ICMP包后停止
    ping -i 2 -c 10 192.168.1.1     # 每2秒发送一个,共10个
    
traceroute/mtr
  • 概念:跟踪数据包路径
  • 示例
    traceroute google.com           # 跟踪到目标的路由路径
    mtr google.com                  # 结合ping和traceroute的持续监控工具
    
curl/wget
  • 概念:HTTP客户端/文件下载工具
  • 示例
    curl http://example.com         # 获取网页内容
    curl -I http://example.com      # 只获取HTTP头信息
    curl -O http://example.com/file.iso  # 下载文件
    wget http://example.com/file.iso     # 下载文件
    wget -c http://example.com/file.iso  # 断点续传
    
ssh/scp/sftp
  • 概念:远程登录/文件传输
  • 示例
    ssh username@remote_host        # 远程登录
    ssh -p 2222 username@host       # 指定端口登录
    scp file.txt username@host:/path/  # 本地文件复制到远程
    scp username@host:/path/file.txt .  # 远程文件复制到本地
    scp -r dir/ username@host:/path/    # 递归复制目录
    sftp username@host              # SFTP交互式文件传输
    

防火墙管理

firewall-cmd
  • 概念:firewalld防火墙管理工具(CentOS 7+)
  • 示例
    sudo firewall-cmd --state       # 查看防火墙状态
    sudo firewall-cmd --list-ports  # 查看开放端口
    sudo firewall-cmd --add-port=80/tcp --permanent  # 永久开放80端口
    sudo firewall-cmd --remove-port=80/tcp --permanent  # 永久关闭80端口
    sudo firewall-cmd --reload      # 重新加载规则使其生效
    sudo firewall-cmd --zone=public --add-service=http --permanent  # 开放HTTP服务
    
iptables
  • 概念:传统防火墙管理工具
  • 示例
    sudo iptables -L                # 查看规则
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # 允许80端口入站
    sudo iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT  # 允许特定网段
    sudo iptables-save > /etc/sysconfig/iptables  # 保存规则
    

4. 存储管理

磁盘信息

df
  • 概念:查看磁盘空间使用情况
  • 示例
    df -h                           # 人类可读格式显示
    df -i                           # 显示inode使用情况
    df -T                           # 显示文件系统类型
    df /dev/sda1                    # 查看指定分区
    
du
  • 概念:查看目录/文件大小
  • 示例
    du -sh /path/to/dir             # 显示目录总大小(人类可读)
    du -h --max-depth=1 /path       # 显示一级子目录大小
    du -ah /path                    # 显示所有文件和目录大小
    du -c file1 file2               # 显示多个文件总大小
    
lsblk
  • 概念:列出块设备信息
  • 示例
    lsblk                           # 显示所有块设备
    lsblk -f                        # 显示文件系统信息
    lsblk -o NAME,SIZE,TYPE,MOUNTPOINT  # 自定义输出字段
    
fdisk/parted
  • 概念:磁盘分区工具
  • 示例
    sudo fdisk -l                   # 列出所有磁盘分区
    sudo fdisk /dev/sdb             # 交互式分区/dev/sdb
    sudo parted /dev/sdb            # 高级分区工具(支持GPT)
    

挂载管理

mount/umount
  • 概念:挂载/卸载文件系统
  • 示例
    mount /dev/sdb1 /mnt/data       # 挂载分区到/mnt/data
    mount -t ext4 /dev/sdb1 /mnt/data  # 指定文件系统类型
    mount -o ro /dev/sdb1 /mnt/data  # 只读挂载
    umount /mnt/data                # 卸载分区
    umount -l /mnt/data             # 强制卸载(当文件被占用时)
    mount -a                        # 挂载/etc/fstab中所有文件系统
    
/etc/fstab
  • 概念:文件系统表,定义开机自动挂载项
  • 示例配置
    # 设备        挂载点    类型   选项       备份 检查
    /dev/sdb1     /mnt/data ext4   defaults    0    2
    UUID=xxx      /boot     xfs    defaults    0    1
    
  • 操作命令
    sudo blkid                      # 获取设备UUID
    sudo vim /etc/fstab             # 编辑fstab文件
    mount -a                        # 测试fstab配置是否正确
    

LVM管理

  • 概念:逻辑卷管理,灵活管理磁盘空间
  • 示例
    # 创建物理卷
    sudo pvcreate /dev/sdb1 /dev/sdc1
    # 创建卷组
    sudo vgcreate vg_data /dev/sdb1 /dev/sdc1
    # 创建逻辑卷
    sudo lvcreate -L 100G -n lv_data vg_data
    # 格式化逻辑卷
    sudo mkfs.ext4 /dev/vg_data/lv_data
    # 扩展逻辑卷
    sudo lvextend -L +50G /dev/vg_data/lv_data
    sudo resize2fs /dev/vg_data/lv_data  # ext4文件系统扩容
    

5. 包管理

yum/dnf

  • 概念:RPM包管理工具(dnf是yum的下一代)
  • 示例
    # 安装软件包
    sudo yum install nginx
    sudo dnf install nginx          # CentOS 8+推荐使用dnf# 卸载软件包
    sudo yum remove nginx
    sudo dnf remove nginx# 更新软件包
    sudo yum update                 # 更新所有包
    sudo yum update nginx           # 更新指定包
    sudo yum upgrade                # 升级系统# 搜索软件包
    yum search "web server"
    dnf search nginx# 查看包信息
    yum info nginx
    dnf info nginx# 列出已安装包
    yum list installed
    dnf list installed | grep nginx# 清理缓存
    sudo yum clean all
    sudo dnf clean all# 重建缓存
    sudo yum makecache
    sudo dnf makecache
    

rpm

  • 概念:直接操作RPM包的底层工具
  • 示例
    rpm -ivh package.rpm            # 安装RPM包
    rpm -Uvh package.rpm            # 升级RPM包
    rpm -e package                  # 卸载RPM包
    rpm -qa                         # 列出所有已安装RPM包
    rpm -qa | grep nginx            # 查找特定包
    rpm -ql package                 # 列出包安装的文件
    rpm -qf /usr/bin/nginx          # 查看文件属于哪个包
    

6. 日志管理

日志文件位置

  • /var/log/messages:系统通用日志
  • /var/log/secure:安全相关日志(SSH登录等)
  • /var/log/httpd/:Apache日志
  • /var/log/nginx/:Nginx日志
  • /var/log/mysql/:MySQL日志
  • /var/log/cron:定时任务日志

日志查看命令

tail/journalctl
  • 示例
    tail -f /var/log/messages       # 实时查看系统日志
    tail -n 100 /var/log/secure     # 查看最近100行安全日志# systemd日志(CentOS 7+)
    journalctl                      # 查看所有日志
    journalctl -u nginx             # 查看特定服务日志
    journalctl -f                   # 实时跟踪日志
    journalctl --since "1 hour ago" # 查看1小时前至今的日志
    journalctl --until "2023-12-31" # 查看截止到指定日期的日志
    journalctl -k                   # 查看内核日志
    
grep/awk在日志分析中的应用
  • 示例
    # 查找包含"error"的日志行
    grep "error" /var/log/messages# 统计特定IP的访问次数
    grep "192.168.1.100" /var/log/httpd/access.log | wc -l# 提取访问状态码为404的请求
    awk '$9 == 404 {print $0}' /var/log/httpd/access.log# 统计不同状态码的数量
    awk '{print $9}' /var/log/httpd/access.log | sort | uniq -c
    
logrotate
  • 概念:日志轮转工具,防止日志文件过大
  • 配置文件位置/etc/logrotate.conf/etc/logrotate.d/
  • 示例配置/etc/logrotate.d/nginx):
    /var/log/nginx/*.log {dailymissingokrotate 14compressdelaycompressnotifemptycreate 0640 nginx nginxsharedscriptspostrotate/bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || trueendscript
    }
    

7. 性能监控

CPU监控

top/htop/mpstat
  • 示例
    top -o %CPU                     # 按CPU使用率排序
    mpstat -P ALL 2                 # 每2秒显示所有CPU核心使用情况
    sar -u 1 5                      # 每1秒采样一次CPU,共5次(需安装sysstat)
    

内存监控

free/vmstat
  • 示例
    free -h                         # 人类可读格式显示内存使用
    free -m                         # 以MB为单位显示
    vmstat 2                        # 每2秒显示内存和系统状态
    vmstat -s                       # 显示内存统计摘要
    

磁盘I/O监控

iostat/iotop
  • 示例
    iostat -x 2                     # 每2秒显示详细I/O统计
    iostat -p sda 2                 # 监控指定磁盘
    iotop                           # 实时监控进程I/O(需安装,按q退出)
    

网络监控

iftop/nload
  • 示例
    sudo iftop -i eth0              # 监控eth0接口带宽
    sudo nload                      # 实时监控网络流量(分上传/下载)
    

8. 文本处理

文本查看/编辑

vi/vim
  • 概念:强大的文本编辑器
  • 常用操作
    vim file.txt                    # 打开文件
    # 编辑模式:按i进入插入模式
    # 保存退出:Esc -> :wq -> 回车
    # 不保存退出:Esc -> :q! -> 回车
    # 查找:/pattern -> 回车(n下一个,N上一个)
    # 替换::%s/old/new/g -> 回车(全局替换)
    
nano
  • 概念:简单易用的文本编辑器
  • 示例
    nano file.txt                   # 打开文件(底部有操作提示)
    # Ctrl+O保存,Ctrl+X退出,Ctrl+W搜索
    

文本搜索与过滤

grep/egrep
  • 概念:在文件中搜索指定模式的文本
  • 示例
    grep "error" file.log           # 搜索包含"error"的行
    grep -i "Error" file.log        # 忽略大小写
    grep -n "error" file.log        # 显示行号
    grep -r "error" /var/log/       # 递归搜索目录
    grep -v "info" file.log         # 排除包含"info"的行
    grep -E "error|warning" file.log # 搜索多个模式(egrep等价)
    
sed
  • 概念:流编辑器,用于文本替换和处理
  • 示例
    sed 's/old/new/g' file.txt      # 全局替换old为new(不修改原文件)
    sed -i 's/old/new/g' file.txt   # 直接修改原文件
    sed '/^#/d' file.txt            # 删除注释行(以#开头的行)
    sed '10d' file.txt              # 删除第10行
    sed -n '5,10p' file.txt         # 只显示第5-10行
    
awk
  • 概念:文本处理语言,用于数据提取和报告
  • 示例
    awk '{print $1, $3}' data.txt   # 打印第1和第3列
    awk -F: '{print $1}' /etc/passwd  # 以:为分隔符,打印第1列(用户名)
    awk '$3 > 1000 {print $0}' /etc/passwd  # 第3列(UID)大于1000的行
    awk '{sum += $2} END {print sum}' data.txt  # 计算第2列的总和
    

文本处理工具链

cut/sort/uniq/wc
  • 示例
    # 提取第1列,排序,去重,统计数量
    cut -d: -f1 /etc/passwd | sort | uniq | wc -l# 统计访问日志中IP出现次数并排序
    awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10# 查找占用空间最大的前10个文件
    du -ah /path | sort -rh | head -10
    

9. 实用技巧

命令别名

  • 概念:为常用命令创建简短别名
  • 示例
    alias ll='ls -lha'              # 临时别名(当前shell有效)
    alias grep='grep --color=auto'  # 彩色显示grep结果# 永久别名(添加到~/.bashrc或~/.bash_profile)
    echo "alias ll='ls -lha'" >> ~/.bashrc
    source ~/.bashrc                # 使别名立即生效
    

管道与重定向

  • 概念:将命令连接起来或重定向输入输出
  • 示例
    # 管道:将前一个命令输出作为后一个命令输入
    ps aux | grep nginx | wc -l     #统计nginx进程数# 重定向:>覆盖,>>追加
    command > output.txt            # 标准输出重定向到文件
    command >> output.txt           # 追加到文件
    command 2> error.txt            # 错误输出重定向
    command &> all_output.txt       # 所有输出重定向
    command < input.txt             # 从文件读取输入# 组合使用
    grep "error" /var/log/* 2>/dev/null | tee errors.log  # 查找错误并保存到文件同时显示
    

后台任务与进程管理

  • 示例
    # 后台运行命令
    nohup ./long_running_script.sh &  # 忽略挂断信号,后台运行
    nohup command > output.log 2>&1 & # 重定向输出到日志文件# 终端复用(screen/tmux)
    screen -S session1              # 创建会话
    screen -ls                      # 列出会话
    screen -r session1              # 恢复会话
    Ctrl+A+D                        # 分离会话tmux new -s session1            # 创建tmux会话
    tmux attach -t session1         # 恢复会话
    Ctrl+B+D                        # 分离tmux会话
    

文件查找与处理

find
  • 概念:强大的文件查找工具
  • 示例
    find / -name "*.log"            # 按名称查找
    find /var -size +100M           # 查找大于100MB的文件
    find . -mtime -7                # 查找7天内修改的文件
    find . -type d -name ".git"     # 查找类型为目录且名称为.git的
    find / -user root -perm 600     # 查找所有者为root且权限为600的文件
    find . -name "*.txt" -exec rm {} \;  # 查找并删除.txt文件(谨慎使用)
    find . -name "*.tmp" -delete    # 查找并删除.tmp文件
    
locate
  • 概念:快速文件查找(基于数据库)
  • 示例
    locate "*.log"                  # 快速查找.log文件
    sudo updatedb                   # 更新数据库(默认每天自动更新)
    locate -i "readme.md"           # 忽略大小写查找
    

压缩与解压

  • 示例
    # tar
    tar -czvf archive.tar.gz dir/   # 打包并gzip压缩
    tar -xzvf archive.tar.gz        # 解压tar.gz
    tar -cjvf archive.tar.bz2 dir/  # 打包并bzip2压缩
    tar -xjvf archive.tar.bz2       # 解压tar.bz2# zip
    zip -r archive.zip dir/         # 创建zip压缩包
    unzip archive.zip               # 解压zip# gzip
    gzip file.txt                   # 压缩文件(生成file.txt.gz)
    gunzip file.txt.gz              # 解压gzip文件
    

系统信息查看

  • 示例
    uname -a                        # 查看内核版本和系统信息
    cat /etc/redhat-release         # 查看CentOS版本
    lsb_release -a                  # 查看系统版本(需安装redhat-lsb)
    hostnamectl                     # 查看主机信息
    lscpu                           # 查看CPU信息
    free -h                         # 内存信息
    df -h                           # 磁盘信息
    uptime                          # 系统运行时间和负载
    

10. 附录

常用快捷键

快捷键功能描述
Ctrl+C终止当前命令
Ctrl+Z暂停当前命令(可通过fg恢复)
Ctrl+D退出当前shell(等价于exit)
Ctrl+L清屏(等价于clear)
Ctrl+A光标移到行首
Ctrl+E光标移到行尾
Ctrl+U删除光标前所有字符
Ctrl+K删除光标后所有字符
Ctrl+W删除光标前一个单词
Tab自动补全命令或路径
Ctrl+R搜索命令历史

通配符

通配符含义
*匹配任意字符序列(0个或多个)
?匹配任意单个字符
[abc]匹配a、b或c中的任意一个
[a-z]匹配任意小写字母
[0-9]匹配任意数字
[^abc]匹配除a、b、c外的任意字符
{file1,file2}匹配file1或file2

特殊符号

符号含义
~当前用户家目录
.当前目录
父目录
/根目录
$VAR引用变量VAR的值
#注释符号(一行中#后的内容被忽略)
&将命令放入后台执行
;分隔多个命令,顺序执行
&&逻辑与,前一个命令成功才执行后一个
||逻辑或,前一个命令失败才执行后一个
|管道,将前一个命令输出作为后一个命令输入
>输出重定向(覆盖)
>>输出重定向(追加)
<输入重定向
2>错误输出重定向
*通配符,匹配任意字符序列
文件操作扩展
rename
  • 概念:批量重命名文件,支持字符串替换
  • 示例
    rename 's/old/new/' *.txt      # 将所有.txt文件中的"old"替换为"new"
    rename 'y/A-Z/a-z/' *.TXT      # 将所有.TXT文件转为小写后缀
    
tree
  • 概念:以树状图显示目录结构
  • 示例
    tree                            # 显示当前目录树
    tree -L 2                       # 限制显示深度为2级
    tree -d                         # 只显示目录
    
chattr/lsattr
  • 概念:修改/查看文件扩展属性(如防删除、只读)
  • 示例
    chattr +i important.txt         # 设置文件不可修改、删除
    chattr -i important.txt         # 取消不可修改属性
    lsattr important.txt            # 查看文件扩展属性
    
basename/dirname
  • 概念:提取文件名或目录名
  • 示例
    basename /path/to/file.txt      # 输出:file.txt
    dirname /path/to/file.txt       # 输出:/path/to
    
文本处理扩展
rev
  • 概念:反转文件内容的每行字符
  • 示例
    rev file.txt                    # 反转显示file.txt内容
    echo "hello" | rev              # 输出:olleh
    
iconv/dos2unix
  • 概念:文件编码转换/Windows换行符转Unix
  • 示例
    iconv -f GBK -t UTF-8 input.txt > output.txt  # GBK转UTF-8
    dos2unix winfile.txt            # 将CRLF转换为LF格式
    
vimdiff
  • 概念:可视化文件比较工具
  • 示例
    vimdiff file1.txt file2.txt     # 分屏显示两个文件差异
    
系统监控高级命令
dmesg
  • 概念:查看内核启动信息和硬件诊断
  • 示例
    dmesg | grep -i error           # 查找内核错误信息
    dmesg | less                    # 分页查看所有启动信息
    
sar
  • 概念:系统活动报告,收集历史性能数据
  • 示例
    sar -u 5 3                      # 每5秒采样一次CPU,共3次
    sar -r 1 5                      # 监控内存使用
    sar -n DEV 2                    # 监控网络接口流量
    
strace/ltrace
  • 概念:跟踪进程系统调用/库函数调用
  • 示例
    strace -p 1234                  # 跟踪PID 1234的系统调用
    ltrace ls                       # 跟踪ls命令的库函数调用
    
网络诊断工具
nmap
  • 概念:网络端口扫描和服务探测
  • 示例
    nmap 192.168.1.1                # 扫描目标主机开放端口
    nmap -p 1-1000 192.168.1.1      # 扫描指定端口范围
    nmap -sV 192.168.1.1            # 探测服务版本
    
tcpdump
  • 概念:网络抓包工具,分析网络流量
  • 示例
    tcpdump -i eth0 port 80         # 抓取eth0上80端口流量
    tcpdump -w capture.pcap         # 保存抓包到文件
    tcpdump -r capture.pcap         # 读取保存的抓包文件
    
磁盘管理高级命令
parted
  • 概念:支持GPT分区的磁盘分区工具(大于2TB磁盘)
  • 示例
    parted /dev/sdb                 # 交互式分区/dev/sdb
    parted -s /dev/sdb mklabel gpt  # 非交互式创建GPT标签
    parted -s /dev/sdb mkpart primary 0% 100%  # 创建整个磁盘分区
    
swapon/swapoff
  • 概念:启用/关闭交换分区
  • 示例
    swapon /dev/sdb1                # 启用交换分区
    swapon -s                       # 查看所有活动交换分区
    swapoff /dev/sdb1               # 关闭交换分区
    
实用工具
watch
  • 概念:周期性执行命令并全屏显示结果
  • 示例
    watch -n 1 'df -h'              # 每秒刷新磁盘使用情况
    watch -d 'ls -l'                # 高亮显示文件变化
    
bc
  • 概念:高精度计算器工具
  • 示例
    bc -l                           # 启动交互式计算器(-l加载数学库)
    echo "2^32" | bc                # 计算2的32次方
    echo "scale=2; 10/3" | bc       # 设置小数位数计算除法
    
type
  • 概念:判断命令类型(内置/外部/别名)
  • 示例
    type cd                         # 显示cd是shell内置命令
    type ls                         # 显示ls是别名或外部命令路径
    type -t python                  # 仅显示类型(alias/builtin/file)
    
SELinux管理
getenforce/setenforce
  • 概念:查看/临时切换SELinux模式
  • 示例
    getenforce                      # 查看当前模式(Enforcing/Permissive/Disabled)
    setenforce 0                    # 临时切换到Permissive模式
    setenforce 1                    # 切换回Enforcing模式
    
永久修改SELinux配置
  • 概念:通过配置文件修改SELinux模式
  • 示例
    sudo vim /etc/selinux/config   # 修改配置文件
    # 设置SELINUX=disabled 禁用SELinux(需重启)
    
文件上传下载工具
sz/rz
  • 概念:基于ZModem协议的文件传输工具
  • 示例
    yum install -y lrzsz            # 安装lrzsz工具
    sz filename                     # 下载文件到本地
    rz                              # 上传本地文件到服务器(弹出文件选择窗口)
    
curl高级用法
REST API交互
  • 概念:使用curl发送HTTP请求测试API
  • 示例
    # POST请求
    curl -H "Content-Type: application/json" -X POST -d '{"name":"test"}' http://api.example.com
    # GET请求带参数
    curl "http://api.example.com/data?param1=value1&param2=value2"
    # 带认证信息
    curl -u username:password http://api.example.com
    
文件下载与限速
  • 示例
    curl -O http://example.com/file.iso  # 下载文件
    curl --limit-rate 100k http://example.com/largefile.iso  # 限速100KB/s
    
进程管理高级命令
pgrep/pkill
  • 概念:通过进程名查找/终止进程
  • 示例
    pgrep nginx                     # 查找nginx进程PID
    pkill -9 nginx                  # 终止所有nginx进程
    pgrep -u root                   # 查找root用户的进程
    
ipcs/ipcrm
  • 概念:管理进程间通信(IPC)资源
  • 示例
    ipcs -m                         # 显示共享内存
    ipcs -s                         # 显示信号量
    ipcrm -m shmid                  # 删除指定ID的共享内存
    ```## 11. 系统安装与编译

包管理差异(CentOS vs Ubuntu)

RPM包管理(CentOS)
  • 概念:RedHat系系统的包管理工具
  • 示例
    # 安装RPM包
    rpm -ivh package.rpm
    # 升级RPM包
    rpm -Uvh package.rpm
    # 卸载RPM包
    rpm -e package
    # 查询已安装包
    rpm -qa | grep package
    
DPKG包管理(Ubuntu)
  • 概念:Debian系系统的包管理工具
  • 示例
    # 安装DEB包
    dpkg -i package.deb
    # 卸载DEB包
    dpkg -r package
    # 查看包信息
    dpkg -s package
    # 列出包内容
    dpkg -L package
    
源码编译安装
  • 概念:从源码编译安装软件的通用流程
  • 示例
    # 安装编译工具(CentOS)
    yum groupinstall "Development Tools" -y# 安装编译工具(Ubuntu)
    apt install build-essential -y# 通用编译流程
    wget https://example.com/source.tar.gz
    tar -zxvf source.tar.gz
    cd source-dir
    ./configure --prefix=/usr/local/app
    make
    make install
    

12. 在线下载工具

wget高级用法

  • 概念:功能强大的命令行下载工具
  • 示例
    # 断点续传
    wget -c https://example.com/largefile.iso# 后台下载
    wget -b https://example.com/file.tar.gz# 限速下载
    wget --limit-rate=200k https://example.com/file.zip# 指定User-Agent
    wget -U "Mozilla/5.0" https://example.com
    

curl高级用法

  • 概念:支持多种协议的URL传输工具
  • 示例
    # 下载文件并重命名
    curl -o newname.zip https://example.com/file.zip# 跟随重定向
    curl -L https://example.com/redirect# 发送表单数据
    curl -d "username=admin&password=123" https://example.com/login# 带Cookie请求
    curl -b "sessionid=xxx" https://example.com/profile
    

axel多线程下载

  • 概念:多线程下载工具,加速下载速度
  • 示例
    # 安装(CentOS)
    yum install axel -y# 安装(Ubuntu)
    apt install axel -y# 使用10线程下载
    axel -n 10 https://example.com/largefile.iso
    

13. 压缩解压大全

支持多种格式的压缩解压命令

格式压缩命令解压命令
.tartar -cvf file.tar dir/tar -xvf file.tar
.tar.gztar -czvf file.tar.gz dir/tar -xzvf file.tar.gz
.tar.bz2tar -cjvf file.tar.bz2 dir/tar -xjvf file.tar.bz2
.tar.xztar -cJvf file.tar.xz dir/tar -xJvf file.tar.xz
.zipzip -r file.zip dir/unzip file.zip
.rarrar a file.rar dir/rar x file.rar
.7z7z a file.7z dir/7z x file.7z

安装额外压缩工具

# 安装rar(CentOS)
wget https://www.rarlab.com/rar/rarlinux-x64.tar.gz
tar -zxvf rarlinux-x64.tar.gz
cd rar
make install# 安装p7zip(Ubuntu)
apt install p7zip-full -y# 安装p7zip(CentOS)
yum install p7zip p7zip-plugins -y

高级压缩示例

# 压缩时排除特定文件
tar --exclude=*.log -czvf backup.tar.gz /data# 分卷压缩
split -b 100M largefile.tar.gz "largefile.part-"# 合并分卷并解压
cat largefile.part-* | tar -xzvf -

14. 性能监控高级命令

系统性能综合监控

sar详细用法
  • 概念:系统活动报告工具,收集和报告系统活动
  • 示例
    # 安装sysstat(包含sar)
    yum install sysstat -y  # CentOS
    apt install sysstat -y  # Ubuntu# 监控CPU使用率(每5秒一次,共3次)
    sar -u 5 3# 监控内存使用
    sar -r 1 5# 监控磁盘I/O
    sar -b 2 10# 监控网络流量
    sar -n DEV 1 5
    

Java内存监控工具

JDK自带工具
  • 概念:JDK提供的Java进程监控工具集
  • 示例
    # 查看Java进程
    jps -l# 查看JVM内存使用
    jstat -gc 12345 5000 10  # PID 12345,每5秒一次,共10次# 生成堆转储文件
    jmap -dump:format=b,file=heapdump.hprof 12345# 查看线程状态
    jstack 12345 > threaddump.txt# 查看JVM参数
    jinfo -flags 12345
    
第三方Java监控工具
# 安装jconsole(图形化,需X11转发)
yum install java-1.8.0-openjdk-devel -y  # 包含jconsole# 安装arthas(阿里开源Java诊断工具)
curl -O https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar  # 交互式选择进程

15. Ubuntu与CentOS命令差异对比

包管理差异

操作CentOSUbuntu
更新源yum updateapt update
安装包yum install pkgapt install pkg
卸载包yum remove pkgapt remove pkg
搜索包yum search pkgapt search pkg
清理缓存yum clean allapt clean

服务管理差异

操作CentOSUbuntu
启动服务systemctl start servicesystemctl start service
停止服务systemctl stop servicesystemctl stop service
开机启动systemctl enable servicesystemctl enable service
查看状态systemctl status servicesystemctl status service
服务列表systemctl list-unit-filessystemctl list-unit-files

防火墙差异

操作CentOS (firewalld)Ubuntu (ufw)
查看状态firewall-cmd --stateufw status
启用systemctl enable --now firewalldufw enable
开放端口firewall-cmd --add-port=80/tcp --permanentufw allow 80/tcp
关闭端口firewall-cmd --remove-port=80/tcp --permanentufw deny 80/tcp
重载规则firewall-cmd --reloadufw reload

16. iptables详细操作

基础规则管理

  • 概念:Linux内核防火墙,通过规则链过滤网络流量
  • 示例
    # 查看所有规则
    iptables -L -n --line-numbers# 清空所有规则
    iptables -F# 保存规则(CentOS)
    service iptables save
    # 保存规则(Ubuntu)
    iptables-save > /etc/iptables/rules.v4# 恢复规则(Ubuntu)
    iptables-restore < /etc/iptables/rules.v4
    

常用规则配置

# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 允许HTTP和HTTPS
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT# 允许本地回环
iptables -A INPUT -i lo -j ACCEPT# 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 阻止特定IP
iptables -A INPUT -s 192.168.1.100 -j DROP# 端口转发(将80端口转发到8080)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

规则持久化

# CentOS持久化
yum install iptables-services -y
systemctl enable iptables
service iptables save# Ubuntu持久化
apt install iptables-persistent -y
netfilter-persistent save
netfilter-persistent reload

17. 进程管理高级操作

进程查找与过滤

  • 概念:根据不同条件查找进程
  • 示例
    # 按名称查找进程
    pgrep nginx
    ps aux | grep nginx# 按端口查找进程
    lsof -i:8080
    netstat -tulnlp | grep 8080
    ss -tulnlp | grep 8080# 按用户查找进程
    ps -u root# 按CPU/内存使用率排序
    ps aux --sort=-%cpu | head -10  # CPU最高的10个进程
    ps aux --sort=-%mem | head -10  # 内存最高的10个进程
    

进程终止操作

  • 概念:终止进程的不同方式和信号
  • 示例
    # 正常终止(SIGTERM - 15)
    kill 1234# 强制终止(SIGKILL - 9)
    kill -9 1234# 重启进程(SIGHUP - 1)
    kill -1 1234# 终止指定名称的所有进程
    pkill nginx
    killall nginx# 终止占用端口的进程
    fuser -k 8080/tcp
    

端口占用解决完整流程

# 1. 查找占用端口的进程
lsof -i:8080
# 或
netstat -tulnlp | grep 8080# 2. 终止进程(假设PID为1234)
kill -9 1234# 3. 强制释放端口(如果kill后端口仍被占用)
fuser -k 8080/tcp# 4. 验证端口是否释放
ss -tuln | grep 8080

18. 线上问题排查方法论

系统资源瓶颈排查

CPU瓶颈
# 查看CPU使用率
top  # 按P排序
htop  # 更直观的CPU使用展示# 查看每个CPU核心的使用情况
mpstat -P ALL 1# 查看进程线程CPU占用
ps -Lp 1234 -o %cpu,pid,tid,comm  # 查看进程1234的线程CPU占用
内存瓶颈
# 查看内存使用概况
free -h
vmstat 1# 查看进程内存占用
top  # 按M排序
ps aux --sort=-%mem | head -10# 查看内存泄漏嫌疑
valgrind --leak-check=full ./program  # C程序内存泄漏检测
jmap -histo:live 1234  # Java进程对象统计
磁盘I/O瓶颈
# 查看磁盘I/O负载
iostat -x 1
iotop  # 按IO使用率排序进程# 查看磁盘空间
df -h
du -sh /var/* | sort -rh  # 按大小排序目录# 查找大文件
find / -type f -size +100M -exec du -h {} \;

网络问题排查

# 检查网络连接
netstat -an | grep ESTABLISHED  # 已建立连接
ss -ti  # TCP连接详情# 抓包分析
tcpdump -i eth0 port 80 -w capture.pcap
tcpdump -r capture.pcap host 192.168.1.1# 路由追踪
traceroute example.com
mtr example.com  # 结合ping和traceroute# DNS排查
nslookup example.com
dig example.com
host example.com

日志分析技巧

# 实时跟踪日志
tail -f /var/log/application.log# 查找错误日志
grep -i error /var/log/application.log
grep -iE "error|exception" /var/log/application.log# 按时间范围过滤日志
sed -n '/2023-10-01 10:00:00/,/2023-10-01 11:00:00/p' /var/log/application.log# 统计错误出现次数
grep -i error /var/log/application.log | wc -l# 分析访问日志(按IP统计访问次数)
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10

19. 防火墙完整操作指南

firewalld(CentOS)详细配置

# 安装与启动
yum install firewalld -y
systemctl enable --now firewalld# 基本操作
firewall-cmd --state  # 查看状态
firewall-cmd --reload  # 重载规则
firewall-cmd --complete-reload  # 完全重启(中断连接)# 管理端口
firewall-cmd --add-port=80/tcp --permanent  # 永久开放80端口
firewall-cmd --remove-port=80/tcp --permanent  # 永久关闭80端口
firewall-cmd --list-ports  # 查看开放端口# 管理服务
firewall-cmd --add-service=http --permanent  # 开放HTTP服务
firewall-cmd --list-services  # 查看开放服务# 端口转发
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.1.100:toport=8080 --permanent# 区域管理
firewall-cmd --get-active-zones  # 查看活动区域
firewall-cmd --zone=public --add-interface=eth0 --permanent  # 接口加入区域

ufw(Ubuntu)详细配置

# 安装与启动
apt install ufw -y
ufw enable  # 启用防火墙
ufw disable  # 禁用防火墙# 基本操作
ufw status verbose  # 详细状态
ufw reload  # 重载规则# 管理端口
ufw allow 80/tcp  # 允许80/tcp
ufw deny 22/udp  # 拒绝22/udp
ufw delete allow 80/tcp  # 删除规则# 管理服务
ufw allow ssh  # 允许SSH服务
ufw allow http  # 允许HTTP服务# 高级规则(允许特定IP)
ufw allow from 192.168.1.0/24 to any port 3306
ufw deny from 10.0.0.1 to any# 端口转发(需先启用ipv4转发)
sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p
ufw route allow proto tcp from any to any port 8080 to 192.168.1.100 port 80

20. 常用服务运维命令

Redis运维

# 安装(CentOS)
yum install redis -y
systemctl enable --now redis# 安装(Ubuntu)
apt install redis-server -y# 基本操作
redis-cli ping  # 测试连接
redis-cli info  # 查看信息
redis-cli keys "*"  # 列出所有键
redis-cli get key  # 获取键值
redis-cli set key value  # 设置键值# 持久化操作
redis-cli save  # 手动触发RDB持久化
redis-cli bgsave  # 后台执行RDB持久化
redis-cli config set appendonly yes  # 启用AOF# 备份与恢复
cp /var/lib/redis/dump.rdb /backup/  # 备份RDB文件
redis-cli FLUSHALL  # 清空数据库(谨慎操作)
# 恢复:停止Redis,替换dump.rdb,启动Redis# 集群管理
redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 ...
redis-cli --cluster info 192.168.1.1:6379

MySQL运维

# 安装(CentOS)
yum install mysql-server -y
systemctl enable --now mysqld# 安装(Ubuntu)
apt install mysql-server -y# 基本操作
mysql -u root -p  # 登录
mysqladmin -u root -p status  # 查看状态
mysql -e "show databases;"  # 执行SQL命令# 备份与恢复
mysqldump -u root -p --all-databases > all_db_backup.sql  # 全库备份
mysqldump -u root -p dbname > dbname_backup.sql  # 单库备份
mysql -u root -p dbname < dbname_backup.sql  # 恢复数据库# 主从复制配置
# 主库:
vi /etc/my.cnf
server-id=1
log_bin=mysql-bin
binlog_do_db=testdb# 从库:
vi /etc/my.cnf
server-id=2
replicate_do_db=testdb# 从库连接主库:
CHANGE MASTER TO
MASTER_HOST='master_ip',
MASTER_USER='repl_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=154;
START SLAVE;
SHOW SLAVE STATUS\G

Java项目部署与监控

# 运行Java项目
java -jar app.jar
nohup java -jar app.jar > app.log 2>&1 &  # 后台运行# 设置JVM参数
java -Xms512m -Xmx1024m -jar app.jar# 查看Java进程详细信息
jinfo -flags 1234  # 查看JVM参数
jstat -gcutil 1234 1000  # 每1秒输出GC信息# 分析堆内存
jmap -heap 1234  # 查看堆配置及使用情况
jmap -dump:format=b,file=heap.hprof 1234  # 生成堆转储文件
jhat heap.hprof  # 启动堆分析服务器(访问7000端口)# 查看线程状态
jstack 1234 > threads.txt
grep -A 10 "BLOCKED" threads.txt  # 查找阻塞线程

21. crontab定时任务完全指南

基本格式与语法

* * * * * command
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 6) (星期天=0或7)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)

特殊符号用法

符号含义示例
*所有值* * * * * 每分钟
,分隔多个值0 8,18 * * * 每天8点和18点
-范围0 9-17 * * 1-5 工作日9到17点每小时
/间隔*/15 * * * * 每15分钟
@reboot启动时@reboot /script/start.sh
@daily每天@daily /script/backup.sh

常用示例

# 编辑定时任务
crontab -e# 查看定时任务
crontab -l# 删除定时任务
crontab -r# 每分钟执行
*/1 * * * * /path/to/script.sh# 每天凌晨3点执行
0 3 * * * /path/to/backup.sh# 每周日23点执行
0 23 * * 0 /path/to/cleanup.sh# 每月1号和15号中午12点执行
0 12 1,15 * * /path/to/report.sh# 工作日8:00-18:00每小时执行
0 8-18 * * 1-5 /path/to/check.sh# 每15分钟执行并输出日志
*/15 * * * * /path/to/script.sh >> /var/log/script.log 2>&1

定时任务管理与日志

# 查看cron服务状态
systemctl status crond  # CentOS
systemctl status cron   # Ubuntu# 查看cron日志(CentOS)
tail -f /var/log/cron# 查看cron日志(Ubuntu)
grep CRON /var/log/syslog# 设置定时任务权限(限制用户)
vi /etc/cron.allow  # 仅允许文件中列出的用户使用crontab
vi /etc/cron.deny   # 禁止文件中列出的用户使用crontab# 定时任务环境变量问题解决
# 在脚本中使用绝对路径或在crontab中定义PATH
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
*/1 * * * * /path/to/script.sh

22. 系统状态全面监控命令

系统运行状态

uptime详细解读
uptime
# 输出示例:15:45:30 up 2 days, 3:10, 2 users, load average: 0.88, 0.65, 0.50
# 解读:当前时间 运行时间 用户数 1/5/15分钟负载# 查看更详细的启动时间
who -b
last reboot
系统信息综合查看
# 查看内核版本
uname -a
cat /proc/version# 查看操作系统版本
cat /etc/redhat-release  # CentOS
cat /etc/lsb-release     # Ubuntu# 查看硬件信息
lscpu  # CPU信息
lsmem  # 内存信息
lsblk  # 磁盘信息# 查看系统资源概览
inxi -Fxz  # 需要安装:yum install inxi / apt install inxi

磁盘与文件系统

高级磁盘监控
# 查看磁盘I/O性能
iostat -x 1
iotop -oP  # 只显示有I/O活动的进程# 文件系统详细信息
df -Th  # 显示文件系统类型
blkid   # 查看块设备UUID和类型# 磁盘分区详情
fdisk -l /dev/sda
parted /dev/sda print# 查找大文件和目录
du -Sh /var | sort -rh | head -10  # 目录大小排序
find / -type f -size +100M -print0 | xargs -0 du -h | sort -rh  # 大文件查找

网络状态深度分析

# 网络连接统计
ss -s  # 连接摘要
ss -tuln  # 监听TCP/UDP端口
ss -ti  # TCP连接详情(包含RTT信息)# 网络流量实时监控
iftop -i eth0  # 按带宽排序
nload  # 分上下行显示流量# 网络接口详细信息
ethtool eth0  # 链路状态、速度等
ip -s link show eth0  # 接口统计信息# 路由表和ARP缓存
ip route show
arp -n
http://www.xdnf.cn/news/15506.html

相关文章:

  • JS的防抖与节流
  • 实例操作:基于 PipeLine 实现 JAVA项目集成 SonarQube代码检测通知 Jenkins
  • 基于R、Python的Copula变量相关性分析
  • 开源 python 应用 开发(七)数据可视化
  • 网络编程/Java面试/TCPUDP区别
  • Spring Boot 解决跨域问题
  • langchain--1--agent示例
  • AWS权限异常实时告警系统完整实现指南
  • 动态规划题解——分割等和子集【LeetCode】
  • Spring Boot 缓存 与 Redis
  • WPF 多窗口分文件实现方案
  • 网络安全(初级)(XSS-labs 1-8)
  • flink sql如何对hive string类型的时间戳进行排序
  • APIs案例及知识点串讲(上)
  • Jenkins全方位CI/CD实战指南
  • 向量数据库Faiss vs Qdrant全面对比
  • 理解大模型的对话和检索能力
  • JWT基础详解
  • 外网访问禅道软件项目管理系统,简单几步将本地内网IP端口设置互联网在线用
  • YOLO13正式发布!考虑将yolov13的创新点融合到半监督中,构建YOLOv13_ssod
  • MySQL 备份与恢复指南
  • 力扣-使用双指针的方法的题们(持续更新中。。。
  • Java全栈工程师面试实录:从电商支付到AI大模型的应用场景与技术栈解析
  • nlp论文:分本分类:《Bag of Tricks for Efficient Text Classification》
  • Pytorch中张量的索引和切片使用详解和代码示例
  • [ROS 系列学习教程] ROS动作通讯(Action):通信模型、Hello World与拓展
  • B/S 架构通信原理详解
  • 【数据结构】单链表练习(有环)
  • C++(STL源码刨析/stack/queue/priority_queue)
  • Rocky Linux 9 源码包安装php8