Thứ Hai, 22 tháng 9, 2014

[Linux] Tìm hiểu Pipes và Redirection command line

Nguồn tham khảo:
  • http://www.maketecheasier.com/pipes-redirection-for-linux-command-line/
  • http://linuxcommand.org/lts0060.php
Thường thì output của các chương trình thực hiện bằng command line được tự động ghi ra màn hình console. Mục đích chung của Redirection và Pipes là cho phép output của 1 chương trình được ghi ra file hay gửi đến 1 chương trình khác.

Pipes "|"
Cho phép output của 1 command trở thành input của 1 command khác.
Ví dụ: lệnh "more" thực hiện phân trang kết quả nằm trên 1 màn hình (hay 1 trang), nếu kết quả hiển thị nhiều hơn, sử dụng SPACE bar để xem kết quả ở màn hình tiếp theo (hay trang kế tiếp).
ls -la /dev | more
Lệnh "ls -la /dev" sẽ liệt kê ra chi tiết tất cả các file trong thư mục /dev. Danh sách kết quả này sẽ là đầu vào cho lệnh "more" để tiến hành phân trang.

Redirection ">" hoặc ">>"
Tương tự như pipes nhưng ghi ra file thay vì làm input đầu vào cho lệnh khác. Sử dụng ký hiệu ">" để ghi output ra file mới (nếu file đó chưa tồn tại sẽ tạo mới, nếu đã tồn tại rồi sẽ thực hiện ghi đè). Ký hiệu ">>" dùng để thêm vào (append) file.
Ví dụ:
ls -la > listing.txt
Ghi tất cả các file tại thư mục hiện hành vào file listing.txt
Có thể sử dụng trick sau để tạo ra file bất kỳ
cat > newfile.txt

Không có nhận xét nào:

Đăng nhận xét