Nối hai lệnh bằng đường ống
Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 44 trên 82.
Giờ bạn đã hiểu pipe dùng để làm gì, hãy cùng xem cách sử dụng pipe hiệu quả với hai lệnh. Điều quan trọng là chọn các lệnh phối hợp tốt với nhau, sao cho đầu ra của lệnh đầu tiên phù hợp làm đầu vào cho lệnh thứ hai.
Một cách kết hợp phổ biến là dùng ls với wc -l để đếm số tệp:
ls | wc -lLệnh ls liệt kê các tệp, mỗi tệp trên một dòng, còn wc -l đếm số dòng đó. Kết quả là số tệp trong thư mục hiện tại.
Một cách kết hợp hữu ích khác là dùng cat cùng với head để xem trước một tệp:
cat longfile.txt | head -5Lệnh này chỉ hiển thị 5 dòng đầu tiên của tệp. Bạn cũng có thể dùng trực tiếp head -5 longfile.txt, nhưng việc chuyển dữ liệu qua pipe trở nên cần thiết khi lệnh đầu tiên tạo ra đầu ra không chỉ đơn thuần là đọc một tệp.
Ví dụ, kết hợp ls -l với head:
ls -l | head -3Thao tác này hiển thị thông tin chi tiết của chỉ một vài mục đầu tiên trong thư mục. Dấu gạch đứng kết hợp hai lệnh đơn giản thành một thao tác mạnh mẽ hơn.
Thử thách
DễDùng pipe để chỉ hiển thị 4 dòng đầu tiên của messages.txt bằng một lệnh.
Chạy một lệnh có các bước sau:
- Dùng
catđể đọcmessages.txt - Chuyển đầu ra đến
head -4để chỉ hiển thị 4 dòng đầu tiên
Gợi ý: Kết nối hai lệnh bằng ký hiệu
|. Đầu ra củacattrở thành đầu vào chohead.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Thư mục
Tạo thư mụcSao chép thư mụcDi chuyển và đổi tên thư mụcXóa thư mụcÔn tập: thao tác với thư mục2Điều hướng
In đường dẫn thư mục hiện tạiLiệt kê tệpChuyển thư mụcĐường dẫn tuyệt đối và tương đốiThư mục chính và thư mục gốcÔn tập: tìm đường8Chuyển hướng
Đầu ra chuẩnGhi đè vào tệpGhi thêm vào tệpĐầu vào chuẩnLỗi chuẩnÔn tập: Công cụ tạo nhật ký6Ký tự đại diện và mẫu
Ký tự đại diện dấu saoKý tự đại diện dấu hỏiKý tự đại diện trong ngoặc vuôngKết hợp ký tự đại diệnÔn tập: thao tác có chọn lọc9Đường ống
Đường ống là gìNối hai lệnh bằng đường ốngNối nhiều lệnh bằng đường ốngDùng đường ống với grepÔn tập: luồng xử lý dữ liệuTự luyện tập: Playground Terminal