首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >linux常用命令——其他

linux常用命令——其他

作者头像
christine-rr
发布2026-01-13 19:30:18
发布2026-01-13 19:30:18
230
举报
文章被收录于专栏:linux命令linux命令

博客主页:christine-rr-CSDN博客 ​​​​​ ​​ hi,大家好,我是christine-rr ! 今天来分享一下linux常用命令——其他

执行计划任务的命令

计划任务命令用于在 Linux 中定时、自动执行指定操作(如脚本运行、日志清理、数据备份等),分为 “一次性任务” 和 “周期性任务” 两类。

1. at : 一次性计划任务

at 命令用于创建仅执行一次的定时任务,适用于需要在未来某个特定时间点运行的操作(如凌晨 3 点执行一次数据备份脚本)。

核心特性

  • 基于 “时间点触发”,不重复执行;
  • 依赖 atd 服务(需确保服务已启动,否则任务无法运行);
  • 任务执行结果默认通过邮件发送给当前用户。

常用语法与示例:

命令格式

说明

示例

at [时间]

交互式创建一次性任务

at 23:30(在 23:30 执行任务)

at -f [脚本文件] [时间]

执行指定脚本作为任务

at -f backup.sh tomorrow 10:00(明天 10 点执行 backup.sh)

at -l 或 atq

查看当前用户的待执行任务列表

at -l(列出任务 ID、执行时间、用户)

at -d [任务ID] 或 atrm [任务ID]

删除指定 ID 的待执行任务

at -d 5(删除 ID 为 5 的任务)

at -c [任务ID]

查看指定任务的具体内容

at -c 3(查看 ID 为 3 的任务详情)

时间参数格式at 支持灵活的时间表达:

  • 绝对时间:at 14:20 2024-12-31(2024 年 12 月 31 日 14:20);
  • 相对时间:at now + 10 minutes(10 分钟后)、at now + 2 hours(2 小时后);
  • 特殊时间:at midnight(午夜)、at noon(正午)、at tomorrow(明天此时)。
2. crontab: 周期性计划任务

crontab 命令用于创建重复执行的定时任务(如每天凌晨清理日志、每周日备份数据库),是 Linux 中最常用的周期性任务管理工具,依赖 crond 服务。

核心特性

  • 基于 “时间周期触发”(分、时、日、月、周),支持复杂的周期配置;
  • 每个用户可独立管理自己的 crontab 任务;
  • 系统级任务存放在 /etc/crontab/etc/cron.d/ 目录下。

常用语法:

命令格式

说明

crontab -e

编辑当前用户的 crontab 任务(首次使用会提示选择编辑器)

crontab -l

列出当前用户的所有 crontab 任务

crontab -r

删除当前用户的所有 crontab 任务(谨慎使用)

crontab -u [用户名] -l

查看指定用户的 crontab 任务(需 root 权限)

任务配置格式(核心)

编辑 crontab 时,每条任务需遵循以下格式(共 6 个字段,空格分隔):

代码语言:javascript
复制
*  *  *  *  *  命令/脚本路径
分 时 日 月 周  要执行的操作

字段

取值范围

特殊符号说明

0-59

*(每分钟)、*/5(每 5 分钟)、10-20(10 到 20 分)、10,20,30(10、20、30 分)

0-23

同上,例:*/2(每 2 小时)、9,18(9 点和 18 点)

1-31

同上,例:1(每月 1 日)、1-5(每月 1 到 5 日)

1-12 或 Jan-Dec

例:1,3,5(1、3、5 月)、Jul-Sep(7-9 月)

0-7 或 Sun-Sat(0 和 7 均代表周日)

例:0(每周日)、1-5(工作日)

示例

  1. 每天凌晨 2 点执行 /home/user/backup.sh 脚本:
代码语言:javascript
复制
0 2 * * * /home/user/backup.sh
  1. 每周一、三、五的 18:30 清理 /var/log 日志:
代码语言:javascript
复制
30 18 * * 1,3,5 rm -rf /var/log/*.log
  1. 每 10 分钟执行一次 /usr/local/check.sh 脚本:
代码语言:javascript
复制
*/10 * * * * /usr/local/check.sh

其他命令

rsync:文件同步 / 备份工具

rsync(remote sync)是 Linux 中功能强大的文件同步与增量备份工具,支持本地与本地、本地与远程(通过 SSH、rsync 服务)的文件同步,核心优势是 “只传输变化的文件”,效率极高。

核心特性

  • 增量同步:仅复制源与目标之间不同的部分(大小、修改时间等),节省带宽和时间;
  • 保持属性:可同步文件的权限、所有者、修改时间等元数据;
  • 支持远程:通过 SSH 或 rsync 服务实现跨主机同步,安全性高;
  • 断点续传:支持大文件传输中断后恢复。

常用语法与选项

基本格式:rsync [选项] 源路径 目标路径

常用选项

说明

-a

归档模式(常用!):等价于 -rlptgoD,包含递归、保持权限 / 时间 / 所有者等几乎所有属性

-v

显示详细同步过程(verbose)

-z

传输时压缩数据(节省带宽,适合远程同步)

-P

等价于 -progress + -partial:显示传输进度 + 支持断点续传

-delete

删除目标路径中 “源路径没有” 的文件(确保目标与源完全一致,谨慎使用)

-n

模拟同步(dry run):只显示会执行的操作,不实际修改文件

典型示例

  1. 本地同步:将 /home/user/docs 同步到 /backup/docs,保持所有属性并显示进度:
代码语言:javascript
复制
rsync -avP /home/user/docs/ /backup/docs/

注意:路径末尾的 / 表示 “同步目录内的内容”,若无 / 则会同步目录本身(如 /backup/docs/docs)。

  1. 远程同步(本地 → 远程,通过 SSH):将本地 /data 同步到远程主机 192.168.1.100/remote/data
代码语言:javascript
复制
rsync -avzP /data/ user@192.168.1.100:/remote/data/
  1. 远程同步(远程 → 本地,通过 SSH):将远程 192.168.1.100/var/log 同步到本地 /local/log_backup
代码语言:javascript
复制
rsync -avzP user@192.168.1.100:/var/log/ /local/log_backup/
  1. 完全同步(删除目标多余文件):确保远程 /remote/data 与本地 /data 完全一致(删除远程多余文件):
代码语言:javascript
复制
rsync -avzP --delete /data/ user@192.168.1.100:/remote/data/
ostat:系统 I/O 性能监控命令

iostat 是 Linux 系统中用于监控 CPU 使用率磁盘 I/O 性能 的核心命令,主要用于诊断磁盘读写瓶颈、分析 I/O 负载分布,是系统性能调优和故障排查的常用工具。

基本功能

  • 监控系统磁盘I/O的读写速度
  • 查看CPU利用率
  • 统计设备负载情况
  • 识别I/O性能瓶颈

典型应用场景

  • 服务器性能调优
  • 存储设备性能分析
  • 系统瓶颈排查
  • 容量规划

它属于 sysstat 工具包的一部分,若系统未预装,需先通过包管理器安装。

代码语言:javascript
复制
# Ubuntu/Debian
sudo apt-get install sysstat

# CentOS/RHEL
sudo yum install sysstat

# Fedora
sudo dnf install sysstat

基本语法:

iostat [选项] [时间间隔] [次数]

  • 选项:核心选项用于过滤输出内容,聚焦特定监控维度。
  • 时间间隔:每次监控数据的采集间隔(单位:秒)。
  • 次数:采集数据的总次数(若省略,将持续输出直到按下 Ctrl+C)。

常用选项:

选项

作用说明

-c

仅显示 CPU 使用率统计,不显示磁盘 I/O 信息

-d

仅显示 磁盘 I/O 统计,不显示 CPU 信息

-k

以 KB 为单位 显示 I/O 数据(默认单位为块,1 块≈512 字节)

-m

以 MB 为单位 显示 I/O 数据,更直观适合大文件场景

-x

显示 扩展磁盘 I/O 统计(包含利用率、响应时间等关键性能指标)

-t

在输出中添加 时间戳,便于日志分析和时间关联

-p [设备]

显示指定磁盘 / 分区的详细信息(如 -p sda 显示 sda 及所有分区)

常用示例

  1. 基础用法:默认输出 CPU + 磁盘概览

直接执行 iostat,将显示系统启动以来的 平均 CPU 使用率磁盘 I/O 统计

代码语言:javascript
复制
iostat

输出示例:

代码语言:javascript
复制
Linux 5.15.0-78-generic (ubuntu-server)  10/09/2024  _x86_64_  (4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.30    0.01    1.20    0.45    0.00   96.04

Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscd
sda               3.20         45.60        120.30         0.00    4560000   12030000         0.00
sdb               0.05          0.80          0.00         0.00     80000      0          0.00
  1. 实时监控:按间隔输出多次数据

每 2 秒采集一次磁盘 I/O 数据,共采集 3 次(以 MB 为单位):

代码语言:javascript
复制
iostat -d -m 2 3

输出示例(仅显示第 1 次实时数据):

代码语言:javascript
复制
Linux 5.15.0-78-generic (ubuntu-server)  10/09/2024  _x86_64_  (4 CPU)

Device             tps    MB_read/s    MB_wrtn/s    MB_dscd/s    MB_read    MB_wrtn    MB_dscd
sda               5.80         0.12          0.35         0.00         12         35         0.00
  • 注:首次输出仍为 “系统启动以来的平均值”,从第 2 次开始为 “间隔时间内的实时值”。
  1. 关键场景:扩展磁盘 I/O 分析(-x 选项)

-x 是排查 I/O 瓶颈的核心选项,输出 磁盘利用率、响应时间 等关键指标(以 KB 为单位):

代码语言:javascript
复制
iostat -d -x -k sda 1 2

输出示例

代码语言:javascript
复制
Linux 5.15.0-78-generic (ubuntu-server)  10/09/2024  _x86_64_  (4 CPU)

Device            r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda              0.50    5.30     20.00    212.00     0.10     2.20   16.7   29.3    0.80    2.50   0.01    40.00    40.00   0.30   0.18

输出指标详解

  1. CPU 统计指标(avg-cpu 部分)

指标

说明

关键意义

%user

用户态进程占用 CPU 的百分比

若过高,说明应用程序(如数据库、Web 服务)负载重

%system

内核态进程占用 CPU 的百分比

若过高,可能是内核 I/O 调度、中断处理频繁

%iowait

CPU 等待磁盘 I/O 完成的百分比

核心指标:若持续 >20%,说明磁盘 I/O 成为瓶颈

%idle

CPU 空闲百分比

若过低(<10%),说明 CPU 资源紧张

  1. 磁盘 I/O 基础指标(Device 部分)

指标

说明

单位

Device

磁盘或分区名称(如 sda、nvme0n1)

-

tps

每秒 I/O 操作次数(含读、写)

次 / 秒

kB_read/s

每秒读取数据量

KB / 秒

kB_wrtn/s

每秒写入数据量

KB / 秒

kB_read

累计读取数据量

KB

kB_wrtn

累计写入数据量

KB

  1. 扩展磁盘 I/O 指标(-x 选项)

指标

说明

关键意义

r/s / w/s

每秒读 / 写操作次数

区分读 / 写负载类型

rrqm/s / wrqm/s

每秒合并的读 / 写请求数

合并率高说明 I/O 调度高效

%rrqm / %wrqm

合并请求占总请求的百分比

-

r_await / w_await

读 / 写请求的平均等待时间(含队列等待 + 处理时间)

若 >50ms,说明 I/O 响应慢

aqu-sz

平均 I/O 队列长度

若持续 >2,说明 I/O 队列拥堵

svctm

设备处理 I/O 请求的平均时间(不含队列等待)

反映磁盘硬件本身的处理速度

%util

磁盘忙碌时间占比

核心瓶颈指标:若持续 >80%,说明磁盘已接近满负载

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 执行计划任务的命令
    • 1. at : 一次性计划任务
    • 2. crontab: 周期性计划任务
  • 其他命令
    • rsync:文件同步 / 备份工具
    • ostat:系统 I/O 性能监控命令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档