Cách tìm ngày hôm qua ở Bash

Cach Tim Ngay Hom Qua O Bash



Bourne Again Shell còn được gọi là đánh đi kèm với nhiều tiện ích dòng lệnh khác nhau để thao tác và tự động hóa các tác vụ. Một tiện ích như vậy là ngày lệnh, được sử dụng để lấy ngày/giờ và thao tác với nó. Sử dụng ngày lệnh, bạn cũng có thể lấy ngày hôm qua để sử dụng nó trong tập lệnh Bash.

Việc lấy ngày của ngày hôm qua có thể hữu ích để tạo báo cáo, quản lý dữ liệu và lập kế hoạch nhiệm vụ.







Trong hướng dẫn này, tôi sẽ khám phá cách sử dụng lệnh date để lấy ngày của ngày hôm qua trong Bash.



Lệnh ngày Bash là gì
Cách tìm ngày hôm qua trong Bash trên Linux
1. Tìm ngày hôm qua bằng cách sử dụng tùy chọn -d hoặc –date



Tìm ngày hôm qua bằng EPOCHSECONDS
Cách tìm ngày hôm qua trong Bash trên macOS
Phần kết luận





Lệnh ngày Bash là gì

Lệnh date trong Bash hiển thị ngày và giờ trong terminal. Nó cũng có thể được sử dụng để đặt, thay đổi hoặc in ngày và giờ ở các định dạng khác nhau. Lệnh date rất hữu ích để tự động hóa và lập lịch các tác vụ trong tập lệnh Bash.

Để có được ngày giờ hiện tại, chỉ cần gõ ngày trong thiết bị đầu cuối:



ngày



Để lấy ngày ở định dạng YYYY-MM-DD, hãy sử dụng lệnh sau:

ngày + '%Y/%m/%d'



Bạn có thể sử dụng dấu gạch ngang (-) thay cho dấu gạch chéo (/) trong lệnh trên.

Các ký tự điều khiển định dạng thường được sử dụng được liệt kê dưới đây:

%d Hiển thị ngày trong tháng; ví dụ: 02 hoặc 03.
%D Hiển thị ngày theo định dạng Tháng-Ngày-Năm.
%m Hiển thị tháng; ví dụ: 01-12
%TRONG Hiển thị ngày trong tuần: ví dụ: 1-7. 1 là thứ Hai, 4 là thứ Năm.
%TRONG Hiển thị số tuần trong năm. Ví dụ: 00-53, 00 là tuần đầu tiên trong năm, 01 là tuần thứ hai trong năm.
%j Hiển thị ngày trong năm; ví dụ: 001 là ngày đầu tiên của năm 366 là ngày cuối cùng.

Để biết thêm chi tiết, hãy thực hiện lệnh sau để truy cập trang hướng dẫn của lệnh date:

người đàn ông ngày


Một lựa chọn quan trọng khác đi kèm với ngày lệnh là -d hoặc - -ngày . Sử dụng các tùy chọn này, chúng ta có thể nhận được ngày trước đó, ngày trong tương lai và thậm chí cả ngày hôm qua. Các tùy chọn này được sử dụng để hiển thị thời gian dưới dạng chuỗi. Ví dụ:

ngày --ngày 'thứ bảy tuần trước'



Hoặc:

ngày -d 'thứ bảy tuần trước'



Các chuỗi khác mà tùy chọn -d hoặc –date có thể chấp nhận được đề cập bên dưới:

    • Ngày mai
    • Hôm qua
    • thứ bảy tuần trước
    • thứ bảy tới
    • tuần trước
    • tuần tới
    • năm ngoái
    • năm sau
    • X giây trước
    • X ngày trước
    • X tuần trước
    • X năm trước
    • X ngày
    • tuần X
    • năm X

Trong phần tiếp theo, tôi sẽ sử dụng -d - -ngày các tùy chọn để tìm ngày của ngày hôm qua.

Cách tìm ngày hôm qua trong Bash trên Linux

Để tìm ngày hôm qua ở Bash có nhiều cách. Tôi sẽ thảo luận về từng phương pháp:

    • Tìm ngày hôm qua bằng cách sử dụng tùy chọn -d hoặc –date
    • Tìm ngày hôm qua bằng EPOCHSECONDS

Ghi chú: Việc tìm ngày của ngày hôm qua phụ thuộc vào khả năng ghi ngày của hệ thống.

1. Tìm ngày hôm qua bằng cách sử dụng tùy chọn -d hoặc ––date

Để có được ngày hôm qua ở Bash, hãy sử dụng lệnh sau:

ngày -d '1 ngày trước'



Hoặc dùng:

ngày --ngày '1 ngày trước'



Các 1 ngày trước chuỗi cũng có thể được thay thế bằng -1 ngày.

ngày --ngày '-1 ngày'



Bạn cũng có thể định dạng ngày bằng cách sử dụng các ký tự định dạng.

ngày --ngày '1 ngày trước' + '%Y/%m/%d'



Một cách khác để lấy ngày hôm qua trong bash là sử dụng chuỗi ngày hôm qua với -d hoặc - -ngày tùy chọn.

ngày --ngày 'Hôm qua'



Để định dạng nó theo YYYY/MM/DD, hãy sử dụng lệnh sau:

ngày --ngày 'Hôm qua' + '%Y/%m/%d'


Hạn chế của tùy chọn -d hoặc –date trong Linux là gì

Các tùy chọn -d hoặc –date cung cấp cho bạn ngày hôm qua nhưng các tùy chọn này có một số hạn chế. Các lựa chọn này không xem xét Tiết kiệm thời gian ban ngày hoặc DST trong khi đưa ra đầu ra và dựa vào múi giờ hiện tại. Lệnh ngày chỉ cần trừ 24 giờ kể từ ngày và giờ hiện tại để đưa ra kết quả của ngày hôm qua, giúp loại bỏ việc xem xét DST.

Một cách tiếp cận để tránh tình trạng như vậy là sử dụng UTC (cờ -u), không dựa vào múi giờ địa phương để tính ngày của ngày hôm qua và đưa ra kết quả theo múi giờ cố định. Sử dụng cờ -u với lệnh ngày:

ngày -TRONG --ngày 'Hôm qua' + '%Y-%m-%d'


2. Tìm ngày hôm qua bằng EPOCHSECONDS

Ngày của ngày hôm qua cũng có thể được tìm thấy bằng cách sử dụng EPOCHSECONDS. Để tìm ngày của ngày hôm qua, hãy thực hiện lệnh sau:

printf -TRONG Hôm qua '%(%Y/%m/%d)T' $ ( ( KỶ NIỆM – 86400 ) )


Để in ngày chạy của ngày hôm qua:

tiếng vọng $ hôm qua



Lệnh này tính toán ngày của ngày trước đó bằng cách sử dụng EPOCHSECONDS và gán nó cho Hôm qua biến trong YYYY-MM-DD định dạng. EPOCHSECONDS là số giây kể từ ngày 1 tháng 1 năm 1970, trong đó 86400 biểu thị số giây mỗi ngày.

Cách tìm ngày hôm qua trong Bash trên macOS

Mặc dù macOS đi kèm với Zsh làm shell mặc định nhưng nhiều người vẫn thích Bash được sử dụng rộng rãi hơn. Lệnh ngày trong macOS không hỗ trợ Hôm qua cú pháp, do đó quy trình lấy ngày hôm qua trên macOS hơi khác một chút.

Trong macOS, ngày lệnh được sử dụng để tìm ngày của ngày hôm qua.

ngày -v-1d



Để có được ngày hôm qua ở định dạng cụ thể trên macOS, hãy sử dụng:

ngày -v-1d + '%Y/%m/%d'



Cờ -v được sử dụng để điều chỉnh ngày giờ; ví dụ: nếu bạn muốn ngày của ngày hôm trước, hãy sử dụng 1 ngày với một điểm trừ ( ) dấu hiệu. Để biết ngày cho ngày tiếp theo, chỉ cần sử dụng dấu cộng ( + ) dấu hiệu. Ở đây d đại diện cho các ngày từ 1-31. Để biết thêm chi tiết, hãy thực hiện lệnh sau trong terminal bash macOS:

người đàn ông ngày


Ghi chú: Cờ -v dành riêng cho macOS và có thể không hoạt động trên các hệ điều hành khác như Linux.

Phần kết luận

Bạn cần làm việc với ngày và giờ để lên lịch tác vụ, tạo báo cáo và sao lưu dữ liệu với tư cách quản trị viên hệ thống. Để có được ngày hôm qua trong hệ thống Linux, bạn có thể sử dụng lệnh date với -d hoặc - -ngày cờ. Trong macOS, lệnh ngày cũng được sử dụng nhưng có -TRONG cờ và số nguyên dương hoặc âm với d tính cách.