<Trước | Nội dung | Tiếp theo>
mèo - Tập tin ghép nối
làm sao lệnh đọc một hoặc nhiều tệp và sao chép chúng sang đầu ra tiêu chuẩn như sau:
con mèo [tập tin...]
con mèo [tập tin...]
Trong hầu hết các trường hợp, bạn có thể nghĩ đến làm sao tương tự như LOẠI lệnh trong DOS. Bạn có thể sử dụng nó để hiển thị các tập tin mà không cần phân trang, ví dụ:
[tôi @ linuxbox ~] $ mèo ls-output.txt
[tôi @ linuxbox ~] $ mèo ls-output.txt
sẽ hiển thị nội dung của tập tin ls-output.txt. làm sao thường được sử dụng để hiển thị các tập tin văn bản ngắn. Từ làm sao có thể chấp nhận nhiều tệp làm đối số, nó cũng có thể được sử dụng để nối các tệp lại với nhau. Giả sử chúng tôi đã tải xuống một tệp lớn đã được chia thành nhiều phần (các tệp đa phương tiện thường được chia theo cách này trên Usenet) và chúng tôi muốn nối chúng lại với nhau. Nếu các tập tin được đặt tên:
phim.mpeg.001 phim.mpeg.002 ... phim.mpeg.099
chúng ta có thể nối chúng lại với nhau bằng lệnh này:
phim mèo.mpeg.0* > phim.mpeg
phim mèo.mpeg.0* > phim.mpeg
Vì các ký tự đại diện luôn mở rộng theo thứ tự được sắp xếp nên các đối số sẽ được sắp xếp theo đúng thứ tự.
Tất cả điều này đều tốt, nhưng điều này có liên quan gì đến đầu vào tiêu chuẩn? Chưa có gì, nhưng hãy thử cái gì khác. Điều gì xảy ra nếu chúng ta nhập “cat” mà không có đối số:
[tôi @ linuxbox ~] $ làm sao
[tôi @ linuxbox ~] $ làm sao
Chẳng có gì xảy ra cả, nó cứ ngồi đó như bị treo cổ. Có vẻ như vậy nhưng nó thực sự đang làm chính xác những gì nó phải làm.
If làm sao không được cung cấp bất kỳ đối số nào, nó đọc từ đầu vào tiêu chuẩn và vì đầu vào tiêu chuẩn theo mặc định được gắn vào bàn phím nên nó đang chờ chúng ta gõ nội dung nào đó! Hãy thử thêm văn bản sau và nhấn Enter:
Chuyển hướng đầu vào chuẩn
[tôi @ linuxbox ~] $ làm sao
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
[tôi @ linuxbox ~] $ làm sao
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Tiếp theo, gõ một Ctrl-d (tức là giữ phím Ctrl và nhấn “d”) để nói làm sao rằng nó đã đạt đến phần cuối của tập tin (EOF) trên đầu vào tiêu chuẩn:
[tôi @ linuxbox ~] $ làm sao
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
[tôi @ linuxbox ~] $ làm sao
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Trong trường hợp không có đối số tên tệp, làm sao sao chép đầu vào tiêu chuẩn thành đầu ra tiêu chuẩn, vì vậy chúng ta thấy dòng văn bản của mình được lặp lại. Chúng ta có thể sử dụng hành vi này để tạo các tệp văn bản ngắn. Giả sử chúng ta muốn tạo một tệp có tên “lazy_dog.txt” chứa văn bản trong ví dụ của chúng ta. Chúng tôi sẽ làm điều này:
[tôi @ linuxbox ~] $ con mèo > lười_dog.txt
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
[tôi @ linuxbox ~] $ con mèo > lười_dog.txt
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Nhập lệnh theo sau là văn bản chúng ta muốn đặt vào tệp. Nhớ gõ Ctrl-d cuối cùng. Bằng cách sử dụng dòng lệnh, chúng tôi đã triển khai trình xử lý văn bản ngu ngốc nhất thế giới! Để xem kết quả của chúng tôi, chúng tôi có thể sử dụng làm sao để sao chép lại tập tin vào thiết bị xuất chuẩn:
[tôi @ linuxbox ~] $ mèo lười_dog.txt
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
[tôi @ linuxbox ~] $ mèo lười_dog.txt
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Bây giờ chúng ta biết làm thế nào làm sao chấp nhận đầu vào tiêu chuẩn, ngoài các đối số tên tệp, hãy thử chuyển hướng đầu vào tiêu chuẩn:
[tôi @ linuxbox ~] $ mèo < lười_dog.txt
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
[tôi @ linuxbox ~] $ mèo < lười_dog.txt
Con cáo nâu nhanh nhẹn nhảy qua thân con chó lười.
Sử dụng toán tử chuyển hướng “<”, chúng ta thay đổi nguồn đầu vào tiêu chuẩn từ bàn phím sang tệp lười_dog.txt. Chúng tôi thấy rằng kết quả giống như việc truyền một đối số tên tệp. Điều này không đặc biệt hữu ích so với việc truyền đối số tên tệp, nhưng nó dùng để chứng minh việc sử dụng tệp làm nguồn đầu vào tiêu chuẩn. Các lệnh khác tận dụng tốt hơn đầu vào tiêu chuẩn, như chúng ta sẽ sớm thấy.
Trước khi chúng ta tiếp tục, hãy xem trang man để biết làm sao, vì nó có một số tùy chọn thú vị.
<Trước | Nội dung | Tiếp theo>