Một trong những công cụ mạnh mẽ cho shell là dấu pipe (|). Dấu pipe lấy output từ câu lệnh này và dùng nó làm input cho câu lệnh kế tiếp. Trong một câu lệnh chúng ta có thể dùng bao nhiêu dấu pipes tuỳ thích, cho tới khi đạt được output bạn muốn xuất ra
Một trong những công dụng chủ yếu là lọc. Chúng ta dùng dấu pipe để lọc nội dung của một files lớn, để tìm một chuỗi hoặc một từ cụ thể (Kết hợp với công cụ grep và sort). Hãy quan sát ví dụ sau
cmd1 | cmd2
Cả cmd1 và cmd2 đều là công cụ dòng lệnh và có in kết quả ra màn hình, nhưng khi thêm dấu pipes vào thì thông tin của cmd1 không được in ra màn hình mà được chuyển thành input của cmd2
Lưu ý: Đừng nhầm dấu pipe (|) với dấu File Redirection (>) hay (<). Khi dùng dấu (>) hay (<) kết quả được in vào một files thay vì dùng làm input cho câu lệnh sau
Chúng ta cùng xem một số ví dụ cụ thể dưới đây
Mục lục
Kiểm tra network interface cards (NICs)
- Kiểm tra các NICs có IP bắt đầu bằng 192
ifconfig | grep 192 inet 192.168.1.96 netmask 255.255.255.0 broadcast 192.168.1.255
- Kiểm tra các NICs đang UP
ifconfig | grep UP enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
Kiểm tra phân quyền
Maybe you want to find out how many directories under /etc are writeable by root:
Bạn cần tìm có bao nhiêu thư mục con của thư mục etc mà root được quyền write. Chúng ta sẽ kết hợp giữa lệnh ls, lệnh grep để lọc các chuỗi có giá trị drwx và lệnh wc (Word Count) để đếm
sudo ls -lR | grep drwx | wc -l 285
Xác định các tiến trình
Để liệt kê hết các IDs (PIDs) của tất cả những tiến trình liên quan tới systemd
ps -ef | grep systemd | awk '{ print $2 }' 1 471 500 608 631 7449 7494 17242
Câu lệnh awk $2 để lọc thông tin ở cột thứ 2 của output. Ví dụ như một output đầy đủ dưới đây thì nó sẽ lọc ra cột PID là 17242
khess 17242 7505 0 09:40 pts/0 00:00:00 grep --color=auto systemd
Sắp xếp kết quả
Bạn có thể dùng kết hợp giữa lệnh cat và lệnh sort (Đã được nhắc tới trong bài: Hướng dẫn sử dụng câu lệnh sort để xử lí text trên Linux )
cat contacts.txt Bob Jones Leslie Smith Dana David Susan Gee Leonard Schmidt Linda Gray Terry Jones Colin Doe Jenny Case
Sắp xếp lại file text
cat contacts.txt | sort Bob Jones Colin Doe Dana David Jenny Case Leonard Schmidt Leslie Smith Linda Gray Susan Gee Terry Jones
Đảo ngược kết quả sắp xếp
cat contacts.txt | sort -r Terry Jones Susan Gee Linda Gray Leslie Smith Leonard Schmidt Jenny Case Dana David Colin Doe Bob Jones
Sắp xếp các text ở 2 cột
cat contacts.txt | sort -k2 Jenny Case Dana David Colin Doe Susan Gee Linda Gray Bob Jones Terry Jones Leonard Schmidt Leslie Smith
Bạn cũng có thể dùng kèm với uniq để lọc các line bị trùng
cat contacts.txt | sort -k2 | uniq > contact_list.txt
Blog VPS GPU
Giá thuê VPS GPU treo game 2023: Hướng dẫn thuê và cài đặt chi tiết
Bạn là một game thủ đam mê, luôn tìm kiếm trải nghiệm chơi game tối [...]
Blog Cloud VPS VPS GPU
Vì sao nên thuê VPS GPU tại Cloudzone
Trong vô số những nhà cung cấp dịch vụ thuê VPS GPU trên thị trường, [...]
Blog Cloud VPS VPS GPU
Giải đáp những thắc mắc về dịch vụ thuê VPS có GPU
Bạn đang tìm kiếm một giải pháp VPS mạnh mẽ và hiệu suất cao để [...]
Blog Cloud VPS
Bảng giá thuê VPS GPU mới nhất năm 2023
Trong thế giới công nghệ ngày nay, VPS (Virtual Private Server) có GPU đóng vai [...]
Cloud VPS Blog
VPS GPU: Đỉnh cao hiệu suất với lợi ích & ứng dụng vượt trội
Trong thế giới công nghệ đầy cạnh tranh hiện nay, việc nâng cao hiệu suất [...]
Cloud VPS
VPS có GPU và sức mạnh xử lý đồ họa, phân tích dữ liệu của nó
VPS có GPU là lựa chọn tuyệt vời cho việc xử lý đồ họa cao [...]