40
Cơ bản về quản trị Linux
Trong trường hợp này, ls -s thường in ra danh sách của thư mục hiện thời trên thiết
bị đầu cuối, với kích thước mỗi tệp ở đầu. Nhưng thay vì như thế chúng ta dẫn đầu ra vào
sort -n
, mà sắp xếp đầu ra theo số. Đây là một cách có ích để tìm tệp tin lớn trong thư
mục nhà của bạn!
Các ví dụ sau có phức tạp hơn, nhưng chúng cho thấy sức mạnh của việc sử dụng thạo
ống. Chúng tôi sẽ sử dụng một vài câu lệnh mà chưa đề cập đến, nhưng đừng để nó làm
bạn chậm lại. Tập trung chú ý hiểu cách ống làm việc, bạn có thể dùng chúng trong tác vụ
Linux hàng ngày.
3.4.3
Ống giải nén
Thông thường để giải nén và bung ra một tệp, có thể làm như sau:
$ bzip2 -d linux-2.4.16.tar.bz2
$ tar xvf linux-2.4.16.tar
Mặt kém của phương pháp này là đòi hỏi phải tạo ra một tệp tin không bị nén trên đĩa.
Vì tar có khả năng đọc trực tiếp từ đầu vào của nó (thay vì chỉ ra một tệp), ta có thể cho
ra một kết quả tương tự sử dụng ống:
$ bzip2 -dc linux-2.4.16.tar.bz2 | tar xvf -
Ô hô! "Quả bóng" nén đã được bung ra mà không cần thiết một tệp tin trung gian.
3.4.4
Một ống dài hơn
Đây là một ví dụ khác:
$ cat myfile.txt | sort | uniq | wc -l
Chúng ta dùng cat để cung cấp nội dung của myfile.txt cho câu lệnh sort. Khi
sort
nhận được đầu vào, nó sắp xếp một dòng vào theo thứ tự bảng chữ cái, và gửi đầu ra
tới uniq. uniq xóa bỏ mọi dòng trùng nhau (nhân tiện, nó yêu cầu đầu vào phải được sắp
xếp) gửi dữ liệu ra đã lọc tới wc -l. Chúng ta đã thấy câu lệnh wc ở trên, nhưng không có
tùy chọn nào. Khi đưa tùy chọn -l nó chỉ in ra số dòng của đầu vào, thay vì in cả số từ và
ký tự. Bạn sẽ thấy rằng ống này sẽ in ra số các dòng "có một không hai" (không có bản sao)
trong một tệp văn bản. Thử tạo ra vài tệp thử nghiệm với trình soạn thảo ưa thích và dùng
ống này để xem kết quả thu được.