Làm thế nào tôi có thể có được ngày / giờ hiện tại trong thiết bị đầu cuối. Tôi chủ yếu khởi động hệ thống của mình ở chế độ văn bản (bảng điều khiển) và cần lệnh để biết ngày / giờ hiện tại.
Làm thế nào tôi có thể có được ngày / giờ hiện tại trong thiết bị đầu cuối. Tôi chủ yếu khởi động hệ thống của mình ở chế độ văn bản (bảng điều khiển) và cần lệnh để biết ngày / giờ hiện tại.
Câu trả lời:
Các date
lệnh sẽ hiển thị cho bạn những ngày và giờ.
man date
sẽ chỉ cho bạn cách kiểm soát đầu ra theo bất kỳ định dạng nào bạn cần, nếu bạn muốn một cái gì đó ngoài đầu ra tiêu chuẩn. Ví dụ:
date "+%H:%M:%S %d/%m/%y"
sẽ xuất ngày và giờ theo định dạng 14:09:22 09/06/2015
Có thể tìm thấy phiên bản dễ đọc hơn của trang man trên Ubuntu Man Pages
Thời gian như dấu nhắc dòng lệnh:
PS1="\@ \w$bk"
Hình như: 11:41 AM ~
Một ít fancier, kèm theo trong ngoặc:
PS1="[ \@ \w$bk ]"
Hình như: [11:36 AM ~]
Thêm người dùng và localhost theo thời gian, tất cả trong ngoặc:
PS1="[ \u on \h \@ \w$bk ]"
Hình như: [DrPete trên LittleSorrel 10:34 AM ~]
Đặt lại lời nhắc về mặc định #: PS1="# "
Để làm cho lời nhắc có sẵn vĩnh viễn , hãy thêm dòng nhắc bạn chọn, nghĩa là
export PS1="\@ \w$bk "
đến ~ / .profile.
Không thể giúp được, chúng tôi đang triển khai ... thêm màu sắc, xác định chúng trong .profile để giúp chúng dễ dàng hơn để thiết lập:
# Install GNU coreutils
bk="\[\033[0;38m\]" #means no background and white lines
txtBlue="\[\033[0;34m\]" #letter color blue
txtRed="\[\033[0;31m\]" #letter color red
txtCyan="\[\033[1;36m\]" #letter color cyan
txtWhite="\[\033[1;37m\]" #letter color white
txtYellow="\[\033[1;33m\]" #letter color yellow
Sau đó, một dấu nhắc siêu màu sẽ là:
PS1="[ $txtYellow\u on $txtCyan\h $txtRed\@ $txtWhite\w$bk ]"
Có một danh sách các lệnh được sử dụng cho thời gian và ngày:
Lệnh date
$ date
Tue Jun 9 18:04:30 EEST 2015
Lệnh zdump
được sử dụng để lặp lại thời gian trong một múi giờ được chỉ định.
$ zdump EEST
EEST Tue Jun 9 15:05:17 2015 EEST
giờ cao điểm
$ sudo hwclock
Tue 09 Jun 2015 06:05:55 PM EEST -0.656710 seconds
đồng hồ nhưng cần cài đặt xview-client
sudo apt-get install xview-clients
sử dụng ntpdate
lệnh. ntpdate
được sử dụng để đặt thời gian hệ thống nhưng sử dụng mà không sudo
cần chỉ in thời gian và ngày.
$ ntpdate
26 Jun 10:48:34 ntpdate[4748]: no servers can be used, exiting
Với Ubuntu 15.04 (systemd) cũng timedatectl
có thời gian hiển thị cho bạn và cho phép bạn thay đổi nó và hơn thế nữa man timedatectl
.
Không cần bàn cãi
% timedatectl Cảnh báo: Bỏ qua biến TZ. Chỉ đọc cài đặt múi giờ của hệ thống. Giờ địa phương: ke 2015-06-10 10:31:59 EEST Giờ phổ cập: ke 2015-06-10 07:31:59 UTC Thời gian RTC: ke 2015-06-10 07:31:59 Múi giờ: Châu Âu / Helsinki (EEST, +0300) Đã bật NTP: có Đã đồng bộ hóa NTP: có RTC tại TZ địa phương: không Hoạt động DST: có Thay đổi DST cuối cùng: DST bắt đầu lúc su 2015 / 03-29 02:59:59 EET su 2015-03-29 04:00:00 EEST Thay đổi DST tiếp theo: DST kết thúc (đồng hồ nhảy ngược một giờ) tại su 2015-10-25 03:59:59 EEST su 2015-10-25 03:00:00 EET
Và một tính năng hay khác mà tôi đã sử dụng là timedatectl set-ntp true
kích hoạt systemd-timesyncd
ứng dụng khách SNTP (Giao thức thời gian mạng đơn giản) tích hợp đồng hồ của bạn với máy chủ từ xa.
$ timedatectl
cũng hoạt động tốt trên Ubuntu 14.04.
Mặc dù tất cả các câu trả lời ở đây là chính xác, bạn cần sử dụng date
lệnh theo cách thủ công để xem thời gian bất cứ khi nào bạn muốn và đầu ra sẽ trộn với đầu ra bình thường của lệnh. Điều này chủ yếu là ok, nhưng đôi khi không thực tế.
Bạn có thể thêm lệnh date vào dấu nhắc của mình , nó sẽ hiển thị đồng hồ (cố định) mỗi khi shell sẵn sàng cho lệnh hoặc bạn có thể sử dụng một trong các bộ ghép kênh đầu cuối có dòng trạng thái. Cái tôi thích nhất (mặc dù tôi thừa nhận cái cũ nhất) là màn hình GNU.
Trong bảng điều khiển hoặc trong một thiết bị đầu cuối, hãy nói qua ssh
, nếu bạn sử dụng màn hình , trong số hàng trăm thứ khác nhau bạn có thể làm (tôi từng nghĩ screen
là không thể tránh khỏi khi làm việc khi tôi chỉ có một thiết bị đầu cuối văn bản), bạn có tùy chọn --- đó là thông thường trong cấu hình mặc định --- có đồng hồ trong dòng trạng thái:
(Ảnh chụp màn hình trên một thiết bị đầu cuối ảo, nhưng nó giống nhau trên bảng điều khiển ảo).
Không có đề cập đến trăn, vì vậy tôi sẽ ném nó ra đây:
$ python -c 'import time;print(time.asctime(time.localtime()))'
Tue Nov 29 20:25:27 2016
Cách thức hoạt động khá đơn giản:
time
mô-đunlocaltime()
Hàm cung cấp cho struct
kiểu dữ liệu với tất cả các thông tin cần thiết, chẳng hạn như thời gian trong ngày, ngày, năm, v.v.asctime()
chuyển đổi tất cả thông tin đó thành chuỗi và chúng tôi in nó ra định dạng độc đáo Hoạt động trong python 2 và 3 như nhau.
nếu bạn đang tìm kiếm một nơi nào đó như YYYYMMDDHHMMSS , 20160804020100, hãy sử dụng điều này:
date +%Y%m%d%H%M%S
nó phục vụ hầu hết các mục đích như sao lưu tập tin hoặc lọc nhật ký.
Nếu bạn không chắc chắn về độ chính xác của đồng hồ trong hệ thống của mình hoặc bạn muốn sử dụng nguồn thời gian bên ngoài, bạn có thể lấy thời gian qua Internet. Để có độ chính xác tốt nhất, bạn có thể sử dụng sntp
(được cài đặt theo mặc định trên MacOS và là một phần của bản phân phối ntp) để lấy ngày:
sntp pool.ntp.org
Nếu bạn chỉ có quyền truy cập web vào internet thì có thể lấy thông qua HTTP bằng HTP , có sẵn trên nhiều hệ thống htpdate
mà thường chỉ có độ chính xác đến giây gần nhất hoặc bạn có thể truy cập bằng TLS (trích xuất dấu thời gian từ TLS trao đổi) tlsdate
có thể cung cấp độ chính xác tốt hơn:
tlsdate -nV ntp.org
man date