歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 日期和時間的那些事兒

Linux 日期和時間的那些事兒

日期:2017/2/28 14:56:11   编辑:Linux教程

Linux將時鐘分為系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘兩種。系統時間是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電的那個主板硬件時鐘,當Linux啟動時,硬件時鐘會去讀取系統時鐘的設置,然後系統時鐘就會獨立於硬件運作

如何查看系統的日期和時間?

$ date
Tue Oct 16 11:18:32 CST 2012

date支持格式化輸出,如

$ date +”%r %n%a %b %d, %Y”
11:27:14 AM
Tue Oct 16, 2012

顯示指定的日期與時間

$ date -d “+1 month”
Fri Nov 16 11:31:10 CST 2012

詳見: http://www.linuxidc.com/Linux/2012-11/74918p2.htm

顯示日歷

$ cal
October 2012
Su Mo Tu We Th Fr Sa
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 31

詳見: http://www.linuxidc.com/Linux/2012-11/74918p3.htm

如何修改系統日期和時間?

使用date命令的-s參數.

#date -s 12/4/2011 #date -s 14:15:00

date -s ’2011/12/4 14:15:00′

如何查看硬件時鐘?

# hwclock –show
Tue 16 Oct 2012 09:19:57 PM CST -0.844514 seconds

如何設置硬件時鐘?

# hwclock –set –date=”09/17/2003 13:26:00″

# hwclock –hctosys //硬件時鐘與系統時鐘同步

# hwclock –systohc //系統時鐘與硬件時鐘同步

硬件時鐘也可以通過clock命令來查看和設置.

時區

UTC Universal Time Coordinated,世界標准時間

GMT Greenwich Mean Time,格林尼治時間

CST China standard Time ,中國標准時間

比如設置設置時區為CST

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

NTP

Network Time Protocol(NTP)是用來使計算機時間同步化的一種協議,它可以使計算機對其服務器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精准度的時間校正,且可介由加密確認的方式來防止惡毒的協議攻擊。

官方網站: http://www.pool.ntp.org/en/

可使用ntpdate同步,服務器可加crontab

# ntpdate cn.pool.ntp.org

使用time命令獲取命令執行時間

$ time ls -Rl dir/* 
[...] 
real 0m22.156s 
user 0m1.652s 
sys 0m4.772s

Linux 文件的時間概念

(1) modification time (mtime,修改時間),是文件內容修改的時間,用命令ls -l默認顯示的就是這個時間.

(2)status time (ctime,狀態時間):當一個文件的狀態改變時,這個時間就會改變,例如更改了文件的權限與屬性等,它就會改變。

(3)access time (atime,訪問時間):當讀取文件內容時,就會更改這個時間,例如使用cat 去讀取/etc/man.config,那麼該文件的atime就會改變。

可使用 ls -l –time=atime –full-time 和 ls -l –time=ctime –full-time 來查看.另外可以用stat命令來查看.

$ stat README.md
File: `README.md’
Size: 25 Blocks: 8 IO Block: 4096 regular file
Device: 809h/2057d Inode: 2755432 Links: 1
Access: (0664/-rw-rw-r–) Uid: ( 1000/ diglike) Gid: ( 1000/ diglike)
Access: 2012-09-21 15:36:42.238294913 +0800
Modify: 2012-09-21 15:35:31.626295155 +0800
Change: 2012-09-21 15:35:31.750295154 +0800
Birth: -
$ ls –full-time README.md
-rw-rw-r– 1 diglike diglike 25 2012-09-21 15:35:31.626295155 +0800 README.md
$ ls –time=atime –full-time README.md
-rw-rw-r– 1 diglike diglike 25 2012-09-21 15:36:42.238294913 +0800 README.md
$ ls –time=ctime –full-time README.md
-rw-rw-r– 1 diglike diglike 25 2012-09-21 15:35:31.750295154 +0800 README.md

如何修改Linux文件的訪問時間和修改時間?

可以使用touch命令來修改.

-a 參數只修改atime

-m 參數只修改mtime

-c 參數不創建文件

-t [[CC]YY]MMDDhhmm[.ss] 修改為指定時間

如:

touch -t 1210011224.30 abc

touch -d “5 days ago” abc

定制ls輸出的日期和時間格式

每個Linux系統可能不一樣,由TIME_STYLE 環境變量控制.以下是Ubuntu 12.04的默認輸出格式:

$ll README.md

-rw-rw-r– 1 diglike diglike 25 Sep 21 15:35 README.md

我修改後顯示為

$ ll README.md
-rw-rw-r– 1 diglike diglike 25 2012-09-21 15:35 README.md

因為我在.bashrc 中添加了export TIME_STYLE=long-iso

還可以定制如

$ export TIME_
Copyright © Linux教程網 All Rights Reserved