Linux 的 sleep 命令

Linux 的 sleep 命令# Linux 的 sleep 命令详解

基本概念

sleep 是 Linux 系统中一个简单但非常有用的命令,用于在 shell 脚本或命令行中暂停执行指定的时间。该命令属于 GNU Coreutils 工具集的一部分,几乎所有 Linux 发行版都默认包含。

命令语法

基本语法格式为:
sleep NUMBER[SUFFIX]...

其中:

  • NUMBER 表示时间数值(可以是整数或小数)
  • SUFFIX 是可选的单位后缀,可以是:
    • s - 秒(默认单位)
    • m - 分钟
    • h - 小时
    • d - 天

使用示例

  1. 暂停 5 秒:
bash 复制代码
sleep 5
# 或
sleep 5s
  1. 暂停 2 分 30 秒:
bash 复制代码
sleep 2m 30s
  1. 暂停 0.5 秒(500 毫秒):
bash 复制代码
sleep 0.5
  1. 在脚本中使用:
bash 复制代码
#!/bin/bash
echo "开始执行..."
sleep 3
echo "3秒后继续执行"

高级用法

  1. 结合其他命令使用:
bash 复制代码
# 每5秒检查一次磁盘空间
while true; do
    df -h
    sleep 5
done
  1. 使用变量控制休眠时间:
bash 复制代码
delay=10
echo "等待${delay}秒..."
sleep $delay
  1. 多个时间参数相加:
bash 复制代码
# 总共休眠 1分40秒 (1m + 40s)
sleep 1m 40s

注意事项

  1. 最小时间精度取决于系统实现,通常可以精确到微秒级别

  2. 在脚本中使用时,sleep 会阻塞整个进程的执行

  3. 可以通过 Ctrl+C 中断正在执行的 sleep 命令

  4. 某些特殊环境中(如嵌入式系统)可能有不同的 sleep 实现

替代方案

在某些情况下,可以使用以下替代方法实现类似效果:

  • usleep - 微秒级休眠(但已逐渐被弃用)
  • read -t - 使用 bash 内置命令实现超时等待
  • 编程语言中的 sleep 函数(如 Python 的 time.sleep()
相关推荐
Elivs.Xiang2 小时前
ubuntu20中安装gitlab
linux·ubuntu·gitlab
天空属于哈夫克32 小时前
企微自动化:API接口的私有化部署架构
运维·架构·自动化
快乐的划水a2 小时前
单片机仿Linux驱动开发(二)
linux·驱动开发·单片机
ken22322 小时前
中文文件名:find 与 git ls-files / ls-tree 的区别
linux·搜索引擎
a里啊里啊2 小时前
软考-软件评测师:知识点整理(四)——信息安全知识
服务器·网络·计算机网络·php·哈希算法·软考·加密算法
buhuizhiyuci2 小时前
笑谈vim的快捷方式和简易配置
linux·编辑器·vim
minji...2 小时前
Linux 网络套接字编程(三)UDP服务器与客户端实现:Windows与Linux通信,新增字典翻译功能的 UDP 通信
linux·服务器·开发语言·网络·windows·算法·udp
2401_836554222 小时前
服务器 Docker 部署 Hermes Agent → 飞书(零端口暴露)
服务器·docker·飞书
嵌入式×边缘AI:打怪升级日志2 小时前
DHT11 驱动开发实录:从零搭建 Linux 字符设备驱动框架(保姆级教学)
linux·运维·驱动开发