百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

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

sinye56 2024-11-17 01:33 3 浏览 0 评论

---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在线安装JDK1.8

首先在服务器pingwww.baidu.com查看是否可以连网然后就可以在线下载一、下载安装JDK1.81、在下载安装的同时做好一些准备工作...

Linux安装JDK,超详细

1、了解RPMRPM是Red-HatPackageManager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux...

Linux安装jdk1.8(超级详细)

前言最近刚购买了一台阿里云的服务器准备要搭建一个网站,正好将网站的一个完整搭建过程分享给大家!#一、下载jdk1.8首先我们需要去下载linux版本的jdk1.8安装包,我们有两种方式去下载安装...

Linux系统安装JDK教程

下载jdk-8u151-linux-x64.tar.gz下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.ht...

干货|JDK下载安装与环境变量配置图文教程「超详细」

1.JDK介绍1.1什么是JDK?SUN公司提供了一套Java开发环境,简称JDK(JavaDevelopmentKit),它是整个Java的核心,其中包括Java编译器、Java运行工具、Jav...

Linux下安装jdk1.8

一、安装环境操作系统:CentOSLinuxrelease7.6.1810(Core)JDK版本:1.8二、安装步骤1.下载安装包...

Linux上安装JDK

以CentOS为例。检查是否已安装过jdk。yumlist--installed|grepjdk或者...

Linux系统的一些常用目录以及介绍

根目录(/):“/”目录也称为根目录,位于Linux文件系统目录结构的顶层。在很多系统中,“/”目录是系统中的唯一分区。如果还有其他分区,必须挂载到“/”目录下某个位置。整个目录结构呈树形结构,因此也...

Linux系统目录结构

一、系统目录结构几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树...

Linux文件查找

在Linux下通常find不很常用的,因为速度慢(find是直接查找硬盘),通常我们都是先使用whereis或者是locate来检查,如果真的找不到了,才以find来搜寻。为什么...

嵌入式linux基本操作之查找文件

对于很多初学者来说都习惯用windows操作系统,对于这个系统来说查找一个文件简直不在话下。而学习嵌入式开发行业之后,发现所用到的是嵌入式Linux操作系统,本想着跟windows类似,结果在操作的时...

linux系统查看软件安装目录的方法

linux系统下怎么查看软件安装的目录?方法1:whereis软件名以查询nginx为例子...

Linux下如何对目录中的文件进行统计

统计目录中的文件数量...

Linux常见文件目录管理命令

touch用于创建空白文件touch文件名称mkdir用于创建空白目录还可以通过参数-p创建递归的目录...

Linux常用查找文件方法总结

一、前言Linux系统提供了多种查找文件的命令,而且每种查找命令都具有其独特的优势,下面详细总结一下常用的几个Linux查找命令。二、which命令查找类型:二进制文件;...

取消回复欢迎 发表评论: