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

Linux date 命令使用指南

date 命令用于 显示或设置系统日期和时间,支持灵活的时间格式化和计算。以下是常用场景与详细示例:


一、基本用法

1. 显示当前日期和时间
 

<BASH>

date
# 输出:Thu Jun 13 14:25:36 CST 2024
2. 设置系统时间(需root权限)
 

<BASH>

sudo date -s "2024-06-13 15:30:00"
# 设置时间为 2024年6月13日 15:30:00

二、格式化输出

1. 自定义日期格式

使用 + 开头指定格式符号:

 

<BASH>

date "+%Y-%m-%d %H:%M:%S"
# 输出:2024-06-13 14:25:36
2. 常用格式符号
符号含义示例
%Y年份(4位)2024
%m月份(01-12)06
%d日(01-31)13
%H小时(00-23)14
%M分钟(00-59)25
%S秒(00-60)36
%A完整星期名称Thursday
%a缩写星期名称Thu
%B完整月份名称June
%b缩写月份名称Jun
3. 示例
 

<BASH>

date "+今天是 %Y 年 %m 月 %d 日,时间: %H 点 %M 分"
# 输出:今天是 2024 年 06 月 13 日,时间: 14 点 25 分

三、时区管理

1. 查看当前时区
 

<BASH>

date +"%Z %z"
# 输出:CST +0800 (表示东八区)
2. 临时切换时区

通过环境变量 TZ 临时修改时区:

 

<BASH>

TZ='America/New_York' date
# 输出纽约时间(比 UTC 晚4或5小时,夏令时不同)
3. 永久修改时区
 

<BASH>

sudo timedatectl set-timezone Asia/Shanghai  # systemd 系统推荐方式
# 或传统方式(需创建软链接)
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

四、时间计算与特定日期处理

1. 显示过去/未来的时间

使用 -d--date 参数:

 

<BASH>

date -d "tomorrow"          # 明天此时
date -d "next week"         # 下周此时
date -d "3 days ago"        # 3天前
date -d "2023-12-31 +1 day" # 2024-01-01
2. 输出Unix时间戳
 

<BASH>

date +%s          # 当前时间戳(秒)
date -d "@1672502400" +"%F %T"  # 时间戳转日期:2023-01-01 00:00:00

五、实用场景

1. 生成备份文件名
 

<BASH>

backup_file="data-$(date +%Y%m%d-%H%M).tar.gz"
tar -czf $backup_file /path/to/data
2. 脚本中记录日志时间
 

<BASH>

echo "[$(date +"%F %T")] 任务开始执行..." >> script.log

六、常见问题

1. 权限不足导致时间设置失败

若提示 date: cannot set date: Operation not permitted,需用 sudo

 

<BASH>

sudo date -s "新的时间"
2. 时区同步异常

安装并启用 NTP 服务自动同步网络时间:

 

<BASH>

sudo apt install ntp        # Debian/Ubuntu
sudo systemctl enable ntpd  # systemd 系统

总结

  • date 是系统管理员和开发者的核心工具,适用于 时间管理、日志记录、任务调度
  • 优先使用 timedatectl 管理时区(现代 Linux 系统)。
  • 复杂时间计算可借助 -d 参数灵活实现。

http://www.kler.cn/a/587067.html

相关文章:

  • 用Python打造AI玩家:挑战2048,谁与争锋
  • Socket服务器和客户端
  • 安装SQL数据库并且在jupyter中连接,运行
  • 回溯法--力扣第17题“电话号码的字母组合”(java)
  • 【初级篇】如何使用DeepSeek和Dify构建高效的企业级智能客服系统
  • stable Diffusion 中的 VAE是什么
  • Maximize Rating
  • [动手学习深度学习]24. AlexNet
  • 神经网络的基本知识
  • 补充二分LIS
  • 【公务员考试】高效备考指南
  • 2018年全国职业院校技能大赛高职组-计算机网络应用竞赛竞赛样题F卷
  • 【C++】—— 一篇文章解决面试 继承菱形继承
  • A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第一部分
  • 加密算法逆向与HOOK技术实战
  • OpenHarmony子系统开发 - ArkCompiler开发指导
  • matlab 控制系统GUI设计-PID控制超前滞后控制
  • 打靶日记Kioptix Level 4
  • vue项目如何实现条件查询?
  • 贪吃蛇小游戏-简单开发版