<Trước | Nội dung | Tiếp theo>
Tuy nhiên, vì Linux là một hệ thống linh hoạt, các cài đặt mặc định này không nhất thiết phải được áp dụng. Đầu ra tiêu chuẩn, ví dụ, trên một máy chủ được giám sát chặt chẽ trong một môi trường lớn có thể là một máy in.
5.1.2. Các toán tử chuyển hướng
5.1.2.1. Chuyển hướng đầu ra với> và |
Đôi khi bạn sẽ muốn đặt đầu ra của một lệnh trong một tệp hoặc bạn có thể muốn đưa ra một lệnh khác trên đầu ra của một lệnh. Đây được gọi là đầu ra chuyển hướng. Chuyển hướng được thực hiện bằng cách sử dụng ">" (ký hiệu lớn hơn) hoặc sử dụng "|" (pipe) toán tử gửi đầu ra tiêu chuẩn của một lệnh này đến một lệnh khác dưới dạng đầu vào tiêu chuẩn.
Như chúng ta đã thấy trước đây, làm sao lệnh nối các tệp và đặt tất cả chúng lại với nhau thành đầu ra tiêu chuẩn. Bằng cách chuyển hướng đầu ra này đến một tệp, tên tệp này sẽ được tạo - hoặc ghi đè nếu nó đã tồn tại, vì vậy hãy cẩn thận.
nancy: ~> thử nghiệm mèo1
một vài từ
nancy: ~> thử nghiệm mèo2
một số từ khác
nancy: ~> cat test1 test2> test3
nancy: ~> thử nghiệm mèo3
một vài từ
nancy: ~> thử nghiệm mèo1
một vài từ
nancy: ~> thử nghiệm mèo2
một số từ khác
nancy: ~> cat test1 test2> test3
nancy: ~> thử nghiệm mèo3
một vài từ
một số khác từ
Đừng ghi đè lên!
Hãy cẩn thận để không ghi đè lên các tệp hiện có (quan trọng) khi chuyển hướng đầu ra. Nhiều shell, bao gồm cả Bash, có một tính năng tích hợp để bảo vệ bạn khỏi rủi ro đó: người ăn bám. Xem các trang Thông tin để biết thêm thông tin. Trong Bash, bạn muốn thêm định -o người ăn bám lệnh cho bạn .bashrc tập tin cấu hình để ngăn việc ghi đè lên các tập tin một cách tình cờ.
Chuyển hướng "không có gì" đến một tệp hiện có cũng giống như việc làm trống tệp:
nancy: ~> danh sách ls -l -rw-rw-r-- 1 nancy | nancy | 117 2 tháng 18 09:XNUMX danh sách |
nancy: ~> > danh sách | ||
nancy: ~> danh sách ls -l -rw-rw-r-- 1 nancy | nancy | 0 4 tháng 12 01:XNUMX danh sách |
Quá trình này được gọi là cắt bớt.
Việc chuyển hướng tương tự đến một tệp không tồn tại sẽ tạo ra một tệp trống mới với tên đã cho:
nancy: ~> ls -l danh sách mới
ls: newlist: Không có tệp hoặc thư mục nào như vậy
nancy: ~> > danh sách mới
nancy: ~> ls -l danh sách mới
ls: newlist: Không có tệp hoặc thư mục nào như vậy
nancy: ~> > danh sách mới
nancy: ~> ls -l danh sách mới
-rw-rw-r-- 1 nancy
0 tháng 4 12 05:XNUMX danh sách mới
nancy: ~> ls -l danh sách mới
-rw-rw-r-- 1 nancy
Chương 7 cung cấp thêm một số ví dụ về việc sử dụng loại chuyển hướng này. Một số ví dụ sử dụng đường ống lệnh:
Để tìm một từ trong một số văn bản, hãy hiển thị tất cả các dòng khớp với "pattern1" và loại trừ các dòng cũng khớp với "pattern2" khỏi được hiển thị:
grep mẫu1 hồ sơ | tiếng kêu -v mẫu2
Để hiển thị đầu ra của một thư mục liệt kê từng trang một:
ls -các | ít hơn
Để tìm một tệp trong một thư mục:
ls -l | tiếng kêu phần_of_file_name
5.1.2.2. Chuyển hướng đầu vào
Trong một trường hợp khác, bạn có thể muốn một tệp làm đầu vào cho một lệnh mà thông thường sẽ không chấp nhận tệp dưới dạng một tùy chọn. Việc chuyển hướng đầu vào này được thực hiện bằng cách sử dụng toán tử "<" (ký hiệu nhỏ hơn).
Dưới đây là ví dụ về việc gửi tệp cho ai đó, sử dụng chuyển hướng đầu vào.
andy: ~> thư mike@somewhere.org < làm
Nếu người dùng làm biếng tồn tại trên hệ thống, bạn không cần phải nhập địa chỉ đầy đủ. Nếu bạn muốn liên hệ với ai đó trên Internet, hãy nhập địa chỉ đủ điều kiện làm đối số thư.
Điều này đọc khó hơn một chút so với con mèo của người mới bắt đầu hồ sơ | thư một người nào đó, nhưng tất nhiên đó là một cách sử dụng các công cụ có sẵn một cách thanh lịch hơn nhiều.
5.1.2.3. Kết hợp chuyển hướng
Ví dụ sau kết hợp chuyển hướng đầu vào và đầu ra. Tập tin văn bản.txt lần đầu tiên được kiểm tra lỗi chính tả và đầu ra được chuyển hướng đến tệp nhật ký lỗi:
Đánh vần văn bản.txt > lỗi. nhật ký
Lệnh sau liệt kê tất cả các lệnh mà bạn có thể thực hiện để kiểm tra tệp khác khi sử dụng ít:
mike: ~> ít hơn - trợ giúp | grep -i kiểm tra
: e [file] Kiểm tra một tệp mới.
: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.
: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.
: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.
mike: ~> ít hơn - trợ giúp | grep -i kiểm tra
: e [file] Kiểm tra một tệp mới.
: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.
: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.
: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.
Sản phẩm -i tùy chọn được sử dụng cho các tìm kiếm không phân biệt chữ hoa chữ thường - hãy nhớ rằng hệ thống UNIX rất phân biệt chữ hoa chữ thường. Nếu bạn muốn lưu đầu ra của lệnh này để tham khảo trong tương lai, hãy chuyển hướng đầu ra đến một tệp:
mike: ~> ít hơn - trợ giúp | grep -i kiểm tra> kiểm tra-tệp-trong-ít hơn
mike: ~> mèo kiểm tra-tập-tin-trong-ít
: e [file] Kiểm tra một tệp mới.
: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.
: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.
: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.
mike: ~> ít hơn - trợ giúp | grep -i kiểm tra> kiểm tra-tệp-trong-ít hơn
mike: ~> mèo kiểm tra-tập-tin-trong-ít
: e [file] Kiểm tra một tệp mới.
: n * Kiểm tra (N-th) tệp tiếp theo từ dòng lệnh.
: p * Kiểm tra (N-th) tệp trước đó từ dòng lệnh.
: x * Kiểm tra tệp đầu tiên (hoặc N-th) từ dòng lệnh.
Đầu ra của một lệnh có thể được ghép vào lệnh khác hầu như nhiều lần tùy thích, miễn là các lệnh này thường đọc đầu vào từ đầu vào tiêu chuẩn và ghi đầu ra vào đầu ra tiêu chuẩn.
Đôi khi chúng không, nhưng sau đó có thể có các tùy chọn đặc biệt hướng dẫn các lệnh này hoạt động theo các định nghĩa tiêu chuẩn; vì vậy hãy đọc tài liệu (trang man và Info) về các lệnh bạn sử dụng nếu bạn gặp lỗi.
Một lần nữa, hãy đảm bảo rằng bạn không sử dụng tên của các tệp hiện có mà bạn vẫn cần. Chuyển hướng đầu ra đến các tệp hiện có sẽ thay thế nội dung của các tệp đó.
5.1.2.4. Toán tử >>
Thay vì ghi đè dữ liệu tệp, bạn cũng có thể nối văn bản vào tệp hiện có bằng hai dấu lớn hơn tiếp theo:
Ví dụ:
mike: ~> danh sách mong ước của mèo
nhiều tiền hơn ít công việc hơn
mike: ~> ngày >> danh sách mong muốn
mike: ~> danh sách mong ước của mèo
nhiều tiền hơn ít công việc hơn
mike: ~> ngày >> danh sách mong muốn
mike: ~> danh sách mong ước của mèo
nhiều tiền hơn ít công việc hơn
Thứ Hai 28 tháng 20 23:07:2002 CET XNUMX
mike: ~> danh sách mong ước của mèo
<Trước | Nội dung | Tiếp theo>