NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
26/12/2024
Lượt xem

Lệnh printf trong Linux – Công cụ xuất dữ liệu linh hoạt

26/12/2024
13 phút đọc
Lượt xem

Đánh giá

Lệnh printf trong Linux cho phép bạn định dạng và hiển thị output theo ý muốn. Việc sử dụng thành thạo printf giúp bạn kiểm soát tốt hơn kết quả của script và chương trình. Hãy cùng mình tìm hiểu cách sử dụng lệnh printf qua một số ví dụ minh họa dễ hiểu dưới đây.

Những điểm chính

  • Hiểu rõ lệnh printf trong Linux: Bạn sẽ biết cách sử dụng lệnh printf để hiển thị dữ liệu với định dạng linh hoạt và rõ ràng.
  • Nắm vững cú pháp và các tùy chọn: Cung cấp cú pháp cơ bản và các tùy chọn của lệnh printf, giúp bạn áp dụng chính xác.
  • Khám phá các thông số định dạng: Bạn sẽ hiểu rõ các thông số định dạng của lệnh printf để tùy chỉnh output hiệu quả.
  • Hướng dẫn sử dụng lệnh printf qua các ví dụ minh họa: Bạn sẽ được cung cấp 8 ví dụ thực tế để dễ dàng nắm bắt cách áp dụng lệnh printf trong các tình huống cụ thể.
  • Vietnix – Đối tác tin cậy cho doanh nghiệp Việt.

Lệnh printf trong Linux là gì?

Printf là một lệnh trong Linux cho phép bạn định dạng và hiển thị dữ liệu một cách linh hoạt. Lệnh này hoạt động dựa trên việc áp dụng một chuỗi định dạng lên các đối số được cung cấp. Ngoài khả năng định dạng cơ bản, printf còn xử lý các chuỗi escape (bắt đầu bằng dấu gạch chéo ngược), đặt đối số trong dấu ngoặc kép để dùng trong shell và hiển thị ngày giờ. Mục đích chính của lệnh printf là tạo ra output được định dạng rõ ràng theo yêu cầu.

Lệnh printf trong Linux là lệnh hiển thị dữ liệu, ngày giờ và hỗ trợ chuỗi escape
Lệnh printf trong Linux là lệnh hiển thị dữ liệu, ngày giờ và hỗ trợ chuỗi escape

Cú pháp của lệnh printf

printf [-v var] FORMAT [arguments]

Trong đó:

  • printf: Lệnh hiển thị ra màn hình với định dạng.
  • [-v var]: Tùy chọn này cho phép gán output của lệnh printf vào một biến shell có tên là var thay vì hiển thị trực tiếp ra màn hình. 
  • FORMAT: Đây là chuỗi định dạng, bao gồm 3 loại đối tượng:
    • Ký tự thường: Được sao chép trực tiếp ra output.
    • Chuỗi escape: Các ký tự đặc biệt bắt đầu bằng dấu gạch chéo ngược, sẽ được chuyển đổi thành ký tự tương ứng rồi hiển thị ra output.
    • Chuỗi định dạng: Các ký tự đặc biệt bắt đầu bằng dấu phần trăm, mỗi chuỗi định dạng sẽ tương ứng với một argument và được thay thế bởi giá trị của argument đó.
  • [arguments]: Danh sách các đối số sẽ được định dạng và hiển thị ra dựa theo chuỗi FORMAT. Mỗi chuỗi định dạng trong FORMAT sẽ tương ứng với một đối số trong phần arguments.

Các tùy chọn của lệnh printf

Lệnh printf trong Linux chỉ có hai tùy chọn: -version-help. Hai tùy chọn này hiển thị thông tin liên quan đến lệnh printf chứ không tham gia vào chức năng định dạng và xuất output của lệnh. Dưới đây là bảng tóm tắt các tùy chọn của lệnh printf:

Tùy chọnChức năng
-versionHiển thị thông tin về phiên bản hiện tại của printf.
-helpHiển thị hướng dẫn sử dụng của lệnh printf.
Tùy chọn lệnh printf

Các thông số định dạng của lệnh printf

Thông số định dạng là một chuỗi ký tự xác định cách các đối số được hiển thị. Dưới đây là bảng tóm tắt một số thông số định dạng phổ biến của lệnh printf cùng với chức năng của chúng:

Thông số định dạngChức năng
%sĐọc input dưới dạng chuỗi ký tự.
%bTương tự %s nhưng sử dụng đối số để diễn giải các chuỗi escape.
%dHiển thị giá trị số nguyên.
%xHiển thị giá trị số thập lục phân.
%fHiển thị giá trị float (số thực).
Thông số định dạng

Cách sử dụng lệnh printf trong Linux

Để sử dụng lệnh printf trong Linux, bạn làm theo 2 bước sau:

Bước 1: Mở terminal Ubuntu.

Bước 2: Nhập lệnh sau và nhấn Enter:

printf "Hello, Linux.\n"

Kết quả: Khi thực hiện, lệnh printf sẽ hiển thị ra dòng chữ “Hello, Linux.” trên terminal. Ký tự \n trong chuỗi định dạng có tác dụng xuống dòng sau khi hiển thị xong.

Cách sử dụng lệnh
Cách sử dụng lệnh

Ví dụ 1: In chuỗi bằng lệnh printf trong Linux

Để hiển thị một chuỗi ký tự đại diện cho văn bản, bạn sử dụng lệnh printf theo sau là chuỗi định dạng %s. Ví dụ, để hiển thị một chuỗi với biến $LOGNAME, bạn chạy lệnh sau:

printf "Xin chào, đây là %s.\n" $LOGNAME

Kết quả: Lệnh này sẽ hiển thị chuỗi ra terminal, thay thế %s bằng giá trị của biến $LOGNAME. Ví dụ, nếu tên biến là nam, kết quả sẽ là Xin chào, đây là nam. và xuống dòng.

In chuỗi
In chuỗi

Ví dụ 2: Xử lí escape sequences dòng bằng lệnh printf

Bạn có thể sử dụng lệnh printf với ký tự định dạng %b để xử lý chuỗi nội dung có chứa ký tự thoát (escape sequence) cùng với đối số cho trước. Ký tự định dạng %b tương tự như %s, nhưng nó cho phép giải mã các ký tự thoát. Điều này sẽ cho phép văn bản được in ra trên nhiều dòng khác nhau. Ví dụ:

printf "Xin chào, \nđây \nlà \n%b.\n" $LOGNAME

Kết quả: Lệnh printf với thông số %b sẽ hiển thị chuỗi văn bản với các dấu xuống dòng và giải thích chuỗi escape phù hợp.

Diễn giải chuỗi escape
Diễn giải chuỗi escape

Một số chuỗi escape thường gặp:

Ký tựChức năng
\\Backslash
\tTab
\aAlert
\bLBackspace
\fForm feed
Một số chuỗi escape

Ví dụ 3: Định dạng giá trị số

Bạn có thể sử dụng lệnh printf để định dạng các giá trị số. Dưới đây là một vài trường hợp cụ thể:

3.1. Giá trị số nguyên

Để định dạng và hiển thị giá trị số nguyên, bạn sử dụng lệnh printf với định dạng %d. Ví dụ:

printf "%d\n" 123 0x7B 0173 123.00

Kết quả: Lệnh này sẽ định dạng và hiển thị các số nguyên từ các định dạng số khác nhau trên các dòng riêng biệt.

Giá trị số nguyên
Giá trị số nguyên

3.2. Giá trị float (số thực)

Để hiển thị giá trị số thực, bạn sử dụng lệnh printf với định dạng %f. %f là định dạng dành cho số thực, mặc định sẽ hiển thị ra số với 6 chữ số thập phân. Ví dụ:

printf "%f\n" 123 0x7B 0173 123.00
Giá trị float
Giá trị float

Bạn có thể giới hạn số chữ số thập phân bằng cách sử dụng định dạng %.<num>f, trong đó <num> là số chữ số thập phân bạn muốn hiển thị. Ví dụ: Để hiển thị ra số thực với 2 chữ số thập phân, bạn dùng lệnh sau:

printf "%.2f\n" 123 0x7B 0173 123.0
Giá trị số thập phân
Giá trị số thập phân

3.3. Giá trị số thập lục phân

Để định dạng và hiển thị giá trị số thập lục phân, bạn sử dụng lệnh printf với định dạng %X (chữ in hoa) hoặc %x (chữ in thường). Ví dụ, để chuyển đổi các giá trị input sang số thập lục phân in hoa, bạn sử dụng lệnh sau:

printf "%X\n" 123 0xff 0277
Giá trị số thập lục phân in hoa
Giá trị số thập lục phân in hoa

Để định dạng và hiển thị số thập lục phân ở dạng chữ thường, bạn sử dụng lệnh sau:

printf "%x\n" 123 0xff 0277
Giá trị số thập lục phân chữ thường
Giá trị số thập lục phân chữ thường

Ví dụ 4: In biến môi trường bằng lệnh printf trong Linux

Để hiển thị giá trị của một biến môi trường cụ thể, bạn có thể sử dụng lệnh printf như sau:

printf "%b\n" "Shell đang hoạt động hiện tại: "$SHELL

Kết quả: Lệnh này hiển thị giá trị của biến môi trường SHELL cho người dùng hiện tại. %b được sử dụng để diễn giải biến $SHELL một cách chính xác.

In biến môi trường
In biến môi trường

Ví dụ 5: In ngày và giờ bằng lệnh printf trong Linux

Để hiển thị ngày và giờ hiện tại, bạn có thể sử dụng lệnh printf kết hợp với lệnh date:

today="$(date)"
printf "Thời gian hôm nay: %s\n" "$today"

Giải thích:

  • today=”$(date)”: Gán ngày và giờ hiện tại cho biến today bằng lệnh date.
  • printf “Thời gian hôm nay: %s\n” “$today”: Hiển thị ngày và giờ hiện tại bằng printf, trong đó %s được thay thế bằng giá trị của biến today.

In ngày và giờ
In ngày và giờ

Ví dụ 6: Cộng hai số bằng lệnh printf trong Linux

Để cộng hai số, bạn có thể sử dụng lệnh printf như sau:

printf "200+55=%d\n" $((200+55))

Kết quả: Lệnh này tính tổng của hai số bằng biểu thức số học $((200+55)) và hiển thị kết quả bằng printf với định dạng %d.

Cộng hai số
Cộng hai số

Ví dụ 7: In số lượng thư mục

Để hiển thị tổng số thư mục trong thư mục hiện tại, bạn sử dụng lệnh printf kết hợp với lệnh lslệnh wc:

printf "Total directories are: %d\n" $(ls -d */ | wc -l)

Giải thích:

  • ls -d */: Liệt kê tất cả các thư mục trong thư mục hiện tại.
  • wc -l: Đếm số dòng kết quả từ ls.
  • printf “Total directories are: %d\n” …: Hiển thị tổng số thư mục, thay thế %d bằng kết quả đếm được.

In số lượng thư mục
In số lượng thư mục

Ví dụ 8: In ký tự đặc biệt (Unicode)

Để hiển thị ký tự Unicode (ví dụ độ C (℃)), bạn có thể sử dụng lệnh printf như sau:

temp=20
printf "Nhiệt độ hiện tại: %d\u2102\n" "$temperature"

Kết quả: Lệnh này in ký tự độ C bằng mã Unicode \u2102 và kết quả sẽ là nhiệt độ hiện tại: 20℃.

In ký tự đặc biệt
In ký tự đặc biệt

Vietnix – Đối tác tin cậy cho doanh nghiệp Việt

Với giá trị cốt lõi lấy thành công của khách hàng làm mục tiêu phục vụ, Vietnix tự hào là một trong những đơn vị uy tín trong ngành công nghệ, được vinh danh trong Top 10 Sản phẩm, Dịch vụ Xuất sắc 2022 – Giải thưởng Thương hiệu Việt Nam xuất sắc 2022.

Dịch vụ VPS AMD của Vietnix được thiết kế để đáp ứng nhu cầu vận hành ổn định và phát triển bền vững của doanh nghiệp. Với đa dạng hệ điều hành và hiệu năng mạnh mẽ nhờ CPU AMD EPYC thế hệ mới, dịch vụ VPS của Vietnix mang đến hiệu suất vượt trội cho các ứng dụng đòi hỏi tài nguyên mạnh mẽ. Đội ngũ kỹ thuật viên của Vietnix luôn sẵn sàng hỗ trợ 24/7, đảm bảo cung cấp dịch vụ đáng tin cậy và hiệu quả cho khách hàng.

Thông tin liên hệ:

  • Hotline: 18001093
  • Email: sales@vietnix.com.vn 
  • Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
  • Website: https://vietnix.vn/ 

Tóm lại, lệnh printf trong Linux là một công cụ cho phép bạn định dạng và hiển thị dữ liệu theo nhiều cách khác nhau. Việc nắm vững lệnh printf sẽ giúp bạn làm việc hiệu quả hơn trong môi trường Linux. Nếu bạn còn bất cứ thắc mắc nào về printf, bạn hãy bình luận bên dưới để được hỗ trợ.

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Banner group
Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

MAXSPEED HOSTING

TĂNG TỐC WEBSITE TOÀN DIỆN

CÔNG NGHỆ ĐỘC QUYỀN

PHẦN CỨNG MẠNH MẼ

HỖ TRỢ 24/7

ĐĂNG KÝ NGAY
Pattern

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

Icon
ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1

ĐĂNG KÝ DÙNG THỬ HOSTING

Asset

7 NGÀY MIỄN PHÍ

Asset 1
Icon
XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG