Bạn có bao giờ đang làm việc trên terminal Linux và muốn xem nhanh lịch để kiểm tra một ngày cụ thể mà không muốn rời khỏi giao diện dòng lệnh không? Việc mở một ứng dụng lịch đồ họa có thể làm gián đoạn luồng công việc của bạn. Rất may, Linux cung cấp một công cụ nhỏ gọn nhưng vô cùng mạnh mẽ cho nhu cầu này. Đó chính là lệnh cal. Tuy nhiên, nhiều người dùng mới, và ngay cả những người đã có kinh nghiệm, thường chưa khai thác hết tiềm năng của lệnh đơn giản này. Họ có thể chỉ biết cách hiển thị tháng hiện tại mà bỏ lỡ nhiều tùy chọn hữu ích khác. Bài viết này được tạo ra để trở thành kim chỉ nam toàn diện của bạn. Chúng tôi sẽ hướng dẫn bạn từ những khái niệm cơ bản nhất như lệnh cal là gì, cú pháp ra sao, cho đến các tùy chọn nâng cao để tùy chỉnh hiển thị và thậm chí kết hợp với các lệnh khác để tự động hóa công việc. Hãy cùng khám phá cách làm chủ công cụ quản lý thời gian tiện lợi này nhé!
Giới thiệu về lệnh cal trong Linux
Bạn có biết trong Linux là gì có một lệnh đơn giản giúp hiển thị lịch trực tiếp trên terminal không? Đây là một công cụ cực kỳ tiện lợi, giúp bạn tiết kiệm thời gian và duy trì sự tập trung khi làm việc. Tuy nhiên, vấn đề là nhiều người dùng chưa nắm rõ cách dùng lệnh cal để xem lịch theo đúng nhu cầu của mình. Họ có thể chỉ biết lệnh cơ bản mà bỏ qua các tùy chọn mạnh mẽ khác.
Bài viết này sẽ là giải pháp cho bạn. Chúng tôi sẽ hướng dẫn chi tiết cách sử dụng lệnh cal và các tùy chọn cơ bản nhất. Cấu trúc bài viết sẽ đi từ giới thiệu tổng quan, cú pháp, các tùy chọn hiển thị, cho đến những ví dụ thực tế và các mẹo sử dụng hiệu quả. Mục tiêu là giúp bạn làm chủ hoàn toàn lệnh cal, biến nó thành một công cụ không thể thiếu trong bộ kỹ năng Linux của mình. Hãy cùng bắt đầu hành trình khám phá lệnh nhỏ gọn nhưng đầy sức mạnh này.
Tổng quan về lệnh cal trong Linux
Trước khi đi sâu vào các ví dụ và tùy chọn phức tạp, điều quan trọng là phải xây dựng một nền tảng vững chắc. Trong phần này, chúng ta sẽ tìm hiểu những khái niệm cốt lõi nhất về lệnh cal, bao gồm định nghĩa và vai trò của nó trong hệ điều hành Linux, cũng như cấu trúc cú pháp cơ bản để bạn có thể bắt đầu sử dụng ngay lập tức.

H3: Lệnh cal là gì?
Lệnh cal, viết tắt của “calendar” (lịch), là một tiện ích dòng lệnh tiêu chuẩn trên các hệ điều hành dựa trên Unix, bao gồm cả Unix là gì và Linux. Chức năng chính và duy nhất của nó rất đơn giản: hiển thị một cuốn lịch được định dạng gọn gàng ngay trong cửa sổ terminal của bạn. Thay vì phải chuyển đổi qua lại giữa các ứng dụng đồ họa, bạn có thể truy cập thông tin ngày tháng một cách nhanh chóng và hiệu quả.
Vai trò của lệnh cal không chỉ dừng lại ở việc xem ngày. Đối với các quản trị viên hệ thống, lập trình viên, hay bất kỳ ai thường xuyên làm việc với dòng lệnh, cal là một công cụ giúp quản lý thời gian và lập kế hoạch công việc mà không làm gián đoạn sự tập trung. Bạn có thể nhanh chóng kiểm tra một ngày trong quá khứ hoặc tương lai, xác định ngày trong tuần cho một sự kiện, hoặc sử dụng kết quả của nó làm đầu vào cho các script tự động hóa. Sự đơn giản chính là sức mạnh lớn nhất của cal.
H3: Cú pháp sử dụng cơ bản của lệnh cal
Để sử dụng lệnh cal, bạn cần nắm rõ cú pháp của nó. May mắn là cấu trúc lệnh rất trực quan và dễ nhớ, giúp bạn nhanh chóng áp dụng vào công việc hàng ngày. Cú pháp chung của lệnh cal như sau:
cal [tùy chọn] [tháng] [năm]
Hãy cùng phân tích chi tiết từng thành phần trong cú pháp này:
- cal: Đây là tên lệnh mà bạn cần gõ để thực thi chương trình.
- [tùy chọn]: Đây là các tham số không bắt buộc, thường bắt đầu bằng dấu gạch ngang (ví dụ:
-m, -y). Các tùy chọn này cho phép bạn thay đổi cách lịch được hiển thị, chẳng hạn như bắt đầu tuần từ thứ Hai hoặc hiển thị số tuần.
- [tháng]: Một số nguyên từ 1 đến 12, đại diện cho tháng bạn muốn xem (1 cho tháng Một, 2 cho tháng Hai, v.v.). Đây là một tham số không bắt buộc.
- [năm]: Một số nguyên có bốn chữ số đại diện cho năm bạn muốn xem (ví dụ: 1995, 2024). Đây cũng là một tham số không bắt buộc.
Nếu bạn chỉ gõ cal mà không có bất kỳ tham số nào, lệnh sẽ tự động hiển thị lịch của tháng hiện tại. Nếu bạn chỉ cung cấp năm, nó sẽ hiển thị lịch cho cả năm đó. Nếu bạn cung cấp cả tháng và năm, nó sẽ hiển thị lịch cho tháng cụ thể đó.
Các tùy chọn hiển thị lịch tháng và năm
Sức mạnh thực sự của lệnh cal nằm ở khả năng tùy chỉnh hiển thị để phù hợp với nhu cầu cụ thể của bạn. Bạn không chỉ bị giới hạn ở việc xem tháng hiện tại. Trong phần này, chúng ta sẽ khám phá cách hiển thị lịch mặc định và cách xem lịch cho bất kỳ tháng hoặc năm nào bạn muốn, kèm theo các ví dụ minh họa rõ ràng.

H3: Hiển thị lịch tháng mặc định
Cách sử dụng đơn giản nhất và có lẽ là phổ biến nhất của lệnh cal là gọi nó mà không cần bất kỳ đối số hay tùy chọn nào. Khi bạn mở terminal và chỉ cần gõ lệnh sau rồi nhấn Enter, kết quả sẽ ngay lập tức xuất hiện.
cal
Lệnh này sẽ tự động lấy thông tin ngày giờ từ hệ thống của bạn và hiển thị lịch của tháng hiện tại. Không chỉ vậy, ngày hiện tại sẽ được làm nổi bật (thường là bằng cách đảo ngược màu nền hoặc thay đổi màu chữ) để bạn có thể dễ dàng xác định vị trí. Đây là một cách cực kỳ nhanh chóng để kiểm tra xem hôm nay là thứ mấy hoặc xem tổng quan các ngày trong tháng mà không cần một cú nhấp chuột nào.
H3: Xem lịch theo năm hoặc tháng tùy chỉnh
Ngoài việc xem tháng hiện tại, lệnh cal cho phép bạn “du hành thời gian” để xem lịch của bất kỳ thời điểm nào. Điều này rất hữu ích khi bạn cần lên kế hoạch cho tương lai hoặc tra cứu một ngày trong quá khứ. Cú pháp để làm điều này rất linh hoạt.
Để xem lịch của một tháng cụ thể trong một năm nhất định, bạn chỉ cần cung cấp tháng và năm làm đối số. Ví dụ, để xem lịch tháng 12 năm 2025, bạn sử dụng lệnh:
cal 12 2025
Nếu bạn muốn xem toàn bộ lịch của một năm, bạn chỉ cần cung cấp năm đó. Lệnh sẽ hiển thị một lưới gồm 12 tháng, giúp bạn có cái nhìn tổng quan về cả năm. Ví dụ, để xem toàn bộ lịch năm 2024:
cal 2024

Bằng cách kết hợp các đối số này, bạn có thể dễ dàng truy cập bất kỳ thông tin lịch nào mình cần. Chẳng hạn, xem lịch tháng sinh nhật của bạn vào năm bạn ra đời, hoặc kiểm tra xem một ngày lễ trong tương lai sẽ rơi vào thứ mấy. Sự linh hoạt này biến cal thành một công cụ không thể thiếu cho việc tra cứu nhanh.
Cách linh hoạt xem lịch theo nhu cầu trên terminal
Lệnh cal không chỉ dừng lại ở việc hiển thị lịch theo tháng và năm. Nó còn cung cấp các tùy chọn giúp bạn tùy chỉnh định dạng hiển thị và thậm chí kết hợp với các công cụ dòng lệnh khác để xử lý dữ liệu. Phần này sẽ hướng dẫn bạn cách làm cho tuần bắt đầu từ thứ Hai và cách “pipe” đầu ra của cal vào các lệnh khác cho những tác vụ nâng cao.
H3: Hiển thị tuần bắt đầu từ thứ Hai
Theo mặc định ở nhiều hệ thống, đặc biệt là các hệ thống có cài đặt ngôn ngữ là tiếng Anh (Mỹ), lịch do lệnh cal tạo ra sẽ bắt đầu tuần vào Chủ Nhật. Tuy nhiên, ở Việt Nam và nhiều quốc gia khác, tuần làm việc thường bắt đầu vào thứ Hai. Điều này có thể gây ra một chút nhầm lẫn. May mắn là cal cung cấp một tùy chọn đơn giản để thay đổi điều này.
Bằng cách sử dụng tùy chọn -m (viết tắt của Monday – thứ Hai), bạn có thể yêu cầu cal hiển thị lịch với cột đầu tiên là thứ Hai. Ví dụ, để xem lịch tháng 10 năm 2024 với tuần bắt đầu từ thứ Hai, bạn gõ lệnh:
cal -m 10 2024

Lợi ích của việc này là lịch hiển thị trên terminal sẽ đồng bộ với cách bạn nhìn nhận tuần làm việc trong thực tế. Điều này giúp bạn đọc lịch nhanh hơn, tránh nhầm lẫn khi sắp xếp các cuộc hẹn hay lên kế hoạch công việc, đặc biệt là khi xác định các ngày cuối tuần.
H3: Tùy chỉnh hiển thị lịch và kết hợp với các lệnh khác
Một trong những triết lý cốt lõi của Linux là mỗi công cụ làm tốt một việc và có thể kết hợp với nhau. Lệnh cal cũng không ngoại lệ. Bạn có thể lấy đầu ra văn bản của cal và sử dụng nó làm đầu vào cho các lệnh khác thông qua cơ chế “pipe” (dấu sổ thẳng |). Điều này mở ra vô số khả năng tùy chỉnh và tự động hóa.
Ví dụ, giả sử bạn muốn tìm tất cả các ngày 15 trong năm 2024 và xem chúng rơi vào thứ mấy. Bạn có thể kết hợp cal với lệnh grep (một công cụ tìm kiếm văn bản) như sau:
cal 2024 | grep "15"

Lệnh này sẽ hiển thị lịch cả năm 2024, sau đó grep sẽ lọc và chỉ giữ lại những dòng chứa chuỗi “15”. Kết quả là một danh sách các ngày 15 trong mỗi tháng, giúp bạn dễ dàng theo dõi. Trong công việc hàng ngày, bạn có thể viết một script nhỏ để tự động kiểm tra xem ngày báo cáo tiếp theo có rơi vào cuối tuần hay không, bằng cách phân tích đầu ra của cal. Khả năng kết hợp này biến cal từ một công cụ xem lịch đơn giản thành một phần của một quy trình làm việc tự động và mạnh mẽ. Đây là cách tận dụng triệt để các lệnh trên Bash là gì để nâng cao hiệu suất công việc.
Các ví dụ thực tế sử dụng lệnh cal
Lý thuyết sẽ trở nên dễ hiểu hơn rất nhiều khi được áp dụng vào thực tế. Trong phần này, chúng ta sẽ đi qua ba ví dụ cụ thể, từ đơn giản đến kết hợp các tùy chọn, để bạn có thể thấy rõ cách lệnh cal hoạt động và cách áp dụng nó vào các tình huống hàng ngày một cách hiệu quả.
H3: Ví dụ đơn giản hiển thị lịch tháng hiện tại
Đây là trường hợp sử dụng cơ bản nhất. Bạn đang làm việc và chỉ muốn biết hôm nay là ngày bao nhiêu, thứ mấy, hoặc xem qua các ngày trong tháng này. Thay vì tìm kiếm ứng dụng lịch, bạn chỉ cần mở terminal và gõ:
cal

Ngay lập tức, một cuốn lịch nhỏ cho tháng hiện tại sẽ xuất hiện. Ngày hôm nay sẽ được làm nổi bật, giúp bạn định vị ngay lập tức. Thao tác này chỉ mất vài giây và giữ bạn luôn ở trong môi trường dòng lệnh, duy trì sự tập trung tối đa vào công việc.
H3: Hiển thị toàn bộ lịch năm 2024
Giả sử bạn đang lên kế hoạch cho các kỳ nghỉ hoặc các dự án lớn trong năm 2024. Bạn cần một cái nhìn tổng quan về tất cả các tháng để sắp xếp công việc hợp lý. Lệnh cal giúp bạn thực hiện điều này một cách dễ dàng. Chỉ cần cung cấp năm làm đối số:
cal 2024

Kết quả là một bảng hiển thị lịch của cả 12 tháng, từ tháng 1 đến tháng 12 của năm 2024. Bạn có thể nhanh chóng xem các ngày lễ lớn sẽ rơi vào thứ mấy, hoặc lên kế hoạch cho các chuyến đi dài ngày mà không cần phải lật giở từng tháng trên một ứng dụng lịch thông thường. Đây cũng là cách giúp tăng cường kiến thức khi tìm hiểu về Hệ điều hành Ubuntu là gì và các tính năng quản lý thời gian liên quan.
H3: Xem lịch tháng 9 năm 2023 và hiển thị tuần bắt đầu từ thứ Hai
Đây là một ví dụ kết hợp cả việc tra cứu một ngày cụ thể trong quá khứ và tùy chỉnh định dạng hiển thị. Giả sử bạn cần kiểm tra lại lịch làm việc của tháng 9 năm 2023 và bạn đã quen với việc xem lịch bắt đầu từ thứ Hai. Lệnh dành cho bạn là:
cal -m 9 2023

Lệnh này sẽ hiển thị chính xác lịch của tháng 9 năm 2023. Đồng thời, nhờ có tùy chọn -m, cột đầu tiên của lịch sẽ là “Mo” (Monday), giúp bạn đọc lịch theo đúng thói quen của mình. Ví dụ này cho thấy sự linh hoạt của cal khi bạn kết hợp các đối số và tùy chọn để nhận được kết quả chính xác theo ý muốn.
Các vấn đề thường gặp và cách khắc phục
Mặc dù lệnh cal rất đơn giản và đáng tin cậy, đôi khi bạn có thể gặp phải một số sự cố nhỏ. Các vấn đề này thường liên quan đến cấu hình hệ thống hoặc việc thiếu gói phần mềm cần thiết. Dưới đây là hai vấn đề phổ biến nhất và cách để bạn có thể tự mình khắc phục chúng một cách nhanh chóng.

H3: Lệnh cal không hiển thị đúng định dạng hoặc lịch
Đôi khi, bạn có thể thấy rằng đầu ra của lệnh cal trông kỳ lạ, với các ký tự bị lỗi hoặc định dạng ngày tháng không như mong đợi. Nguyên nhân chính của vấn đề này thường là do cài đặt locale của hệ thống không chính xác hoặc terminal của bạn không hỗ trợ đúng bộ ký tự UTF-8.
Locale là một tập hợp các tham số định nghĩa ngôn ngữ, quốc gia, và các thiết lập đặc biệt khác cho giao diện người dùng. Để khắc phục, đầu tiên hãy kiểm tra locale hiện tại của bạn bằng lệnh locale. Nếu bạn thấy các cảnh báo hoặc các giá trị không được đặt, bạn cần cấu hình lại nó. Trên hầu hết các hệ thống, bạn có thể đặt locale bằng cách chỉnh sửa tệp /etc/locale.conf hoặc sử dụng lệnh export LANG="en_US.UTF-8" trong phiên terminal hiện tại để kiểm tra. Đảm bảo rằng bạn đã tạo locale cần thiết trên hệ thống của mình (ví dụ: bằng locale-gen). Việc thiết lập đúng locale không chỉ sửa lỗi cho cal mà còn cho nhiều ứng dụng dòng lệnh khác như Bash là gì.
H3: Lỗi không tìm thấy lệnh cal
Một lỗi phổ biến khác, đặc biệt trên các hệ thống được cài đặt tối thiểu (minimal installation), là khi bạn gõ cal và nhận được thông báo lỗi như “bash: cal: command not found” (lệnh không được tìm thấy). Điều này đơn giản có nghĩa là tiện ích cal chưa được cài đặt trên hệ thống của bạn.
Lệnh cal không phải là một gói độc lập mà thường đi kèm trong một bộ sưu tập các tiện ích khác. Tùy thuộc vào bản phân phối Linux bạn đang sử dụng, bạn có thể cài đặt nó bằng trình quản lý gói của mình.
- Trên các hệ thống dựa trên Debian/Ubuntu,
cal nằm trong gói bsdmainutils. Bạn có thể cài đặt bằng lệnh: sudo apt-get update && sudo apt-get install bsdmainutils
- Trên các hệ thống dựa trên RHEL/CentOS/Fedora,
cal là một phần của gói util-linux. Gói này thường được cài đặt mặc định, nhưng nếu thiếu, bạn có thể cài đặt bằng lệnh: sudo dnf install util-linux
Sau khi cài đặt xong, bạn có thể chạy lại lệnh cal và nó sẽ hoạt động như mong đợi.
Các lưu ý và best practices khi sử dụng lệnh cal
Để khai thác tối đa hiệu quả của lệnh cal và tích hợp nó một cách mượt mà vào quy trình làm việc của bạn, có một vài lưu ý và phương pháp hay nhất bạn nên ghi nhớ. Những mẹo nhỏ này sẽ giúp bạn sử dụng công cụ này một cách thông minh và chuyên nghiệp hơn.
- Sử dụng cal để nhanh chóng xem lịch mà không cần chuyển ứng dụng: Đây là lợi ích lớn nhất. Hãy tập thói quen dùng
cal cho những lần tra cứu nhanh. Việc này giúp bạn tiết kiệm thời gian và giữ dòng suy nghĩ không bị gián đoạn, thay vì phải rời tay khỏi bàn phím để dùng chuột mở một ứng dụng khác.
- Luôn kiểm tra
locale để lịch hiển thị đúng ngôn ngữ và định dạng: Nếu bạn làm việc trên nhiều máy chủ hoặc môi trường khác nhau, hãy đảm bảo rằng locale được cấu hình nhất quán. Điều này giúp lịch luôn hiển thị theo định dạng (ví dụ: tuần bắt đầu từ thứ Hai) và ngôn ngữ mà bạn quen thuộc, tránh những nhầm lẫn không đáng có.
- Không nên dùng cal cho mục đích lịch phức tạp, dùng công cụ chuyên biệt nếu cần: Lệnh cal rất tuyệt vời cho việc hiển thị lịch, nhưng nó không phải là một công cụ quản lý sự kiện hay lập kế hoạch. Nếu bạn cần đặt lịch hẹn, tạo lời nhắc, hay chia sẻ lịch với người khác, hãy sử dụng các công cụ chuyên dụng như Google Calendar, Outlook, hoặc các ứng dụng lịch nâng cao khác trên Linux.
- Kết hợp cal với các lệnh shell để tự động hóa các tác vụ liên quan đến ngày tháng: Đừng chỉ xem cal như một công cụ độc lập. Hãy nghĩ về cách bạn có thể kết hợp nó với Bash là gì,
grep, awk, hoặc các vòng lặp trong script shell. Ví dụ, bạn có thể viết một script tự động tạo một báo cáo hàng tháng và đặt tên tệp chứa ngày tháng được lấy từ đầu ra của cal và date.
Bằng cách tuân thủ những nguyên tắc này, bạn sẽ biến cal từ một lệnh đơn giản thành một trợ thủ đắc lực trong công việc hàng ngày trên môi trường dòng lệnh.

Kết luận
Qua bài viết này, chúng ta đã cùng nhau khám phá lệnh cal trong Linux, một công cụ tuy nhỏ bé nhưng lại vô cùng hữu ích. Từ việc hiển thị lịch tháng hiện tại một cách nhanh chóng, tra cứu lịch của bất kỳ năm nào trong quá khứ hay tương lai, cho đến việc tùy chỉnh định dạng hiển thị tuần bắt đầu từ thứ Hai, cal đã chứng tỏ được sự linh hoạt và tiện lợi của mình. Khả năng kết hợp với các lệnh khác như grep còn mở ra nhiều tiềm năng tự động hóa, giúp bạn xử lý các tác vụ liên quan đến ngày tháng một cách hiệu quả ngay trên terminal.
Việc làm chủ những công cụ dòng lệnh như cal không chỉ giúp bạn tiết kiệm thời gian mà còn nâng cao kỹ năng làm việc trong môi trường Linux là gì. Tôi khuyến khích bạn hãy mở ngay cửa sổ terminal của mình và thử các lệnh đã được giới thiệu trong bài viết. Thực hành chính là cách tốt nhất để ghi nhớ và biến kiến thức thành kỹ năng thực tế. Đừng ngần ngại khám phá thêm, vì trong thế giới Linux còn rất nhiều lệnh hữu ích khác liên quan đến thời gian như date hay timedatectl đang chờ bạn chinh phục.