Linux 的 sleep 命令# Linux 的 sleep 命令详解
基本概念
sleep 是 Linux 系统中一个简单但非常有用的命令,用于在 shell 脚本或命令行中暂停执行指定的时间。该命令属于 GNU Coreutils 工具集的一部分,几乎所有 Linux 发行版都默认包含。
命令语法
基本语法格式为:
sleep NUMBER[SUFFIX]...
其中:
NUMBER表示时间数值(可以是整数或小数)SUFFIX是可选的单位后缀,可以是:s- 秒(默认单位)m- 分钟h- 小时d- 天
使用示例
- 暂停 5 秒:
bash
sleep 5
# 或
sleep 5s
- 暂停 2 分 30 秒:
bash
sleep 2m 30s
- 暂停 0.5 秒(500 毫秒):
bash
sleep 0.5
- 在脚本中使用:
bash
#!/bin/bash
echo "开始执行..."
sleep 3
echo "3秒后继续执行"
高级用法
- 结合其他命令使用:
bash
# 每5秒检查一次磁盘空间
while true; do
df -h
sleep 5
done
- 使用变量控制休眠时间:
bash
delay=10
echo "等待${delay}秒..."
sleep $delay
- 多个时间参数相加:
bash
# 总共休眠 1分40秒 (1m + 40s)
sleep 1m 40s
注意事项
-
最小时间精度取决于系统实现,通常可以精确到微秒级别
-
在脚本中使用时,
sleep会阻塞整个进程的执行 -
可以通过
Ctrl+C中断正在执行的sleep命令 -
某些特殊环境中(如嵌入式系统)可能有不同的
sleep实现
替代方案
在某些情况下,可以使用以下替代方法实现类似效果:
usleep- 微秒级休眠(但已逐渐被弃用)read -t- 使用 bash 内置命令实现超时等待- 编程语言中的 sleep 函数(如 Python 的
time.sleep())