当前位置:蜗牛素材网>综合资讯>电脑>正文

linux系统上修改系统时间:Linux系统常用命令总结笔记7---系统时间管理

人气:311 ℃/2024-02-03 00:36:31

---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系统上修改系统时间:Linux系统常用命令总结笔记7---系统时间管理”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版