HƯỚNG DẪN Cách sử dụng lệnh date trên linux

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 12/11/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    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"
     
Tags:

Chia sẻ trang này

Đang tải...