百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux系统常用命令总结笔记7---系统时间管理

gudong366 2025-06-04 16:53 10 浏览

---date: 用来显示或设置系统的时间和日期

用法:date [参数] [+格式]

参数:

-d<字符串>: 显示字符串所指的日期与时间。字符串前后必须加上双引号;

-f: 显示指定文件中每一行指定的时间;

-R: 根据RFC-8222指定格式输出日期;

-s<字符串>: 根据字符串来设置日期与时间。要双引号:[MMDDhhmm[[CC]YY][.ss]]

-u:显示或设置全球时间(格林威治时间)

格式:

如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下:

%%:文本的 %

%a:星期的简写 (Sun..Sat)

%A:星期的全称 (不同长度) (Sunday..Saturday)

%b:当前区域的月份的简写 (Jan..Dec)

%B:当前区域的月份的全称(变长) (January..December)

%c:当前区域的日期和时间 (Sat Nov 04 12:02:33 EST 1989)

%d:(月份中的)几号(用两位表示) (01..31)

%e:(月份中的)几号(去零表示) (1..31)

%D: 日期(按照 月/日期/年 格式显示) (mm/dd/yy)

%X:按照 (%H:%M:%S) 格式显示当前时间

%x: 按照 (mm/dd/yy) 格式显示当前日期

%H:小时(按24小时制显示,用两位表示) (00..23)

%k:小时(按 24 小时制显示,去零显示) ( 0..23)

%I:小时(按 12 小时制显示,用两位表示) (01..12)

%l:小时(按 12 小时制显示,去零表示) ( 1..12)

%j:一年中的)第几天(用三位表示) (001..366)

%m:月份(用两位表示) (01..12)

%M:分钟数(用两位表示) (00..59)

%n:换行

%p:当前时间是上午 AM 还是下午 PM

%T:时间,按 24 小时制显示(hh:mm:ss)

%r:时间,按 12 小时制显示 (hh:mm:ss [A/P]M)

%s:从 1970年1月1日0点0分0秒到现在历经的秒数 (GNU扩充)

%S:秒数(用两位表示)(00..60)

%w:用数字表示星期几 (0..6); 0 代表星期天

%y: 年的后两位数字 (00..99)

%Y: 年(用 4 位表示) (1970...)

例子:

date +"now:%Y-%m-%d" ##格式化当前的日期;

date +"%T" ##按24小时制显示当前的时间;

date +"%r" ##按12小时制显示当前的时间

date -d "2009-12-12" +"%Y/%m/%d %H:%M.%S" ##普通转格式

date -d "-10 second" +"%Y-%m-%d %H:%M.%S" ##显示10秒前的时间

date -d "+10 second" +"%Y-%m-%d %H:%M.%S" ##显示10秒后的时间

date -d "+1 day" +%Y%m%d #显示后一天的日期

date -d "-1 day" +%Y%m%d #显示前一天的日期

date -d "-1 month" +%Y%m%d #显示上一月的日期

date -d "+1 month" +%Y%m%d #显示下一月的日期

date -d "-1 year" +%Y%m%d #显示前一年的日期

date -d "+1 year" +%Y%m%d #显示下一年的日期

date -s 20220523 #仅设置年月日,时间设置成空00:00:00;

date -s 01:01:01 #设置具体时间,不会对日期做更改

date -s "01:01:01 2022-05-23" #这样可以设置全部时间

date -s "01:01:01 20220523" #这样可以设置全部时间

date -s "2022-05-23 01:01:01" #这样可以设置全部时间

date -s "20220523 01:01:01" #这样可以设置全部时间

sudo date 1023150123.40 #设置当前时间,注意格式mmddhhMMyy.ss ,在嵌入式系统中使用的比较多;

---time: 用来显示特定指令执行时所需消耗的CPU时间

参数:

-o <file>: 将执行时间写入到文件中

-a <file>: 将执行时间信息追加到文件中;

-f : 格式化时间输出

例子:

time date ##显示date命令使用的时间;

--real 0m0.001s -->为实际时间

--user 0m0.000s -->用户CPU时间

--sys 0m0.001s -->系统CPU时间

time ./hello ##显示hello进程运行的时间

---cal: 显示当前日历或指定日期的日历

参数:

-l:显示当月输出;

-3:显示临近三个月的日历;

-s:将星期日作为月的第一天;

-m:显示星期一作为一周的第一天.. (缺省为星期日.)

-j:显示儒略历的(Julian)日期 (以 1 为基的天数, 从 1 月 1 日开始计数) .

-y:显示当前年份的日历..

例子:

cal -1 ##显示当月日期;

cal -3 ##显示近3个月日期;

cal 1 2023 ##显示2023年1月日期;

cal -j ##显示日期,以1为基数计数;

cal -y ##显示全年的日期;

---hwclock:Linux系统中用于设置和读取硬件时钟(RTC)的命令。

说明:

--硬件时钟是指主机板上的时钟设备,也就是通常可在 BIOS 画面设定的时钟;

--系统时钟是指 Kernel 中的时钟,当 Linux 启动时,系统时钟会去读取硬件时钟的设定,

之后系统时钟即独立运作。

--hwclock需要root权限才能运行;硬件时钟通常是与系统时钟同步,可以手动设置或校正硬件时钟

--hwclock可以从系统时钟同步到硬件时钟,也可以从硬件时钟读取时间到系统时钟;

参数:

-r,--show:显示硬件时钟的时间;

-w,--systohc:将系统时钟同步到硬件时钟;

-s,hctosys:将硬件时钟同步到系统时钟;

-u,--utc:使用UTC时间格式;

-l,--localtime:使用本地时间格式;

例子:

sudo hwclock -r ##显示硬件时钟的时间;

sudo hwclock -w ##将系统时钟同步到硬件时钟;

sudo hwclock -s ##将硬件时钟同步到系统时钟;

##将硬件时钟设置为当前时间:

sudo hwclock --set --date "2023-01-01 08:00:00"

##将硬件时钟设置为当前系统时间(本地时间格式):

sudo hwclock --systohc --localtime

---ntpdate: 网络时间同步;

安装使用说明:

--sudo apt-get install ntpdate

--sudo ntpdate cn.pool.ntp.org

参数:

-u: 使用未封装的NTP请求和响应包,而不是使用UDP端口123,可以穿越防火墙;

-t: TimeOut 指定等待响应的时间。给定 TimeOut 的值四舍五入为 0.2 秒的倍数。缺省值是 1 秒;

-b: 当本地系统时间和网络时间有较大差距时,强制进行一次时间调整。

-q: 查询ntp服务器时间,不设置时钟。

例子:

ntpdate -u cn.pool.ntp.org ##使用特定的服务器来同步时间;

ntpdate -q pool.ntp.org ##查询ntp服务器时间


---crontab:linux下用来周期性执行某种任务或等待处理某些事件的一个守护进程,

与windows下的计划任务类似。

调度配置文件说明:

--/etc/cron.deny:该文件中所列用户不允许使用crontab命令

--/etc/cron.allow:该文件中所列用户允许使用crontab命令

--/etc/crontab:系统任务调度配置文件

--/var/spool/cron/:用户任务调度配置文件

--配置文件格式:

# Example of job definition:

# .---------------- minute (0 - 59)

# | .------------- hour (0 - 23)

# | | .---------- day of month (1 - 31)

# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...

# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

# | | | | |

# * * * * * user-name command to be executed

--字段中特殊字符:

.星号(*):代表所有可能的值,例如month字段如果是星号,

则表示在满足其它字段的制约条件后每月都执行该命令操作。

.逗号(,):可以用逗号隔开的值指定一个列表范围,

例如,“1,2,5,7,8,9”

.中杠(-):可以用整数之间的中杠表示一个整数范围,

例如“2-6”表示“2,3,4,5,6”

.正斜线(/):可以用正斜线指定时间的间隔频率,

例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,

例如*/10,如果用在minute字段,表示每十分钟执行一次。

参数:

-u user:用来设定某个用户的crontab服务,不写为当前用户。

file:将file作为crontab的任务列表文件并载入crontab。

-e:编辑某个用户的crontab文件内容,不写为当前用户。

-l:显示某个用户的crontab内容,不写为当前用户。

-r:从/var/spool/cron/crontabs目录中删除某个用户crontab文件,不写为当前用户。

例子:

sudo crontab -u root -e ##编辑root用户crontabs配置文件,与vim功能类似;

service crond restart ##重新启动crond服务

cat /etc/crontab ##crontab文件内容分析

service crond reload ##重新载入配置

service crond status ##查看crontab服务状态

##每5分钟执行一次free,查看内存情况

5 * * * * /sbin/free


##在每天上午9点到11点的第5和第10分钟执行命令:

5,10 9-11 * * * command


##每隔两天的上午9点到11点的第5和第10分钟执行命令:

5,10 9-11 */2 * * command


##每个星期一的上午9点到11点的第5和第10分钟执行命令:

5,10 9-11 * * 1 /bin/sh /home/test.sh


##每晚的21:30重启smb命令:

30 21 * * * /etc/init.d/smb restart


##每月1、15日的23: 00重启smb命令:

00 23 1, 15 * * /etc/init.d/smb restart


##在每天的9点到18点间每一小时执行一次sync命令

* 9-18/1 * * * /bin/sync

---uptime:可以获取系统运行了多长时间,也可以用来查看系统的平均负载

参数:

-p,--pretty: 比较人性化方式简洁格式显示运行时间

-s,--since: 以yyyy-mm-dd HH:MM:SS格式输出系统的启动时间

例子:

uptime -p ##可识别的方式输出系统从开机到到当前的运行时长

uptime -s ##以yyyy-mm-dd HH:MM:SS格式输出系统的启动时间

相关推荐

linux sed系列 第四篇:sed工业实战——日志处理与数据清洗

“掌握了sed的编程能力后,我们如同装备精良的工匠,终于可以踏入真实的工业战场。本篇将聚焦sed在日志分析、数据合规化、多文件批处理等场景中的应用,看它如何在海量数据中游刃有余,展现文本处理的...

Linux下sed的简单使用(linux中sed是什么意思)

1、sed简介stremeditor流编辑器,它是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大,sed编辑器是一行一...

linux基础命令之date命令(linux中的date)

date命令主要用于显示或者设置系统时间语法格式:date参数对象使用date命令时,最好先使用date--help命令查看支持哪些参数,有些小型Linux系统下的date命令,只支持一些基本参...

Ubuntu linux 常用命令(ubuntu常用的50个命令)

使用dpkg命令来安装.deb包。sudodpkg-i~/example.deb如果在安装过程中遇到依赖问题,可以使用以下命令来修复:sudoapt-getinstall-f将flut...

Linux基础命令-sed命令(linux教程:sed命令的用法)

Sed全名streameditor流编辑器,它是一个强大的文本处理工具,它可以从文件中接受输入,也可以接受来自标准输入流的输入,它擅长取行。Sed的用途非常广泛,包括:1)文本替换2)选择性的输...

linux sed系列 第二篇:sed进阶技巧——地址定位与正则表达式

“上一篇我们掌握了sed的基础替换,如同获得了第一把钥匙。现在,让我们更进一步,学习如何精准锁定目标行,如同拥有了导航地图,让每一次操作都直击要害!”地址定位的四种维度sed的强大,很大程度上源...

火狐Firefox浏览器140发布:手动Unload标签页、优化翻译体验等

IT之家6月24日消息,Mozilla在发布版本139不到一个月后,推出了最新的开源网页浏览器Firefox140。新版本增加了手动Unload标签页的功能,优化了垂直标签页的调...

Linux 基本正则表达式及扩展正则表达式功能举例

在Linux中,正则表达式(RegularExpression)是一种强大的模式匹配工具,用于在文本中查找、匹配和处理特定模式的字符串。Linux支持两种类型的正则表达式:基本正则表达式(Basic...

linux下find命令的经典26个使用示例

简介find命令是基于unix的操作系统中常用的工具之一。顾名思义,它在目录层次结构中查找文件和目录。用户可以传递不同的参数,并根据文件的名称、扩展名、类型、大小、权限、修改时间、所有者、组等搜索文件...

linux运维中特殊符号的应用与实践

路径位置类的特殊符号(1)、波浪线(~)在linux系统的命令行中,~表示用户的家目录,超级用户为/root,普通用户为/home。假设我当前目录在usr/local下[root@xrylocal]...

开源框架log4cpp实战(开源gui框架)

1.Log4cpp使用Log4cpp中主要包含Category(种类),Appender(附加器),Layout(布局),Priorty(优先级),NDC(嵌套的诊断上下文)。Category、App...

Linux find命令详解(linux find -l)

一、命令介绍Linuxfind命令是类unix操作系统中最重要和最常用的命令行实用程序之一。find命令用于根据指定的条件搜索和定位与参数匹配的文件和目录列表。find命令提供了广泛的选项,允许用户...

Linux运维:单引号与双引号的使用(linux 单引号和双引号)

1、单引号的使用单引号可以将它中间的所有任意字符还原为字面意义,实现屏蔽Shell元字符的功能。注意不可以在两个单引号中间单独插入一个单引号,单引号必须成对出现。示例1:定义一个变量,并输出变量的...

Linux技巧:find 命令用法详细说明,看完会有收获

在Linux命令中,find是比较复杂难用的命令。使用该命令搜索文件时,常常发现自己找了一些例子能用,但稍微改一下条件,就搜不到想要的结果。下面会以一些实例来说明使用find命令的关键要点和...

Linux Shell中单引号、双引号、反引号的解释

1、单引号('')单引号所见即所得,直接显示单引号里的内容。即单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的。比如下面的例子,单引号所见即所得。2、双引号("...