IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux命令之cal详解 -> 正文阅读

[系统运维]linux命令之cal详解

linux学习笔记之cal

在所有的类linux操作系统中,cal或者ncal命令会在命令行打印出一个有格式的日历(阳历)。

默认情况下,即不给定任何参数的情况下,cal和ncal将会输入本月的日历,并突出显示当前的日期(在Ubuntu22.04LTS下,ncal突出显示当前的日期):
> cal:

      六月 2022
日  一 二 三  四 五 六
          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

> ncal:

    六月 2022
一      6 13 20 27
二      7 14 21 28
三   1  8 15 22 29
四   2  9 16 23 30
五   3 10 17 24
六   4 11 18 25
日   5 12 19 26

可以看到ncal命令和cal命令都会在控制台输出有格式的日历,但是ncal命令显示的日历是竖着的,有别于传统的日历格式。

安装?

有的时候,当你输入cal命令时,控制台会输出command not found: cal,这代表运行环境没有安装cal,需要进行安装。
这里我找到一些运行环境的安装代码:

# Debian
apt-get install bsdmainutils
 
# Ubuntu
apt-get install bsdmainutils
 
# Alpine
apk add util-linux
 
# Arch Linux
pacman -S util-linux
 
# Kali Linux
apt-get install bsdmainutils
 
# CentOS
yum install util-linux

# OS X
brew install util-linux

# Docker
docker run cmd.cat/cal cal

要注意的是,安装可能需要管理员权限,要加上sodu之类的。

语法

calncal命令的 语法为(Ubuntu 22.04 LTS):

Usage: cal [general options] [-jy] [[month] year]
       cal [general options] [-j] [-m month] [year]
       ncal -C [general options] [-jy] [[month] year]
       ncal -C [general options] [-j] [-m month] [year]
       ncal [general options] [-bhJjpwySM] [-H yyyy-mm-dd] [-s country_code] [-W number of days] [[month] year]
       ncal [general options] [-Jeo] [year]
General options: [-31] [-A months] [-B months] [-d yyyy-mm]
cal [month] [year] [-m month] [-y year] [-h] [-3] [-1] [-A num] [-B num]
    [-d YYYY-MM] [-j] [-N]
ncal [month] [year] [-m month] [-y year] [-h] [-3] [-1] [-A num] [-B num]
     [-d YYYY-MM] [-J] [-C] [-e] [-o] [-p] [-w] [-M] [-S] [-b]

可选参数

cal 和 ncal一样的基本参数

通用参数:[-3] [-1] -h -y [year] -m [month] [-A months] [-B months] [-d yyyy-mm]

参数作用
-1只显示本月的日历,这是默认的参数
-3显示上一月、本月以及下个月共三个月的日历
-y [year]显示指定年份的所有月份,如果不指定哪一年,默认为本年。-y可以省略
-m [month]显示本年指定月份; [month]可以是数字或者月份对应的英文全拼或缩写,== [month]参数不可省==;如果使用数字指定月份,那么可以在数字后面添加f(following)p( previous)参数用于指定下一年或者上一年(注意,数字和参数不可有空格!)。
-A [num]显示在已指定的任何月份之发生的月份数(num个月),即add num months
-B[num]显示在已指定的任何月份之发生的月份数(num个月),即before num months
-d YYYY-MM显示年份为YYYY,月份为MM的日期
-h不突出显示今天的日期

下面是一些实例:

cal MM YYYY | ncal MM YYYY可以指定某一年的某个月的日历。
cal 3 2000
cal and ncal

cal -3 | cal -1 | ncal -1 | ncal -3
cal and ncal
cal and ncal

ncal -3 -A 3 | cal -3 -A 3
cal and ncal
ncal -y 2021 -A 2 | cal -y 2022 -A 2 显示2021年所有月份和之后的两个月
cal and ncal
cal -m 2p | ncal -m 2p
cal and ncal
ncal -3 -B 1 | cal -3 -B 1
cal and ncal
cal -d 2000-12 | ncal -d 2000-12
cal and ncal

其它参数

  1. -j

Display a Julian calendar, instead of the default Gregorian calendar.
日期显示为从本年1月1日开始的计算的天数,而不是传统的从每月的第一天计算

cal and ncal
2. -jy
-j一样,而显示一年的日期,日期数字是从1月1日开始计算的数字。

  1. cal [general options] [-jy] [[month] year]

可以指定某一年的某一月,注意先是月份,后是年份;如果只给一个参数,那默认是年份;如果只想指点月份,则需要-m参数,默认是今年。

语法:

cal [general options] [-jy] [[month] year]
cal [general options] [-j] [-m month] [year]
# 竖排
ncal [general options] [-jy] [[month] year]
ncal [general options] [-j] [-m month] [year]
# 横排,和cal一样效果
ncal -C [general options] [-jy] [[month] year]
ncal -C [general options] [-j] [-m month] [year]

cal and ncal

ncal的特殊参数

有些参数对于中国人来说意义不大。

ncal [general options] [-bhJjpwySM] [-H yyyy-mm-dd] [-s country_code] [-W number of days] [[month] year]
ncal [general options] [-Jeo] [year]
参数说明
-J显示儒略历,而不是默认的公历。所有日期都从1月1日开始编号,而不是从月初开始。如果与-o组合,则根据儒略历显示东正教复活节的日期。
-e显示西方日历的复活节日期。存在此选项是因为复活节是计算传统日历日期时的定义日期。
-oDisplay the date of orthodox Easter.
-pPrint country codes and “switching days” for switching from Julian to Gregorian calendars in various countries.
-w打印“每周”列下的周数。
-C使ncal表现得像cal
-M以周一为第一天
-S以周日为第一天显示周。=默认值=
-b使ncal表现得像cal ,且以周一为第一天

在这里插入图片描述

-C/-M

ncal -b

参考资料

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:27:13  更:2022-06-29 19:29:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 9:19:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计