目录
时间管理
Linux的时钟分为 系统时钟(System Clock) 和 硬件时钟(RTC)
RTC时间是RTC芯片内的时间,系统关机后,由主板上的纽扣电池供电继续计时
Windows下需要进入BIOS内修改
Linux下使用命令hwclock命令来查看和修改
系统时间是平时Linux系统使用时看到的时间,系统每次启动时从RTC 里读取时间来设置系统时间
使用date命令可进行查看和修改
网络时间 Linux系统可以通过网络授时
使用ntpdate命令可获取网络时间
hwclock命令
显示或设置硬件时钟的时间,需要root权限
格式; sudo hwclock [选项]
选项
- r 读取并打印硬件时钟
- s 将硬件时钟同步到系统时钟
- w 将系统时钟同步到硬件时钟
nptdate命令
使用网络上的时间,来设置系统时间
格式: ntpdate 【ntp服务器域名或IP】
实例
ntpdate 1.cn.pool.ntp.org
结果
date命令
默认功能是读取系统时间,可按一定格式输出,也可用来设置
格式:dete [选项] [+格式]
选项:
- s ,设置时间
- d 字符串 ,显示指定字符串所描述的时间,而非当前时间
- f 日期文件 , 类似–date,从日期文件中按行读入时间描述
- r 文件 , 显示文件指定文件的最后修改时间
- u, 输出或者设置协调的通用时间
格式控制
格式控制以 + 开头,紧跟着格式控制的字符
%% 输出符号‘ %’
%n 换行
%t 输出制表符 Tab
年
%Y 年份
%C 当前年份的前两位数字,例如:‘20’
%y 年份最后两位数位 (00-99)
月
%m 月份数 如 ‘01’
%b 本地时间的月名缩写 ,如:一月 就输出 ‘一’
%h 等于%b
%B 本地时间的月名全称 ,如:输出 ’一月‘
星期
%a 本地时间的星期数缩写,例如: 星期日则只输出一个 ‘日’
%u 星期,1 代表星期一
%A 本地时间的星期数全称 ,如:输出 ‘星期日’
日
%d 当前日期的日,例如:‘01’
%e 当前日期的日,添加空格,等于%_d
小时
%H 小时,24小时制,个位数前面补0
%I (大写的i) 小时,12小时制,个位数前面补0
%k 小时,24小时制,个位数前面补空格
%l (小写的L) 小时,12小时制,个位数前面补空格
分钟
%M 分钟
秒
%S 秒(00-60)
%N 纳秒(000000000-999999999)
预制格式
%c 本地时间的日期和时间 ,如:‘2005年3月3日 星期四 23:05:25’
%T 时间,等于%H:%M:%S
%D 等于%m/%d/%y
%F 完整日期格式,等价于 %Y-%m-%d
%r 本地时间的 12 小时时钟时间 (如:11:11:04 下午)
%x 本地时间下的日期描述 (如:12/31/99)
%X 本地时间下的时间描述 (如:23:13:48)
%R 24 小时时间的时和分,等价于 %H:%M
累计时间
%C 从1月1日,到现在过了几天
%w 一星期中的第几日(0-6),0 代表周一
%W 一年中的第几周,以周一为每星期第一天(00-53)
%U 一年中的第几周,以周日为每星期第一天(00-53)
时区
%z +hhmm 数字时区(例如,-0400)
%: z +hh:mm 数字时区(例如,-04:00)
%:: z +hh:mm:ss 数字时区(例如,-04:00:00)
%::: z 数字时区带有必要的精度 (例如,-04,+05:30)
%Z 按字母表排序的时区缩写 (例如,EDT)
其他
%p 本地时间的 “上午” 或者 “下午” ,未知时输出为空
%P 与%p 类似,但是输出小写字母,中文一样
%s 自UTC 时间 1970-01-01 00:00:00 以来所经过的秒数
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%g ISO-8601 格式年份的最后两位 (参见%G)
%G ISO-8601 格式年份 (参见%V),一般只和 %V 结合使用
显示 指定日期的 时间 (-d)
获取一天前的时间
date -d "-1 day" +%c
获取两天后的时间
date -d "+2 day" +%c
效果对比
如上所述,-d 紧跟着的字符串用于指定时间,+代表往后多少时间,-代表往前多少时间
同理有
获取一小时前的时间:date -d “-1 hour” +%c
获取一分钟前的时间:date -d “-1 min” +%c
获取一月前的时间:date -d “-1 month” +%c
获取一年前的时间:date -d “-1 year” +%c
获取一周前的时间:date -d “-1 week” +%c
时间设置 (-s)
设置时间需要root权限
date -s 20220119 //年月日设置成2022-01-19,这样会把 时 分 秒 设置成空00:00:00
date -s 01:01:01 //设置 时 分 秒 ,不会对年月日做更改
date -s “01:01:01 2010-01-01 ″ //设置全部时间
date -s “01:01:01 20100101″ //设置全部时间
date -s “2022-01-19 01:01:01″ //设置全部时间
date -s “20220119 01:01:01″ //设置全部时间
注意: 这里说的是系统时间,是linux由操作系统维护的。
Linux每隔一段时间会将系统时间写入硬件时间。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS。
强制把系统时间写入CMOS命令:
#clock –w
查看系统资源
查看CPU信息
cat /proc/cpuinfo
查看内存信息
cat /proc/meminfo
查看内存使用情况
free
字段说明
1、Mem行,显示物理内存情况
- total 内存总量
- used 使用内存
- free 可用内存
- shared 共享内存
- buffers buffer 缓存,可回收
- cached cached 缓存,可回收
2、-/+buffers/cache行,显示基于应用角度考虑的内存情况,也可理解为真实的内存使用情况。
- used 实际使用内存
- free 实际可用内存
3、Swap行,显示交换空间使用情况
查看磁盘等存储信息
df -h
查看Linux运行时间
uptime
查看登录用户
who
查看Linux发行版本
lsb_release -a
查看内核版本
uname -a