Hãy cải thiện quy trình dòng lệnh Linux của bạn bằng cách kết hợp nhiều lệnh lại với nhau bằng đầu vào/đầu ra tiêu chuẩn (Standard I/O).
Khi bạn sử dụng Linux, bạn có thể bắt gặp các tham chiếu đến “đầu vào/đầu ra tiêu chuẩn” (Standard I/O), “đầu vào tiêu chuẩn”, “đầu ra tiêu chuẩn” và “lỗi tiêu chuẩn” (standard error). Các thuật ngữ này có nghĩa là gì?
Đầu vào tiêu chuẩn
Đầu vào tiêu chuẩn là một thuật ngữ chỉ đầu vào mà chương trình dựa trên lệnh nhận được. Đầu vào thường đến từ bàn phím nhưng cũng có thể đến từ một tệp.
Mặc dù bàn phím ngày nay thường được cắm trực tiếp vào máy, khi các terminal dựa trên văn bản vẫn còn phổ biến, đầu vào tiêu chuẩn được lấy từ bàn phím terminal được kết nối với máy tính mini hoặc mainframe (máy tính lớn). Các hệ thống Linux hiện đại sử dụng terminal emulator (trình mô phỏng thiết bị đầu cuối) hoặc system console (bảng điều khiển hệ thống) cho đầu vào tiêu chuẩn.
Đầu ra tiêu chuẩn
Đầu ra tiêu chuẩn, giống như đầu vào tiêu chuẩn, là nơi một chương trình sẽ gửi đầu ra văn bản (text output) của nó. Cũng như với đầu vào tiêu chuẩn, trên các hệ thống hiện đại, nơi này thường là một terminal emulator nhưng trước đây cũng là trên các terminal vật lý, với màn hình CRT hoặc được in trên giấy bằng cách sử dụng teletypes.
Terminal Teletype phổ biến hơn khi tiền thân của Linux, Unix, được phát triển tại Bell Labs vào cuối những năm 1960 và đầu những năm 1970.
Giống như đầu vào tiêu chuẩn, bạn cũng có thể chuyển hướng đầu ra tiêu chuẩn đến một tệp.
Lỗi tiêu chuẩn
Lỗi tiêu chuẩn thường được sử dụng cho bất kỳ thông báo lỗi nào mà một chương trình có thể tạo ra. Như với đầu ra tiêu chuẩn, nó thường được hiển thị trên màn hình nhưng cũng có thể được chuyển hướng đến một tệp hoặc đến một thiết bị khối (block device) như /dev/null.
Cách chuyển hướng đầu vào và đầu ra trên Linux
Một trong những tính năng mạnh mẽ nhất của hệ thống Linux và Unix là khả năng chuyển hướng đầu vào và đầu ra tới các tệp và các chương trình khác.
Phương pháp được sử dụng rộng rãi nhất là gửi đầu ra từ lệnh này sang lệnh khác, hoặc “pipeline” (đường ống). Ví dụ: để xem có bao nhiêu lệnh Linux có “sh” trong tên của chúng, bạn có thể chuyển đầu ra của lệnh ls bằng grep.
Toán tử >> gắn kết quả đầu ra vào một tệp hiện có hoặc tạo nó nếu nó không tồn tại. Để tránh việc vô tình ghi đè lên một tệp, bạn có thể đặt tùy chọn (option) “noclobber” trong Bash:
set noclobber
Bạn cũng có thể yêu cầu một chương trình lấy đầu vào từ một tệp với toán tử <. Chương trình cat có thể in nội dung của tệp bằng cách lấy đầu vào từ tệp và gửi đầu ra đến đầu ra tiêu chuẩn.
cat < file
Tất nhiên, bạn có thể chỉ sử dụng cat và chỉ định đường dẫn tệp làm đối số, nhưng đây chỉ là một ví dụ.
Bạn có thể chuyển hướng lỗi tiêu chuẩn bằng cách sử dụng đặc tả tập tin (file descriptor) hoặc một số đại diện cho một trong các dạng của tiêu chuẩn I/0. Với các đặc tả tập tin, 0 là đầu vào tiêu chuẩn, 1 là đầu ra tiêu chuẩn và 2 là lỗi tiêu chuẩn. Cú pháp trong Bash là [file descriptor]>. Việc chuyển hướng lỗi tiêu chuẩn đến /dev/null sẽ rất hữu ích trong việc loại bỏ lỗi:
linux_command 2> /dev/null
Bạn có thể chuyển hướng cả đầu ra và đầu vào tiêu chuẩn cùng một lúc với &> , điều này rất hữu ích nếu bạn cần gửi email hoặc bài đăng trên diễn đàn mô tả sự cố bạn đang gặp phải với một chương trình:
linux_command &> file
Đầu vào/đầu ra tiêu chuẩn hoạt động mọi nơi
Ngay cả với các môi trường đồ họa hiện nay, đầu vào/đầu ra tiêu chuẩn vẫn quan trọng vì nó vẫn là giao diện phổ biến, từ desktop, máy chủ cho đến thiết bị di động, dựa trên văn bản ASCII.
Vân Nguyễn
Dịch từ: https://www.makeuseof.com/linux-standard-input-output/
Bạn có bao giờ tự hỏi quảng cáo sẽ ra sao trong thời đại công nghệ bùng nổ? Trí tuệ nhân tạo (AI) đang tái định hình ngành truyền thông, biến những ý tưởng sáng tạo thành chiến lược sắc...
Theo khảo sát từ Content Marketing Institute (2024), có tới 63% marketer cảm thấy áp lực vì không thể tạo đủ nội dung chất lượng với tốc độ cần thiết, trong khi 48% cho rằng họ thiếu công cụ và...
Chỉ trong 2 năm gần đây, tốc độ phát triển của AI trong lĩnh vực thiết kế tăng chóng mặt. Từ những công cụ chuyên nghiệp như Midjourney, DALL·E, Adobe Firefly đến các nền tảng phổ thông như Canva, Figma,...
Trong kỷ nguyên số, khi mọi chiến dịch đều cần tốc độ, sáng tạo và hiệu quả, AI (trí tuệ nhân tạo) đang dần trở thành cánh tay phải đắc lực cho các marketer. Thay vì mất hàng giờ để...
Trong kỷ nguyên số, trí tuệ nhân tạo (AI) không chỉ là một công cụ mà đã trở thành động lực định hình lại ngành marketing. Làm thế nào để nội dung không chỉ nổi bật giữa biển thông tin...
Trong bối cảnh công nghệ số phát triển mạnh mẽ, AI cho Content Marketing đã trở thành một công cụ quan trọng giúp các nhà tiếp thị tối ưu hóa chiến lược nội dung.
Trong thời đại số, khi mà nội dung video đang ngày càng trở thành “vua” của các nền tảng truyền thông, việc tạo ra những video chất lượng, hấp dẫn và cá nhân hóa là ưu tiên hàng đầu của...
Trong bối cảnh cạnh tranh số ngày càng gay gắt, AI automation cho digital marketing (N8N) đang trở thành công cụ then chốt giúp các doanh nghiệp tối ưu hóa chiến lược tiếp thị.
Bạn có bao giờ tự hỏi quảng cáo sẽ ra sao trong thời đại công nghệ bùng nổ? Trí tuệ nhân tạo (AI) đang tái định hình ngành truyền thông, biến những ý tưởng sáng tạo thành chiến lược sắc...
Theo khảo sát từ Content Marketing Institute (2024), có tới 63% marketer cảm thấy áp lực vì không thể tạo đủ nội dung chất lượng với tốc độ cần thiết, trong khi 48% cho rằng họ thiếu công cụ và...
Chỉ trong 2 năm gần đây, tốc độ phát triển của AI trong lĩnh vực thiết kế tăng chóng mặt. Từ những công cụ chuyên nghiệp như Midjourney, DALL·E, Adobe Firefly đến các nền tảng phổ thông như Canva, Figma,...
Trong kỷ nguyên số, khi mọi chiến dịch đều cần tốc độ, sáng tạo và hiệu quả, AI (trí tuệ nhân tạo) đang dần trở thành cánh tay phải đắc lực cho các marketer. Thay vì mất hàng giờ để...
Trong kỷ nguyên số, trí tuệ nhân tạo (AI) không chỉ là một công cụ mà đã trở thành động lực định hình lại ngành marketing. Làm thế nào để nội dung không chỉ nổi bật giữa biển thông tin...
Trong bối cảnh công nghệ số phát triển mạnh mẽ, AI cho Content Marketing đã trở thành một công cụ quan trọng giúp các nhà tiếp thị tối ưu hóa chiến lược nội dung.
Trong thời đại số, khi mà nội dung video đang ngày càng trở thành “vua” của các nền tảng truyền thông, việc tạo ra những video chất lượng, hấp dẫn và cá nhân hóa là ưu tiên hàng đầu của...
Trong bối cảnh cạnh tranh số ngày càng gay gắt, AI automation cho digital marketing (N8N) đang trở thành công cụ then chốt giúp các doanh nghiệp tối ưu hóa chiến lược tiếp thị.
Đăng ký nhận bản tin
Nhận bản tin, báo cáo từ các chuyên gia hàng đầu về lĩnh vực Công nghệ thông tin mới nhất!
×
×
Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
info@funix.edu.vn
0782313602 (Zalo, Viber)
FUNiX V2 GenAI Chatbot×
yêu cầu gọi lại
Yêu cầu FUNiX gọi lại để hỗ trợ thông tin, chương trình học, chỉ tiêu - điều kiện tuyển sinh - học phí,... hoàn toàn FREE
Bình luận (
)