Khi làm việc trên dòng lệnh Linux, bạn có thể thấy mình trong những tình huống cần hiển thị (hoặc thậm chí thay đổi) thời gian hệ thống hiện tại. Không chỉ vậy, nếu bạn làm việc trong một nhóm với các thành viên ở các múi giờ khác nhau, bạn có thể muốn cập nhật thông tin liên quan đến thời gian cho các vùng mà các thành viên khác đang ngồi.
Nếu bạn đang tìm kiếm một công cụ cho phép bạn thực hiện tất cả những điều này (và nhiều hơn nữa), bạn sẽ vui mừng khi biết rằng có một lệnh - được gọi là date - thực hiện tất cả những điều này. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh 'date' cũng như cách bạn có thể sử dụng lệnh này. Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các lệnh và hướng dẫn được đề cập ở đây đều đã được thử nghiệm trên Ubuntu 16.04 LTS.
Và đây là nội dung trang hướng dẫn của công cụ nói về lệnh này:
Sau đây Các ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh này hoạt động.
Đây là lệnh đang hoạt động:
Vì vậy, bạn có thể thấy thông tin như ngày, ngày, giờ, múi giờ cũng như năm được hiển thị trong đầu ra.
Tùy chọn dòng lệnh -d hoặc --date sẽ hữu ích trong trường hợp này:
Đây là lệnh trên đang hoạt động:
Vì vậy, như bạn có thể thấy, lệnh tiết lộ rằng thứ Ba tuần tới là ngày 4 tháng 7.
Đầu vào cho tùy chọn -d/--date có thể có nhiều loại khác nhau. Đây là cách trang hướng dẫn mô tả nó:
Để truy cập tài liệu thông tin cho ngày, hãy sử dụng lệnh sau:
Đây là cách trang hướng dẫn giải thích về 'format':
Ví dụ, tôi đã thử lệnh sau:
Và đây là kết quả đầu ra:
Ảnh chụp màn hình sau đây cho thấy tùy chọn này đang hoạt động:
Tương tự, bạn có thể sử dụng tùy chọn --rfc-2822 để hiển thị đầu ra theo định dạng đó.
LƯU Ý: Các tùy chọn khả dụng mà bạn có thể sử dụng dưới dạng CHUỖI đã được giải thích trong Câu hỏi 2 ở trên.
Sau đây là một ví dụ về cách chúng tôi sử dụng tùy chọn -s để thiết lập ngày và giờ cho hệ thống của mình:
Xin lưu ý rằng bạn có thể phải sử dụng 'sudo' để tùy chọn -s hoạt động. Đối với những ai không chắc sudo là gì, hãy vào đây.
Đây là lệnh trên đang hoạt động:
Lưu ý: Bạn có thể sử dụng lệnh 'tzselect' để tìm giá trị bạn cần truyền cho TZ.
Nếu bạn đang tìm kiếm một công cụ cho phép bạn thực hiện tất cả những điều này (và nhiều hơn nữa), bạn sẽ vui mừng khi biết rằng có một lệnh - được gọi là date - thực hiện tất cả những điều này. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh 'date' cũng như cách bạn có thể sử dụng lệnh này. Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các lệnh và hướng dẫn được đề cập ở đây đều đã được thử nghiệm trên Ubuntu 16.04 LTS.
Lệnh date của Linux
Đây là cú pháp chung của lệnh date:
Mã:
date [OPTION]... [+FORMAT]
Mã:
date - in hoặc đặt ngày và giờ hệ thống
Hiển thị thời gian hiện tại theo FORMAT đã cho hoặc đặt ngày hệ thống.
Câu hỏi 1. Làm thế nào để lấy thông tin ngày/giờ của hệ thống bằng lệnh date?
Đó là hành vi mặc định của công cụ. Để biết ngày và giờ của hệ thống, tất cả những gì bạn phải làm là chạy công cụ theo cách sau (vâng, không có tùy chọn nào):
Mã:
date
Vì vậy, bạn có thể thấy thông tin như ngày, ngày, giờ, múi giờ cũng như năm được hiển thị trong đầu ra.
Câu hỏi 2. Làm thế nào để lấy ngày tương ứng với một ngày?
Thông thường, chúng ta tra cứu lịch để biết ngày nào trong một ngày cụ thể trong tuần. Ví dụ, yêu cầu có thể là biết ngày của 'thứ Ba tuần tới'. Bạn sẽ vui mừng khi biết rằng điều này cũng có thể thực hiện được bằng lệnh 'date'.Tùy chọn dòng lệnh -d hoặc --date sẽ hữu ích trong trường hợp này:
Mã:
date -d "next Tuesday"
Vì vậy, như bạn có thể thấy, lệnh tiết lộ rằng thứ Ba tuần tới là ngày 4 tháng 7.
Đầu vào cho tùy chọn -d/--date có thể có nhiều loại khác nhau. Đây là cách trang hướng dẫn mô tả nó:
Mã:
--date=STRING là chuỗi ngày có thể đọc được bằng con người theo định dạng tự do như
"Sun, 29 Feb 2004 16:21:42 -0800" hoặc "2004-02-29 16:21:42" hoặc thậm chí là "next Thursday".
Chuỗi ngày có thể chứa các mục chỉ ngày trong lịch, thời gian trong ngày, múi giờ, ngày trong tuần,
thời gian tương đối, ngày tương đối và số. Chuỗi trống chỉ ra đầu ngày.
Định dạng chuỗi ngày phức tạp hơn so với những gì dễ dàng được ghi lại ở đây nhưng được mô tả đầy đủ trong
tài liệu thông tin.
Mã:
info date
Câu 3. Làm thế nào để hiển thị thông tin ngày/giờ theo định dạng ISO 8601?
Trong trường hợp bạn muốn công cụ hiển thị thông tin ngày/giờ theo định dạng ISO 8601, bạn có thể sử dụng tùy chọn dòng lệnh --iso-8601. Tùy chọn này yêu cầu bạn phải chỉ định một định dạng.
Mã:
--iso-8601[=FMT]
Mã:
FMT='date' chỉ dành cho ngày (mặc định), 'hours', 'minutes', 'seconds' hoặc 'ns' cho ngày và giờ theo
độ chính xác đã chỉ định. Ví dụ: 2006-08-14T02:34:56-0600
Mã:
date --iso-8601=seconds
Mã:
2017-06-27T14:20:39+05:30
Câu hỏi 4. Làm thế nào để hiển thị ngày/giờ theo định dạng RFC 3339?
Như bạn đã đoán, cũng có một tùy chọn dòng lệnh chuyên dụng cho việc này: --rfc-3339. Giống như tùy chọn được thảo luận trong phần trước, tùy chọn này cũng yêu cầu bạn nhập một trình chỉ định định dạng.Ảnh chụp màn hình sau đây cho thấy tùy chọn này đang hoạt động:
Tương tự, bạn có thể sử dụng tùy chọn --rfc-2822 để hiển thị đầu ra theo định dạng đó.
Câu hỏi 5. Làm thế nào để sử dụng date để hiển thị thời gian sửa đổi cuối cùng của một tệp?
Bạn cũng có thể sử dụng lệnh date để hiển thị thời gian sửa đổi cuối cùng của một tệp. Tùy chọn -r của công cụ cho phép bạn thực hiện việc này. Sau đây là một ví dụ:
Mã:
date -r file1
Câu hỏi 6. Làm thế nào để thiết lập ngày/giờ hệ thống bằng lệnh date?
Để thiết lập ngày/giờ hệ thống thành một giá trị khác, hãy sử dụng tùy chọn dòng lệnh -s. Tùy chọn này yêu cầu một chuỗi sẽ được sử dụng làm đầu vào để thiết lập ngày/giờ hệ thống.
Mã:
date -s STRING
Sau đây là một ví dụ về cách chúng tôi sử dụng tùy chọn -s để thiết lập ngày và giờ cho hệ thống của mình:
Mã:
date -s "2017-06-27 14:53:00"
Câu hỏi 7. Làm thế nào để hiển thị thời gian hiện tại của một số vị trí khác?
Để lệnh 'date' hiển thị thời gian hiện tại của một số vị trí khác - chẳng hạn như Melbourne ở Úc - hãy sử dụng lệnh theo cách sau:
Mã:
TZ="Australia/Melbourne" date
Lưu ý: Bạn có thể sử dụng lệnh 'tzselect' để tìm giá trị bạn cần truyền cho TZ.
Câu hỏi 8. Làm thế nào để in hoặc thiết lập Giờ Phối hợp Quốc tế (UTC)?
Để thực hiện việc này, hãy sử dụng tùy chọn dòng lệnh -u. Ví dụ, lệnh sau sẽ hiển thị thông tin theo UTC:
Mã:
date -u