Lệnh date hiển thị ngày tháng và thời gian hiện tại. Nó cũng có thể được sử dụng để hiển thị một ngày trong một định dạng mà bạn chỉ định. User root có thể sử dụng nó để thiết lập hệ thống thời gian cho máy chủ. Sử dụng Khi không có tùy chọn nào, lệnh date hiển thị ngày tháng và thời gian hiện tại của hệ thống , bao gồm cả các thứ trong tuần, tháng, thời gian, múi giờ, và năm. Ví dụ: Mã: $ date Sat Nov 12 09:01:11 ICT 2016 Để xem dữ liệu của một ngày cụ thể, bạn có thể sử dụng tùy chọn -d. Ví dụ: Mã: $ date -d "2016-01-04" Mon Jan 4 00:00:00 EST 2016 date có rất nhiều tùy chọn hiển thị định dạng. Cung cấp lệnh date với chuỗi định dạng bằng cách đặt trước nó một dấu cộng như sau: Mã: $ date +"Week number: %V Year: %y" Week number: 45 Year: 16 Chuỗi định dạng sau đó có kết quả đầu ra là mỗi thẻ định dạng của nó được thay thế bằng giá trị do hệ thống tính toán. %V là tùy chọn định dạng để hiển thị số tuần hiện tại, và %y đại diện cho hai chữ số cuối cùng của năm. Tùy chọn định dạng Đây là một mẫu nhỏ của các tùy chọn định dạng hỗ trợ lệnh date: Mã: %a in ra tên viết tắt thứ trong tuần (e.g., Sun) %A in ra tên đầy đủ thứ trong tuần (e.g., Sunday) %b in ra tên viết tắt của tháng (e.g., Jan) %B in ra tên đầy đủ của tháng (e.g., January) %c in ra ngày tháng và thời gian (e.g., Thu Mar 3 23:05:25 2005) %F in ra ngày tháng đầy đủ theo định dạng %Y-%m-%d %s in ra số giây tính từ 00:00:00 01/01/1970 UTC Chạy date --help sẽ hiển thị danh sách các tùy chọn định dạng, trong khi lệnh man date sẽ chỉ cho bạn toàn bộ với chi tiết hơn. Ghi đè múi giờ Theo mặc định, date sử dụng múi giờ định nghĩa trong /etc/localtime. Biến môi trường TZ có thể được sử dụng để thay đổi. Ví dụ: Mã: $ TZ=GMT date Sat Nov 12 02:02:27 GMT 2016 Múi giờ hợp lệ được định nghĩa trong /usr/share/zoneinfo/. Các ví dụ Các ví dụ sau đây minh họa làm thế nào bạn có thể sử dụng lệnh date để tìm ngày và thời gian ở các thời điểm khác nhau trong thời gian. Mã: $ date -d now Sat Nov 12 09:02:58 ICT 2016 $ date -d today Sat Nov 12 09:03:02 ICT 2016 $ date -d yesterday Fri Nov 11 09:03:07 ICT 2016 $ date -d tomorrow Sun Nov 13 09:03:12 ICT 2016 $ date -d sunday Sun Nov 13 00:00:00 ICT 2016 $ date -d last-sunday Sun Nov 6 00:00:00 ICT 2016 Chuỗi thời gian và ngày hợp lệ khác bao gồm: last-week, next-week, last-month, next-month, last-year, and next-year. Số giây tính từ thời điểm 00:00:00 01/01/1970 (Seconds from epoch) date có công dụng đáng ngạc nhiên khác. Ví dụ sau đây sẽ cho bạn số giây từ second from epoch đến thời điểm hiện tại: Mã: $ date +%s 1478916255 Second from epoch đến thời gian được chỉ định: Mã: $ date -d "2016-01-04" + "%s" 1451840400 Chuyển đổi second from epoch tới một thời gian nào đó: Mã: $ date -d "UTC 1970-01-01 1451000400 secs" Fri Dec 25 06:40:00 ICT 2015 $ date -d @1451000400 Fri Dec 25 06:40:00 ICT 2015 Xác định thứ trong tuần của một ngày: Mã: $ date -d "2016-01-04" +"%A" Monday Sử dụng date trong script và lệnh Bạn có thể chỉ định các đầu ra của lệnh date cho một biến shell và sau đó sử dụng nó sau này trong script của bạn. Ví dụ: Mã: $ STARTTIME=`date` $ echo $STARTTIME Sat Nov 12 08:57:03 ICT 2016 $ sleep 5 $ echo $STARTTIME Sat Nov 12 08:57:03 ICT 2016 Bạn cũng có thể sử dụng date để tạo ra tên tập tin có chứa ngày hiện tại. Mã: tar cfz /backup-`date +%F`.tar.gz /home/caker/ Điều này sẽ tar và gzip các tập tin trong /home/caker/ vào tên tập tin gọi là backup-2016-11-12.tar.gz. Cài đặt ngày Thiết lập ngày không nên cần thiết nếu bạn đang chạy ntpd để giữ cho thời gian và múi giờ của bạn một cách chính xác. Tuy nhiên, nếu bạn thấy bạn cần phải thiết lập hệ thống thời gian, đây là một ví dụ: Mã: date --set="20161010 10:10"