Linux cal 命令
什么是 cal 命令
cal
是 Linux 系统中一个简单但实用的命令行工具,用于在终端显示日历。它的名称来源于 "calendar"(日历)的缩写。
基本功能
- 显示当前月份的日历
- 显示指定月份的日历
- 显示整年日历
- 支持多种显示格式和选项
基本语法
cal [选项] [[月份] 年份]
参数说明
- 不添加任何参数:显示当前月份的日历
- 只指定年份:显示该年所有月份的日历
- 同时指定月份和年份:显示该月日历
常用选项详解
1. 显示当前月日历(默认)
实例
cal
示例输出:
十月 2023 日 一 二 三 四 五 六 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2. 显示指定月份日历
实例
cal 12 2023
显示 2023 年 12 月的日历
3. 显示整年日历
实例
cal 2023
显示 2023 年所有月份的日历
4. 显示上/下月日历
实例
cal -3
显示当前月及前后各一个月的日历(共三个月)
5. 显示 Julian 日历(1-366)
实例
cal -j
显示 Julian 日期格式的日历,每年从第 1 天计数到第 365/366 天
6. 显示周一作为每周的第一天
实例
cal -m
默认周日作为每周的第一天,使用 -m
选项改为周一
高级用法
1. 组合使用选项
实例
cal -j -m 12 2023
显示 2023 年 12 月的 Julian 日历,并以周一作为每周的第一天
2. 显示特定年份的日历
实例
cal 1752
显示 1752 年的日历(历史上从 Julian 历法切换到 Gregorian 历法的年份)
3. 显示历史日历
实例
cal 9 1752
显示 1752 年 9 月的日历(注意这个月少了 11 天)
实际应用示例
示例 1:快速查看下个月
实例
cal $(date +"%m %Y" -d "next month")
示例 2:查看当前季度
实例
month=$(date +%m)
cal -3 $(( (month-1)/3*3+1 )) $(date +%Y)
cal -3 $(( (month-1)/3*3+1 )) $(date +%Y)
示例 3:创建日历文件
实例
cal 2023 > 2023_calendar.txt
将 2023 年日历保存到文件
常见问题解答
Q1: cal 命令显示不准确?
A: 确保输入的年份在 1-9999 范围内,月份在 1-12 范围内
Q2: 如何显示其他语言的日历?
A: 可以设置 LANG 环境变量,例如:
实例
LANG=zh_CN.UTF-8 cal
Q3: cal 和 ncal 有什么区别?
A: ncal 是 cal 的变体,提供不同的布局选项,可以通过 man ncal
查看详情
总结表格
选项 | 说明 | 示例 |
---|---|---|
无 | 显示当前月日历 | cal |
-j | Julian 日历格式 | cal -j |
-m | 周一作为每周第一天 | cal -m |
-3 | 显示前/当前/后三个月 | cal -3 |
-y | 显示当年所有月份 | cal -y |
月份 年份 | 显示指定月日历 | cal 12 2023 |
年份 | 显示指定年日历 | cal 2023 |
点我分享笔记